7i" dZddlZddlZddlZddlmZddlmZmZm Z m Z ddl m Z ddl mZmZddlmZdd Zd e ed ed eede efd ZdededeefdZy)zBLogic that powers autocompletion installed by ``pip completion``. N)chain)AnyIterableListOptional)create_main_parser) commands_dictcreate_command)get_default_environmentreturnc dtjvrytjdjdd}ttjd} ||dz }t }t t}g}d}|D] }||vs|}n|j|dk(rtjd|jd xr|d v}|rt} |j} | jd D cgc]:} | jj| r| j|ddvr | j<} } | r'| D] } t| tjd|jd xr|d k(} | r1t!|d D] }t|tjdt#|}|j$j&D]V}|j(t*j,k7s!||j.|j0zDcgc]}||j2fc}z }X|d|dz Dcgc]}|jdd}}|Dcgc]\}}||vs ||f}}}|Dcgc]\}}|j|s||f}}}t5|||j$j&}|rt!||}|Dcgc]}|df}}|D]'}|d}|dr|ddddk(r|dz }t|)n|j6Dcgc]}|j8}}|j;|j8t=j>|}|jdrB|D]<}|j(t*j,k7s!||j.|j0zz }>n$t5|||}|rt t!||}tdjA|Dcgc]}|j|s|c}tjdy#t$rd}YwxYwcc} wcc}wcc}wcc}}wcc}}wcc}wcc}wcc}w)z:Entry Point for completion of main and subcommand options.PIP_AUTO_COMPLETEN COMP_WORDS COMP_CWORDhelp-)show uninstallT) local_onlyinstallpath=rz-- )!osenvironsplitint IndexErrorrlistr sysexit startswithr loweriter_installed_distributionscanonical_nameprintauto_complete_pathsr parseroption_list_allroptparse SUPPRESS_HELP _long_opts _short_optsnargsget_path_completion_type option_groups option_listappendr from_iterablejoin)cwordscwordcurrentr+ subcommandsoptionssubcommand_namewordshould_list_installedenvlcdist installedshould_list_installablesr subcommandoptopt_strx prev_optsvkcompletion_typepathsoption opt_labelioptsflattened_optss i/mnt/ssd/data/python-lab/ChefSystem/venv/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py autocompleterTsC"**, ZZ % + + -ab 1F  <( )E# !F}%KG&*O ; "O  " f $ HHQK$+$6$6s$; ;! T A  !)+CB <<<M&&11"5''vabz9##I% D$K  ""3' ' HOy,H ! $+GV< d   HHQK#O4 $$44 Cxx81118;8X-4Wcii( /5Q.CDQWWS\!_D D(/Ffq!1I3EAq6FF&-Gdag1FAq6GG2      - -  'AE-23Tay3G3 Fq IayVAYr]d2S )   (.';';>COO#CCK D 7vunUO"#6w#PQ  chh;Ha!,,w2GHIJHHQK{ 40 EFG4=IsTP.?P"P'(P, P1P1%P7?P7; P=QQ +Q  PPr8r9rQc|dks||dz jdsy|D]}|jtjk(r!t |j dD]g}||dz j dd|k(s!|j r,td|j j dDsY|j ccSy)aLGet 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) rrN/rrc3$K|]}|dv yw))rfiledirN).0rHs rS z+get_path_completion_type..s*56A00*s)r%rr-r.strrmetavarany)r8r9rQrFos rSr2r2xs qyuqy)44S9' 88x-- - S$ 'Aeai &&s+A.!3{{c*:=++:K:KC:P*';;&  '' r:rLc#Ktjj|\}tjj|}tj|tj sytjj fdtj|D}|D]}tjj||}tjj tjj||}|dk7r$tjj|r|tjj|stjj|dyw)atIf ``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 Nc3K|]5}tjj|js2|7yw)N)rrnormcaser%)r[rHfilenames rSr\z&auto_complete_paths..s2rww/?/?/B/M/Mh/Ws3>>rYr) rrrabspathaccessR_OKrdlistdirr7isfileisdir) r:rL directory current_path file_listfrF comp_fileres @rSr*r*s''--0Ix77??9-L 99\277 +ww)H::l+I .ggll<+GG$$RWW\\)Q%?@  e #s(;O WW]]3 '',,y"- - .s EE7%E7)r N)__doc__r-rr# itertoolsrtypingrrrrpip._internal.cli.main_parserrpip._internal.commandsr r pip._internal.metadatar rTr]r r2r*rZrarSrws} 00<@:fR I!)1# c]0..s.x}.ra