§
    è phÐ  ã            	       óÒ   — 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dS )zALogic 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dS t           j                             d¦  «        rt           j                             d¦  «        sdS t           j        d                              ¦   «         dd…         Št	          t           j        d         ¦  «        } 	 ‰| dz
           Šn# t
          $ r dŠY nw xY wt          ¦   «         }t          t          ¦  «        }g }d}‰D ]
}||v r|} nŒ|��ô|dk    rt          j
        d¦  «         ‰                     d¦  «         o|d	v }|rot          ¦   «         }‰                     ¦   «         Šˆˆfd
„|                     d¬¦  «        D ¦   «         }|r(|D ]}	t          |	¦  «         Œt          j
        d¦  «         ‰                     d¦  «         o|dk    }
|
r6t!          ‰d¦  «        D ]}t          |¦  «         Œt          j
        d¦  «         t#          |¦  «        }|j        j        D ]5Š‰j        t*          j        k    r|ˆfd„‰j        ‰j        z   D ¦   «         z  }Œ6d„ ‰d| dz
  …         D ¦   «         Šˆfd„|D ¦   «         }ˆfd„|D ¦   «         }t3          ‰| |j        j        ¦  «        }|rt!          ‰|¦  «        }d„ |D ¦   «         }|D ]:}|d         }|d         r|d         dd…         dk    r|dz  }t          |¦  «         Œ;nßd„ |j        D ¦   «         }|                     |j        ¦  «         t;          j        |¦  «        }‰                     d¦  «        r-|D ])Š‰j        t*          j        k    r|‰j        ‰j        z   z  }Œ*n0t3          ‰| |¦  «        }|rt          t!          ‰|¦  «        ¦  «        }t          d                     ˆfd„|D ¦   «         ¦  «        ¦  «         t          j
        d¦  «         dS )z:Entry Point for completion of main and subcommand options.ÚPIP_AUTO_COMPLETENÚ
COMP_WORDSÚ
COMP_CWORDé   Ú Úhelpú-)ÚshowÚ	uninstallc                 ót   •— g | ]4}|j                              ‰¦  «        ¯|j         ‰d d…         v¯-|j         ‘Œ5S )r   N)Úcanonical_nameÚ
startswith)Ú.0ÚdistÚcwordsÚlcs     €€úmC:\Users\Daniel\PycharmProjects\Portfolio_Website\.venv\Lib\site-packages\pip\_internal\cli\autocompletion.pyú
<listcomp>z autocomplete.<locals>.<listcomp>5   s]   ø€ ð ð ð àØÔ&×1Ò1°"Ñ5Ô5ðð Ô'¨v°a°b°b¬zÐ9ð	ØÔ#ðð ð ó    T)Ú
local_onlyÚinstallÚpathc                 ó"   •— g | ]}|‰j         f‘ŒS © )Únargs)r   Úopt_strÚopts     €r   r   z autocomplete.<locals>.<listcomp>M   s-   ø€ ð ð ð Ø-4�W˜cœiÐ(ðð ð r    c                 óD   — g | ]}|                      d ¦  «        d         ‘ŒS )ú=r   )Úsplit©r   Úxs     r   r   z autocomplete.<locals>.<listcomp>R   s&   € ÐDÐDÐD¨�Q—W’W˜S‘\”\ !”_ÐDÐDÐDr    c                 ó&   •— g | ]\  }}|‰v¯	||f‘ŒS r%   r%   )r   r-   ÚvÚ	prev_optss      €r   r   z autocomplete.<locals>.<listcomp>S   s+   ø€ ÐFÐFÐF™f˜q !°1¸IÐ3EÐF�A�q�6ÐFÐFÐFr    c                 óH   •— g | ]\  }}|                      ‰¦  «        ¯||f‘ŒS r%   ©r   )r   Úkr/   Úcurrents      €r   r   z autocomplete.<locals>.<listcomp>U   s2   ø€ ÐGÐGÐG™d˜a °·²¸gÑ1FÔ1FÐG�A�q�6ÐGÐGÐGr    c                 ó   — g | ]}|d f‘ŒS )r   r%   )r   r#   s     r   r   z autocomplete.<locals>.<listcomp>`   s   € Ð3Ð3Ð3 T˜˜a�yÐ3Ð3Ð3r    r   é   z--r*   c                 ó   — g | ]	}|j         ‘Œ
S r%   )Úoption_list)r   Úis     r   r   z autocomplete.<locals>.<listcomp>j   s   € Ð<Ð<Ð< !�”Ð<Ð<Ð<r    ú c                 ó>   •— g | ]}|                      ‰¦  «        ¯|‘ŒS r%   r2   )r   r-   r4   s     €r   r   z autocomplete.<locals>.<listcomp>w   s*   ø€ ÐHÐHÐH˜a°!·,²,¸wÑ2GÔ2GÐH˜ÐHÐHÐHr    ) ÚosÚenvironÚgetr+   ÚintÚ
IndexErrorr   Úlistr	   ÚsysÚexitr   r   ÚlowerÚiter_installed_distributionsÚprintÚauto_complete_pathsr
   ÚparserÚoption_list_allr   ÚoptparseÚSUPPRESS_HELPÚ
_long_optsÚ_short_optsÚget_path_completion_typeÚoption_groupsÚappendr8   r   Úfrom_iterableÚjoin)ÚcwordrH   ÚsubcommandsÚoptionsÚsubcommand_nameÚwordÚshould_list_installedÚenvÚ	installedr   Úshould_list_installablesr#   Ú
subcommandÚcompletion_typeÚpathsÚoptionÚ	opt_labelÚoptsÚflattened_optsr4   r   r   r(   r0   s                      @@@@@r   Úautocompleterc      sÂ  øøøøø€ ð ¥"¤*Ð,ð Øˆõ Œ:�>Š>˜,Ñ'Ô'ð ­r¬z¯~ª~¸lÑ/KÔ/Kð ØˆÝŒZ˜Ô%×+Ò+Ñ-Ô-¨a¨b¨bÔ1€FÝ•”
˜<Ô(Ñ)Ô)€EðØ˜ ™Ô#ˆˆøÝð ð ð Øˆˆˆðøøøõ  Ñ!Ô!€FÝ•}Ñ%Ô%€KØ€Gð &*€OØð ð ˆØ�;Ðð 	Ø"ˆOØˆEð	ð ñ NKà˜fÒ$ð 	ÝŒH�Q‰KŒKˆKà$+×$6Ò$6°sÑ$;Ô$;Ð ;ð !
Àð T
ð A
Ðð !ð 	Ý)Ñ+Ô+ˆCØ—’‘”ˆBðð ð ð ð à×<Ò<ÈÐ<ÑMÔMðñ ô ˆIð ð Ø%ð  ð  �DÝ˜$‘K”K�K�KÝ”˜‘”�ð ×"Ò" 3Ñ'Ô'Ð'ÐH¨O¸yÒ,Hð 	!ð $ð 	Ý+¨G°VÑ<Ô<ð ð �Ý�d‘”��ÝŒH�Q‰KŒKˆKå# OÑ4Ô4ˆ
àÔ$Ô4ð 	ð 	ˆCØŒx�8Ô1Ò1ð Øð ð ð ð Ø8;¼ÈÌÑ8Xðñ ô ñ �øð
 EÐD¨f°Q¸À¹°]Ô.CÐDÑDÔDˆ	ØFÐFÐFÐF¨ÐFÑFÔFˆàGÐGÐGÐG gÐGÑGÔGˆå2ØØØÔÔ-ñ
ô 
ˆð ð 	4Ý'¨°ÑAÔAˆEØ3Ð3¨UÐ3Ñ3Ô3ˆGØð 	ð 	ˆFØ˜qœ	ˆIà�aŒyð !˜V AœY r¨ rœ]¨dÒ2ð !Ø˜SÑ �	Ý�)ÑÔÐÐð	ð =Ð< vÔ';Ð<Ñ<Ô<ˆØ�Š�FÔ&Ñ'Ô'Ð'ÝÔ,¨TÑ2Ô2ˆØ×Ò˜cÑ"Ô"ð 	RØ%ð Dð D�Ø”8�xÔ5Ò5ð DØ 3¤>°C´OÑ#CÑC�KøðDõ
 7°v¸uÀnÑUÔUˆOØð RÝ"Õ#6°wÀÑ#PÔ#PÑQÔQ�åˆc�hŠhÐHÐHÐHÐH ;ÐHÑHÔHÑIÔIÑJÔJÐJÝ„HˆQ�K„K€K€K€Ks   Â"B. Â.B=Â<B=r   rS   ra   c                 ó¨  — |dk     s| |dz
                                 d¦  «        sdS |D ]¨}|j        t          j        k    rŒt	          |¦  «                             d¦  «        D ]m}| |dz
                                d¦  «        d         |k    rC|j        r1t          d„ |j                             d¦  «        D ¦   «         ¦  «        r|j        c c S ŒnŒ©dS )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)
    r6   r   Nú/r*   r   c              3   ó   K  — | ]}|d v V — Œ	dS ))r#   ÚfileÚdirNr%   r,   s     r   ú	<genexpr>z+get_path_completion_type.<locals>.<genexpr>Œ   s9   è è € ð *ð *Ø56�AÐ0Ð0ð*ð *ð *ð *ð *ð *r    )r   r   rJ   rK   Ústrr+   ÚmetavarÚany)r   rS   ra   r(   Úos        r   rN   rN   {   s  € ð ˆq‚yð ˜˜u q™yÔ)×4Ò4°SÑ9Ô9ð ØˆtØð 'ð 'ˆØŒ8•xÔ-Ò-ð 	ØÝ�S‘”—’ Ñ$Ô$ð 	'ð 	'ˆAØ�e˜a‘iÔ ×&Ò& sÑ+Ô+¨AÔ.°!Ò3ð 'Ø”{ð '¥cð *ð *Ø:=¼+×:KÒ:KÈCÑ:PÔ:Pð*ñ *ô *ñ 'ô 'ð 'ð œ;Ð&Ð&Ð&Ð&Ð&øð	'ð ˆ4r    r4   r]   c              #   óè  ‡K  — t           j                             | ¦  «        \  }Št           j                             |¦  «        }t          j        |t           j        ¦  «        sdS t           j                             ‰¦  «        Šˆfd„t          j        |¦  «        D ¦   «         }|D ]Ê}t           j                             ||¦  «        }t           j                             t           j                             ||¦  «        ¦  «        }|dk    r$t           j         	                    |¦  «        r|V — Œ‰t           j         
                    |¦  «        r"t           j                             |d¦  «        V — ŒËdS )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  — | ]8}t           j                             |¦  «                             ‰¦  «        ¯4|V — Œ9d S )N)r<   r#   Únormcaser   )r   r-   Úfilenames     €r   ri   z&auto_complete_paths.<locals>.<genexpr>£   sZ   øè è € ð ð Ø­r¬w×/?Ò/?ÀÑ/BÔ/B×/MÒ/MÈhÑ/WÔ/WðØ	ðð ð ð ð ð r    rh   r   )r<   r#   r+   ÚabspathÚaccessÚR_OKrp   ÚlistdirrR   ÚisfileÚisdir)	r4   r]   Ú	directoryÚcurrent_pathÚ	file_listÚfr(   Ú	comp_filerq   s	           @r   rG   rG   “   sM  øè è € õ œ'Ÿ-š-¨Ñ0Ô0Ñ€IˆxÝ”7—?’? 9Ñ-Ô-€LåŒ9�\¥2¤7Ñ+Ô+ð ØˆÝŒw×Ò Ñ)Ô)€Hðð ð ð Ý”:˜lÑ+Ô+ðñ ô €Ið ð 	.ð 	.ˆÝŒg�lŠl˜<¨Ñ+Ô+ˆÝ”G×$Ò$¥R¤W§\¢\°)¸QÑ%?Ô%?Ñ@Ô@ˆ	ð ˜eÒ#ð 	.­¬¯ª°sÑ(;Ô(;ð 	.ØˆOˆOˆOˆOÝŒW�]Š]˜3ÑÔð 	.Ý”'—,’,˜y¨"Ñ-Ô-Ð-Ð-Ð-øð	.ð 	.r    )r   N)Ú__doc__rJ   r<   rB   Ú	itertoolsr   Útypingr   r   r   r   Úpip._internal.cli.main_parserr   Úpip._internal.commandsr	   r
   Úpip._internal.metadatar   rc   rj   r?   rN   rG   r%   r    r   ú<module>rƒ      s(  ðØ GÐ Gà €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à <Ð <Ð <Ð <Ð <Ð <Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø :Ð :Ð :Ð :Ð :Ð :ðjð jð jð jðZØ�ŒIðØ!ðØ)1°#¬ðàˆc„]ðð ð ð ð0. ð .°sð .¸xÈ¼}ð .ð .ð .ð .ð .ð .r    