Ë
    ÇqjÑ  ã            	       ó¸   — d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	m
Z
 ddlmZ ddlmZmZ ddlmZ dd	„Zd
e	e   dedee   de
e   fd„Zdededee   fd„Zy)zBLogic that powers autocompletion installed by ``pip completion``.
é    N)Úchain)ÚAnyÚIterableÚListÚOptional)Úcreate_main_parser)Úcommands_dictÚcreate_command)Úget_default_environmentÚreturnc            
      ó	  — dt         j                  vryt         j                  j                  d«      rt         j                  j                  d«      syt         j                  d   j                  «       dd } t	        t         j                  d   «      }	 | |dz
     }t        «       }t        t        «      }g }d}| D ]
  }||v sŒ|} n |��j|dk(  rt        j                  d«       |j                  d«       xr |d	v }|r˜t        «       }	|j                  «       }
|	j                  d
¬«      D �cg c]:  }|j                  j                  |
«      r|j                  | dd vr|j                  ‘Œ< }}|r'|D ]  }t!        |«       Œ t        j                  d«       |j                  d«       xr |dk(  }|r1t#        |d«      D ]  }t!        |«       Œ t        j                  d«       t%        |«      }|j&                  j(                  D ]V  }|j*                  t,        j.                  k7  sŒ!||j0                  |j2                  z   D �cg c]  }||j4                  f‘Œ c}z  }ŒX | d|dz
   D �cg c]  }|j                  d«      d   ‘Œ }}|D ��cg c]  \  }}||vsŒ||f‘Œ }}}|D ��cg c]  \  }}|j                  |«      sŒ||f‘Œ }}}t7        | ||j&                  j(                  «      }|rt#        ||«      }|D �cg c]  }|df‘Œ }}|D ]'  }|d   }|d   r|d   dd dk(  r|dz  }t!        |«       Œ) �n|j8                  D �cg c]  }|j:                  ‘Œ }}|j=                  |j:                  «       t?        j@                  |«      }|j                  d«      rB|D ]<  }|j*                  t,        j.                  k7  sŒ!||j0                  |j2                  z   z  }Œ> n$t7        | ||«      }|rt        t#        ||«      «      }t!        djC                  |D �cg c]  }|j                  |«      sŒ|‘Œ c}«      «       t        j                  d«       y# t
        $ r d}Y �ŒÁw xY wc c}w c c}w c c}w c c}}w c c}}w c c}w c c}w c c}w )z:Entry Point for completion of main and subcommand options.ÚPIP_AUTO_COMPLETENÚ
COMP_WORDSÚ
COMP_CWORDé   Ú ÚhelpÚ-)ÚshowÚ	uninstallT)Ú
local_onlyÚinstallÚpathÚ=r   é   z--Ú )"ÚosÚenvironÚgetÚsplitÚintÚ
IndexErrorr   Úlistr	   ÚsysÚexitÚ
startswithr   ÚlowerÚiter_installed_distributionsÚcanonical_nameÚprintÚauto_complete_pathsr
   ÚparserÚoption_list_allr   ÚoptparseÚSUPPRESS_HELPÚ
_long_optsÚ_short_optsÚnargsÚget_path_completion_typeÚoption_groupsÚoption_listÚappendr   Úfrom_iterableÚjoin)ÚcwordsÚcwordÚcurrentr,   ÚsubcommandsÚoptionsÚsubcommand_nameÚwordÚshould_list_installedÚenvÚlcÚdistÚ	installedÚshould_list_installablesr   Ú
subcommandÚoptÚopt_strÚxÚ	prev_optsÚvÚkÚcompletion_typeÚpathsÚoptionÚ	opt_labelÚiÚoptsÚflattened_optss                                úa/var/www/html/kelly-backend/venv/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.pyÚautocompleterU      s\  € ð ¤"§*¡*Ñ,Øô �:‰:�>‰>˜,Ô'¬r¯z©z¯~©~¸lÔ/KØÜ�Z‰Z˜Ñ%×+Ñ+Ó-¨a¨bÐ1€FÜ”—
‘
˜<Ñ(Ó)€EðØ˜ ™Ñ#ˆô  Ó!€FÜ”}Ó%€KØ€Gð &*€OÛˆØ�;ÒØ"ˆOÙð ð
 Ñ"à˜fÒ$Ü�H‰H�QŒKà$+×$6Ñ$6°sÓ$;Ð ;ò !
Àð T
ð A
Ðñ !Ü)Ó+ˆCØ—‘“ˆBð  ×<Ñ<ÈÐ<ÔMóáM�DØ×&Ñ&×1Ñ1°"Ô5Ø×'Ñ'¨v°a°b¨zÑ9ð ×#Ó#ØMð ð ñ Û%�DÜ˜$•Kð &ä—‘˜”ð ×"Ñ" 3Ó'Ð'ÒH¨O¸yÑ,Hð 	!ñ $Ü+¨G°VÖ<�Ü�d•ð =ä�H‰H�QŒKä# OÓ4ˆ
à×$Ñ$×4Ô4ˆCØ�x‰xœ8×1Ñ1Ó1ØØ8;¿¹ÈÏÉÒ8XóÙ8X¨W�W˜cŸi™iÒ(Ð8Xññ ‘ð 5ð /5°Q¸À¹Ñ.CÓDÑ.C¨�Q—W‘W˜S“\ !“_Ð.Cˆ	ÐDÙ(/ÔF©™f˜q !°1¸IÒ3E�A�q’6¨ˆÑFá&-ÔG¡g™d˜a °·±¸gÕ1F�A�q’6 gˆÑGä2ØØØ×Ñ×-Ñ-ó
ˆñ Ü'¨°ÓAˆEÙ-2Ó3©U T˜˜a’y¨UˆGÐ3ÛˆFØ˜q™	ˆIà�aŠy˜V A™Y r¨˜]¨dÒ2Ø˜SÑ �	Ü�)Õò ð (.×';Ò';Ó<Ñ'; !�—“Ð';ˆÐ<Ø�‰�F×&Ñ&Ô'Ü×,Ñ,¨TÓ2ˆØ×Ñ˜cÔ"Û%�Ø—8‘8œx×5Ñ5Ó5Ø 3§>¡>°C·O±OÑ#CÑC‘Kñ &ô
 7°v¸uÀnÓUˆOÙÜ"Ô#6°wÀÓ#PÓQ�äˆc�h‰h¡;ÓH¡;˜a°!·,±,¸wÕ2Gš ;ÑHÓIÔJÜ‡H�HˆQ…Køô{ ò Ø‹ðüò4ùò0ùò
 EùÛFùãGùò 4ùò =ùò IsT   ÂQ Ä-?Q!ÉQ&É'Q+Ê	Q0ÊQ0Ê$Q6Ê>Q6Ë:Q<ÍRÐRÐ*RÑQÑQr9   r:   rR   c                 ó�  — |dk  s| |dz
     j                  d«      sy|D ]¤  }|j                  t        j                  k(  rŒ!t	        |«      j                  d«      D ]g  }| |dz
     j                  d«      d   |k(  sŒ!|j                  r,t        d„ |j                  j                  d«      D «       «      sŒY|j                  c c S  Œ¦ y)aL  Get the type of path completion (``file``, ``dir``, ``path`` or None)

    :param cwords: same as the environmental variable ``COMP_WORDS``
    :param cword: same as the environmental variable ``COMP_CWORD``
    :param opts: The available options to check
    :return: path completion type (``file``, ``dir``, ``path`` or None)
    r   r   NÚ/r   r   c              3   ó$   K  — | ]  }|d v –— Œ
 y­w))r   ÚfileÚdirN© )Ú.0rI   s     rT   Ú	<genexpr>z+get_path_completion_type.<locals>.<genexpr>�   s   è ø€ ð *Ù:P°Q�AÐ0Ô0Ñ:Pùs   ‚)r&   r   r.   r/   Ústrr    ÚmetavarÚany)r9   r:   rR   rG   Úos        rT   r3   r3   |   s¶   € ð ˆq‚y˜˜u q™yÑ)×4Ñ4°SÔ9ØÛˆØ�8‰8”x×-Ñ-Ò-ØÜ�S“—‘ Ö$ˆAØ�e˜a‘iÑ ×&Ñ& sÓ+¨AÑ.°!Ó3Ø—{’{¤cñ *Ø:=¿+¹+×:KÑ:KÈCÔ:Pó*õ 'ð Ÿ;™;Ô&ñ %ð ð ó    r;   rM   c              #   óò  ‡K  — t         j                  j                  | «      \  }Št         j                  j                  |«      }t        j                  |t         j
                  «      syt         j                  j                  ‰«      Šˆfd„t        j                  |«      D «       }|D ]Ê  }t         j                  j                  ||«      }t         j                  j                  t         j                  j                  ||«      «      }|dk7  r$t         j                  j                  |«      r|–— Œ‰t         j                  j                  |«      sŒ©t         j                  j                  |d«      –— ŒÌ y­w)at  If ``completion_type`` is ``file`` or ``path``, list all regular files
    and directories starting with ``current``; otherwise only list directories
    starting with ``current``.

    :param current: The word to be completed
    :param completion_type: path completion type(``file``, ``path`` or ``dir``)
    :return: A generator of regular files and/or directories
    Nc              3   ó€   •K  — | ]5  }t         j                  j                  |«      j                  ‰«      sŒ2|–— Œ7 y ­w)N)r   r   Únormcaser&   )r\   rI   Úfilenames     €rT   r]   z&auto_complete_paths.<locals>.<genexpr>¤   s2   øè ø€ ð Ù+ˆa¬r¯w©w×/?Ñ/?ÀÓ/B×/MÑ/MÈhÕ/WŒÑ+ùs   ƒ3>·>rZ   r   )r   r   r    ÚabspathÚaccessÚR_OKre   Úlistdirr8   ÚisfileÚisdir)	r;   rM   Ú	directoryÚcurrent_pathÚ	file_listÚfrG   Ú	comp_filerf   s	           @rT   r+   r+   ”   sù   øè ø€ ô Ÿ'™'Ÿ-™-¨Ó0Ñ€IˆxÜ—7‘7—?‘? 9Ó-€Lä�9‰9�\¤2§7¡7Ô+ØÜ�w‰w×Ñ Ó)€HóÜ—:‘:˜lÔ+ó€Ió ˆÜ�g‰g�l‰l˜<¨Ó+ˆÜ—G‘G×$Ñ$¤R§W¡W§\¡\°)¸QÓ%?Ó@ˆ	ð ˜eÒ#¬¯©¯©°sÔ(;Ø‹OÜ�W‰W�]‰]˜3ÕÜ—'‘'—,‘,˜y¨"Ó-Ó-ñ ùs   ƒEE7Å%E7)r   N)Ú__doc__r.   r   r$   Ú	itertoolsr   Útypingr   r   r   r   Úpip._internal.cli.main_parserr   Úpip._internal.commandsr	   r
   Úpip._internal.metadatar   rU   r^   r!   r3   r+   r[   rb   rT   Ú<module>rx      s}   ðñó Û 	Û 
Ý ß 0Ó 0å <ß @Ý :ójðZØ�‰IðØ!ðØ)1°#©ðàˆc�]óð0. ð .°sð .¸xÈ¹}ô .rb   