Ë
    äO´j¹  ã                  ó”   — d Z ddlmZ ddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZmZ dd	„Z	 	 	 	 	 	 	 	 dd
„Zdd„Zy)zALogic that powers autocompletion installed by ``pip completion``.é    )ÚannotationsN)ÚIterable)Úchain)ÚAny)Úcreate_main_parser)Úcommands_dictÚcreate_commandc            
     óÈ	  ‡— 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 |��Â|dk(  rt        j                  d«       |j                  d«       xr |d	v }|r›d
dlm}  |«       }	|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.        j0                  k7  sŒ!||j2                  |j4                  z   D �cg c]  }||j6                  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‘Œ }}}t9        ‰| |j(                  j*                  «      }|rt%        ||«      }|D �cg c]  }|d
f‘Œ }}|D ]'  }|d
   }|d   r|d
   dd dk(  r|dz  }t#        |«       Œ) t;        ˆfd„|j=                  «       D «       «      �s8|j=                  «       D ]  }|j                  |«      sŒt#        |«       Œ! �n|j>                  D �cg c]  }|j@                  ‘Œ }}|jC                  |j@                  «       tE        jF                  |«      }|j                  d«      rB|D ]<  }|j,                  t.        j0                  k7  sŒ!||j2                  |j4                  z   z  }Œ> n$t9        ‰| |«      }|rt        t%        ||«      «      }t#        djI                  |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Ú	uninstallr   )Úget_default_environmentT)Ú
local_onlyÚinstallÚpathú=é   z--c              3  ó&   •K  — | ]  }|‰v –— Œ
 y ­w©N© )Ú.0ÚnameÚcwordss     €úw/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.pyú	<genexpr>zautocomplete.<locals>.<genexpr>o   s   øè ø€ ÒG d�4˜6”>ÑGùs   ƒú )%ÚosÚenvironÚgetÚsplitÚintÚ
IndexErrorr   Úlistr   ÚsysÚexitÚ
startswithÚpip._internal.metadatar   Ú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ÚanyÚhandler_mapÚoption_groupsÚoption_listÚappendr   Úfrom_iterableÚjoin)ÚcwordÚcurrentr3   ÚsubcommandsÚoptionsÚsubcommand_nameÚwordÚshould_list_installedr   ÚenvÚlcÚdistÚ	installedÚshould_list_installablesr   Ú
subcommandÚoptÚopt_strÚxÚ	prev_optsÚvÚkÚcompletion_typeÚpathsÚoptionÚ	opt_labelÚhandler_nameÚiÚoptsÚflattened_optsr   s                                 @r    Úautocompleter]      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
Ðñ !õ Gá)Ó+ˆCØ—‘“ˆBð  ×<Ñ<ÈÐ<ÓMöàØ×&Ñ&×1Ñ1°"Ô5Ø×'Ñ'¨v°a°b¨zÑ9ð ×#Ó#ðˆIð ñ Ø%ò  �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öØ-4�W˜cŸi™iÒ(òñ ‘ð	ð /5°Q¸À¹Ð.CÖD¨�Q—W‘W˜S“\ !“_ÐDˆ	ÐDØ(/×F™f˜q !°1¸IÒ3E�A�q’6ÐFˆÑFà&-×G™d˜a °·±¸gÕ1F�A�q’6ÐGˆÑGä2ØØØ×Ñ×-Ñ-ó
ˆñ Ü'¨°ÓAˆEØ-2Ö3 T˜˜a’yÐ3ˆGÐ3Øò 	ˆFØ˜q™	ˆIà�aŠy˜V A™Y r¨˜]¨dÒ2Ø˜SÑ �	Ü�)Õð	ô ÓG¨j×.DÑ.DÓ.FÔGÕGØ *× 6Ñ 6Ó 8ò (�Ø×*Ñ*¨7Õ3Ü˜,Õ'ò(ð (.×';Ñ';Ö< !�—“Ð<ˆÐ<Ø�‰�F×&Ñ&Ô'Ü×,Ñ,¨TÓ2ˆØ×Ñ˜cÔ"Ø%ò D�Ø—8‘8œx×5Ñ5Ó5Ø 3§>¡>°C·O±OÑ#CÑC‘KñDô
 7°v¸uÀnÓUˆOÙÜ"Ô#6°wÀÓ#PÓQ�äˆc�h‰h ;ÖH˜a°!·,±,¸wÕ2GšÒHÓIÔJÜ‡H�HˆQ…KøôO ò Ø‹ðüò<ùò0ùò
 EùÛFùãGùò 4ùò  =ùò IsT   ÂR( Ä1?R:ÉR?É+SÊS	ÊS	Ê(SËSË>SÎSÑ,SÒSÒ(R7Ò6R7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ÚdirNr   )r   rQ   s     r    r!   z+get_path_completion_type.<locals>.<genexpr>˜   s   è ø€ ò *Ø56�AÐ0Ô0ñ*ùs   ‚)r,   r   r5   r6   Ústrr&   Úmetavarr;   )r   rB   r[   rO   Úos        r    r:   r:   ‡   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ô*õ 'ð Ÿ;™;Ô&ñ	'ð'ð ó    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r   )r#   r   Únormcaser,   )r   rQ   Úfilenames     €r    r!   z&auto_complete_paths.<locals>.<genexpr>¯   s2   øè ø€ ò Ø¬r¯w©w×/?Ñ/?ÀÓ/B×/MÑ/MÈhÕ/WŒñùs   ƒ3>·>rb   r   )r#   r   r&   ÚabspathÚaccessÚR_OKri   ÚlistdirrA   ÚisfileÚisdir)	rC   rU   Ú	directoryÚcurrent_pathÚ	file_listÚfrO   Ú	comp_filerj   s	           @r    r2   r2   Ÿ   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)ÚreturnÚNone)r   z	list[str]rB   r'   r[   zIterable[Any]rv   z
str | None)rC   rc   rU   rc   rv   zIterable[str])Ú__doc__Ú
__future__r   r5   r#   r*   Úcollections.abcr   Ú	itertoolsr   Útypingr   Úpip._internal.cli.main_parserr   Úpip._internal.commandsr   r	   r]   r:   r2   r   rf   r    ú<module>r      sT   ðÙ Gå "ã Û 	Û 
Ý $Ý Ý å <ß @ótðnØðØ!ðØ)6ðàóô0.rf   