+
    €
4iÌH  ã                   óÞ  a € R. t'0 t ^ RIt^ RIt^ RIt^ RIHt ^RIHt ^RIH	t	 ^RIH
t
 ^RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt R R lt ! R R4      tRtRtRt ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      t]P8                  ! R]P:                  ],          R7      tR]R]R]/t] ^ k R/R  R! llt R" R# lt!R$ R% lt"R& R' lt#R( R) lt$R* R+ lt%R, R- lt&R# )0é    N)Úgettext)ÚArgument)ÚBaseCommand)ÚContext)ÚMultiCommand)ÚOption)Ú	Parameter)ÚParameterSource)Úsplit_arg_string)Úechoc                óª   € V ^8„  d   QhR\         R\        P                  \        \        P                  3,          R\        R\        R\        R\
        /# )é   ÚcliÚctx_argsÚ	prog_nameÚcomplete_varÚinstructionÚreturn)r   ÚtÚMutableMappingÚstrÚAnyÚint)Úformats   "Ú8/usr/lib/python3/dist-packages/click/shell_completion.pyÚ__annotate__r      sW   € ÷ #ñ #Ü	ð#ä×Ñœs¤A§E¡E˜zÕ*ð#ô ð#ô ð	#ô
 ð#ô 	ñ#ó    c                óê   € VP                  R4      w  rVp\        V4      pVf   ^# V! WW#4      pVR8X  d   \        VP                  4       4       ^ # VR8X  d   \        VP	                  4       4       ^ # ^# )aØ  Perform shell completion for the given CLI program.

:param cli: Command being called.
:param ctx_args: Extra arguments to pass to
    ``cli.make_context``.
:param prog_name: Name of the executable in the shell.
:param complete_var: Name of the environment variable that holds
    the completion instruction.
:param instruction: Value of ``complete_var`` with the completion
    instruction and shell, in the form ``instruction_shell``.
:return: Status code to exit with.
Ú_ÚsourceÚcomplete)Ú	partitionÚget_completion_classr   r    r!   )	r   r   r   r   r   Úshellr   Úcomp_clsÚcomps	   &&&&&    r   Úshell_completer'      sm   € ð& (×1Ñ1°#Ó6Ñ€EˆkÜ# EÓ*€HàÒÙá�C 9Ó;€Dà�hÔÜˆT�[‰[‹]ÔÙà�jÔ ÜˆT�]‰]‹_ÔÙár   c                   óP   a € ] tR t^7t o RtRtR	V 3R lR lltV 3R lR ltRtV t	R# )
ÚCompletionItemañ  Represents a completion value and metadata about the value. The
default metadata is ``type`` to indicate special shell handling,
and ``help`` if a shell supports showing a help string next to the
value.

Arbitrary parameters can be passed when creating the object, and
accessed using ``item.attr``. If an attribute wasn't passed,
accessing it returns ``None``.

:param value: The completion suggestion.
:param type: Tells the shell script to provide special completion
    support for the type. Click uses ``"dir"`` and ``"file"``.
:param help: String shown next to the value if supported.
:param kwargs: Arbitrary metadata. The built-in implementations
    don't use this, but custom type completions paired with custom
    shell support could use it.
Nc          
      ó‚   <€ V ^8„  d   QhRS[ P                  RS[RS[ P                  S[,          RS[ P                  RR/# )r   ÚvalueÚtypeÚhelpÚkwargsr   N)r   r   r   ÚOptional)r   Ú__classdict__s   "€r   r   ÚCompletionItem.__annotate__L   sM   ø€ ÷ 
ñ 
á�u‰uð
ñ ð
ñ �j‰j™�oð	
ñ
 —%‘%ð
ð 
ñ
r   c                ó6   € Wn         W n        W0n        W@n        R # ©N©r+   r,   r-   Ú_info)Úselfr+   r,   r-   r.   s   &&&&,r   Ú__init__ÚCompletionItem.__init__L   s   € ð "Œ
ØŒ	Ø%)Œ	ØŽ
r   c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r   Únamer   )r   r   r   )r   r0   s   "€r   r   r1   X   s   ø€ ÷ $ñ $¡ð $©¯©ñ $r   c                ó8   € V P                   P                  V4      # r3   )r5   Úget)r6   r:   s   &&r   Ú__getattr__ÚCompletionItem.__getattr__X   s   € Ø�z‰z�~‰~˜dÓ#Ð#r   )r5   r-   r,   r+   r4   )ÚplainN)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r7   r=   Ú__static_attributes__Ú__classdictcell__©r0   s   @r   r)   r)   7   s%   ø‡ € ñð$ 3€I÷
ò 
÷$ö $r   r)   a¢  %(complete_func)s() {
    local IFS=$'\n'
    local response

    response=$(env COMP_WORDS="${COMP_WORDS[*]}" COMP_CWORD=$COMP_CWORD %(complete_var)s=bash_complete $1)

    for completion in $response; do
        IFS=',' read type value <<< "$completion"

        if [[ $type == 'dir' ]]; then
            COMPREPLY=()
            compopt -o dirnames
        elif [[ $type == 'file' ]]; then
            COMPREPLY=()
            compopt -o default
        elif [[ $type == 'plain' ]]; then
            COMPREPLY+=($value)
        fi
    done

    return 0
}

%(complete_func)s_setup() {
    complete -o nosort -F %(complete_func)s %(prog_name)s
}

%(complete_func)s_setup;
a¦  #compdef %(prog_name)s

%(complete_func)s() {
    local -a completions
    local -a completions_with_descriptions
    local -a response
    (( ! $+commands[%(prog_name)s] )) && return 1

    response=("${(@f)$(env COMP_WORDS="${words[*]}" COMP_CWORD=$((CURRENT-1)) %(complete_var)s=zsh_complete %(prog_name)s)}")

    for type key descr in ${response}; do
        if [[ "$type" == "plain" ]]; then
            if [[ "$descr" == "_" ]]; then
                completions+=("$key")
            else
                completions_with_descriptions+=("$key":"$descr")
            fi
        elif [[ "$type" == "dir" ]]; then
            _path_files -/
        elif [[ "$type" == "file" ]]; then
            _path_files -f
        fi
    done

    if [ -n "$completions_with_descriptions" ]; then
        _describe -V unsorted completions_with_descriptions -U
    fi

    if [ -n "$completions" ]; then
        compadd -U -V unsorted -a completions
    fi
}

if [[ $zsh_eval_context[-1] == loadautofunc ]]; then
    # autoload from fpath, call function directly
    %(complete_func)s "$@"
else
    # eval/source/. command, register function for later
    compdef %(complete_func)s %(prog_name)s
fi
af  function %(complete_func)s;
    set -l response (env %(complete_var)s=fish_complete COMP_WORDS=(commandline -cp) COMP_CWORD=(commandline -t) %(prog_name)s);

    for completion in $response;
        set -l metadata (string split "," $completion);

        if test $metadata[1] = "dir";
            __fish_complete_directories $metadata[2];
        else if test $metadata[1] = "file";
            __fish_complete_path $metadata[2];
        else if test $metadata[1] = "plain";
            echo $metadata[2];
        end;
    end;
end;

complete --no-files --command %(prog_name)s --arguments "(%(complete_func)s)";
c                   óÎ   a € ] tR t^Àt o Rt  V 3R lR lt]V 3R lR l4       tV 3R lR ltV 3R lR	 lt	V 3R
 lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R ltRtV tR# )ÚShellCompletea�  Base class for providing shell completion support. A subclass for
a given shell will override attributes and methods to implement the
completion instructions (``source`` and ``complete``).

:param cli: Command being called.
:param prog_name: Name of the executable in the shell.
:param complete_var: Name of the environment variable that holds
    the completion instruction.

.. versionadded:: 8.0
c          
      ót   <€ V ^8„  d   QhRS[ RS[P                  S[S[P                  3,          RS[RS[RR/# )r   r   r   r   r   r   N)r   r   r   r   r   )r   r0   s   "€r   r   ÚShellComplete.__annotate__Ø   sP   ø€ ÷ 
)ñ 
)áð
)ñ ×"Ñ"¡3©¯© :Õ.ð
)ñ ð	
)ñ
 ð
)ð 
ñ
)r   c                ó6   € Wn         W n        W0n        W@n        R # r3   )r   r   r   r   )r6   r   r   r   r   s   &&&&&r   r7   ÚShellComplete.__init__Ø   s   € ð ŒØ ŒØ"ŒØ(Ör   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©r   )r   r0   s   "€r   r   rL   å   s   ø€ ÷ *ñ *™3ñ *r   c                ó’   € \         P                  ! RRV P                  P                  RR4      \         P                  R7      pRV R2# )zAThe name of the shell function defined by the completion
script.
z\W*Ú Ú-r   )ÚflagsÚ_completion)ÚreÚsubr   ÚreplaceÚASCII)r6   Ú	safe_names   & r   Ú	func_nameÚShellComplete.func_nameä   s<   € ô
 —F’F˜6 2 t§~¡~×'=Ñ'=¸cÀ3Ó'GÌrÏxÉxÔXˆ	Ø�9�+˜[Ð)Ð)r   c                ó^   <€ V ^8„  d   QhRS[ P                  S[S[ P                  3,          /# rP   )r   ÚDictr   r   )r   r0   s   "€r   r   rL   ì   s%   ø€ ÷ 

ñ 

™QŸV™V¡C©¯© JÕ/ñ 

r   c                óN   € RV P                   RV P                  RV P                  /# )zVars for formatting :attr:`source_template`.

By default this provides ``complete_func``, ``complete_var``,
and ``prog_name``.
Úcomplete_funcr   r   )r\   r   r   ©r6   s   &r   Úsource_varsÚShellComplete.source_varsì   s+   € ð ˜TŸ^™^Ø˜D×-Ñ-Ø˜Ÿ™ð
ð 	
r   c                ó    <€ V ^8„  d   QhRS[ /# rP   rQ   )r   r0   s   "€r   r   rL   ø   s   ø€ ÷ 9ñ 9™ñ 9r   c                óD   € V P                   V P                  4       ,          # )zªProduce the shell script that defines the completion
function. By default this ``%``-style formats
:attr:`source_template` with the dict returned by
:meth:`source_vars`.
)Úsource_templaterc   rb   s   &r   r    ÚShellComplete.sourceø   s   € ð ×#Ñ# d×&6Ñ&6Ó&8Õ8Ð8r   c                ón   <€ V ^8„  d   QhRS[ P                  S[ P                  S[,          S[3,          /# rP   ©r   ÚTupleÚListr   )r   r0   s   "€r   r   rL      s*   ø€ ÷ "ñ "¡Q§W¡W©Q¯V©V±C­[¹#Ð-=Õ%>ñ "r   c                ó   € \         h)z€Use the env vars defined by the shell script to return a
tuple of ``args, incomplete``. This must be implemented by
subclasses.
©ÚNotImplementedErrorrb   s   &r   Úget_completion_argsÚ!ShellComplete.get_completion_args   s
   € ô
 "Ð!r   c                ót   <€ V ^8„  d   QhRS[ P                  S[,          RS[RS[ P                  S[,          /# )r   ÚargsÚ
incompleter   )r   rl   r   r)   )r   r0   s   "€r   r   rL     s6   ø€ ÷ 3ñ 3Ù—F‘F™3•Kð3Ù-0ð3á	
�‰‘Õ	ñ3r   c                ó˜   € \        V P                  V P                  V P                  V4      p\	        W1V4      w  rBVP                  W24      # )a,  Determine the context and last complete command or parameter
from the complete args. Call that object's ``shell_complete``
method to get the completions for the incomplete value.

:param args: List of complete args before the incomplete value.
:param incomplete: Value being completed. May be empty.
)Ú_resolve_contextr   r   r   Ú_resolve_incompleter'   )r6   rs   rt   ÚctxÚobjs   &&&  r   Úget_completionsÚShellComplete.get_completions  s?   € ô ˜tŸx™x¨¯©¸¿¹ÈÓMˆÜ-¨c¸ÓD‰ˆØ×!Ñ! #Ó2Ð2r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r   Úitemr   ©r)   r   )r   r0   s   "€r   r   rL     s   ø€ ÷ "ñ "¡nð "¹ñ "r   c                ó   € \         h)z˜Format a completion item into the form recognized by the
shell script. This must be implemented by subclasses.

:param item: Completion item to format.
rn   ©r6   r~   s   &&r   Úformat_completionÚShellComplete.format_completion  s
   € ô "Ð!r   c                ó    <€ V ^8„  d   QhRS[ /# rP   rQ   )r   r0   s   "€r   r   rL     s   ø€ ÷ 
ñ 
™#ñ 
r   c                ó²   € V P                  4       w  rV P                  W4      pV Uu. uF  q@P                  V4      NK  	  ppRP                  V4      # u upi )z»Produce the completion data to send back to the shell.

By default this calls :meth:`get_completion_args`, gets the
completions, then calls :meth:`format_completion` for each
completion.
Ú
)rp   rz   r‚   Újoin)r6   rs   rt   Úcompletionsr~   Úouts   &     r   r!   ÚShellComplete.complete  sV   € ð  ×3Ñ3Ó5ÑˆØ×*Ñ*¨4Ó<ˆÙ8CÓD¹°×%Ñ% dÖ+¹ˆÐDØ�y‰y˜‹~Ðùò Es   ¨Ac                óz   <€ V ^8„  d   Qh/ S[ P                  S[,          ;R&   S[ P                  S[,          ;R&   # )r   r:   rg   )r   ÚClassVarr   )r   r0   s   "€r   r   rL   À   s/   ø‡ ‚ ñ �*‰*‘S�/Ññ ñ& —Z‘Z¡•_Ñ$ò' r   )r   r   r   r   N)r@   rA   rB   rC   rD   r7   Úpropertyr\   rc   r    rp   rz   r‚   r!   Ú__annotate_func__rF   rG   rH   s   @r   rJ   rJ   À   sv   ø‡ € ñ
ðð÷
)ð 
)ð ÷*ó ð*÷

ð 

÷9ð 9÷"ð "÷3ð 3÷"ð "÷
ð 
÷{ ƒ r   rJ   c                   óŠ   a a€ ] tR tRt oRtRt]t]V3R lR l4       t	V3R lV 3R llt
V3R lR	 ltV3R
 lR ltRtVtV ;t# )ÚBashCompletei*  zShell completion for Bash.Úbashc                ó   <€ V ^8„  d   QhRR/# )r   r   N© )r   r0   s   "€r   r   ÚBashComplete.__annotate__1  s   ø€ ÷ ñ ˜Dñ r   c                 ó   € ^ RI p ^ RIpV P                  R4      pVf   RpMPVP                  VRRR.VP                  R7      p\
        P                  ! RVP                  P                  4       4      pVeD   VP                  4       w  rVVR8  g   VR8X  d"   VR8  d   \        \        R	4      R
R7       R# R# R# \        \        R4      R
R7       R# )r   Nr‘   z--norcz-czecho "${BASH_VERSION}")Ústdoutz^(\d+)\.(\d+)\.\d+Ú4zCShell completion is not supported for Bash versions older than 4.4.T)Úerrz@Couldn't detect Bash version, shell completion is not supported.)ÚshutilÚ
subprocessÚwhichÚrunÚPIPErW   Úsearchr–   ÚdecodeÚgroupsr   r   )r™   rš   Úbash_exeÚmatchÚoutputÚmajorÚminors          r   Ú_check_versionÚBashComplete._check_version0  sÅ   € ãÛà—<‘< Ó'ˆàÒØ‰Eà—^‘^Ø˜8 TÐ+CÐDØ!—‘ð $ó ˆFô —I’IÐ3°V·]±]×5IÑ5IÓ5KÓLˆEàÒØ Ÿ<™<›>‰LˆEà�sŒ{˜e sœl¨u°s¬{ÜÜð4óð ÷ñ 0;™lô ÜÐTÓUØ÷r   c                ó    <€ V ^8„  d   QhRS[ /# rP   rQ   )r   r0   s   "€r   r   r”   Q  s   ø€ ÷  ñ  ™ñ  r   c                ó@   <€ V P                  4        \        SV `	  4       # r3   )r¦   Úsuperr    )r6   Ú	__class__s   &€r   r    ÚBashComplete.sourceQ  s   ø€ Ø×ÑÔÜ‰w‰~ÓÐr   c                ón   <€ V ^8„  d   QhRS[ P                  S[ P                  S[,          S[3,          /# rP   rj   )r   r0   s   "€r   r   r”   U  ó*   ø€ ÷ 
 ñ 
 ¡Q§W¡W©Q¯V©V±C­[¹#Ð-=Õ%>ñ 
 r   c                óÎ   € \        \        P                  R ,          4      p\        \        P                  R,          4      pV^V p W,          pW43#   \         d    Rp Y43# i ; i©Ú
COMP_WORDSÚ
COMP_CWORDrS   ©r   ÚosÚenvironr   Ú
IndexError©r6   ÚcwordsÚcwordrs   rt   s   &    r   rp   Ú BashComplete.get_completion_argsU  ói   € Ü!¤"§*¡*¨\Õ":Ó;ˆÜ”B—J‘J˜|Õ,Ó-ˆØ�a˜ˆˆð	Ø�ˆJð ÐÐøô ô 	Ø‰JàÐÐð	úó   ÁA ÁA$Á#A$c                ó&   <€ V ^8„  d   QhRS[ RS[/# r}   r   )r   r0   s   "€r   r   r”   a  s   ø€ ÷ +ñ +¡nð +¹ñ +r   c                ó8   € VP                    R VP                   2# )Ú,)r,   r+   r�   s   &&r   r‚   ÚBashComplete.format_completiona  s   € Ø—)‘)�˜A˜dŸj™j˜\Ð*Ð*r   r“   )r@   rA   rB   rC   rD   r:   Ú_SOURCE_BASHrg   Ústaticmethodr¦   r    rp   r‚   rF   rG   Ú__classcell__)r«   r0   s   @@r   r�   r�   *  sH   ù‡ € Ù$à€DØ"€Oà÷ó ð÷@ ó  ÷
 ð 
 ÷+÷ +ð +r   r�   c                   óP   a € ] tR tRt o RtRt]tV 3R lR ltV 3R lR lt	Rt
V tR	# )
ÚZshCompleteie  zShell completion for Zsh.Úzshc                ón   <€ V ^8„  d   QhRS[ P                  S[ P                  S[,          S[3,          /# rP   rj   )r   r0   s   "€r   r   ÚZshComplete.__annotate__k  r®   r   c                óÎ   € \        \        P                  R ,          4      p\        \        P                  R,          4      pV^V p W,          pW43#   \         d    Rp Y43# i ; ir°   r³   r·   s   &    r   rp   ÚZshComplete.get_completion_argsk  r»   r¼   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r}   r   )r   r0   s   "€r   r   rÈ   w  s   ø€ ÷ Oñ O¡nð O¹ñ Or   c                ó~   € VP                    R VP                   R VP                  '       d   VP                   2# R 2# )r†   r   )r,   r+   r-   r�   s   &&r   r‚   ÚZshComplete.format_completionw  s9   € Ø—)‘)�˜B˜tŸz™z˜l¨"¸$¿)¿)¸)¨T¯Y©YÐ,MÐNÐNÈÐ,MÐNÐNr   r“   N)r@   rA   rB   rC   rD   r:   Ú_SOURCE_ZSHrg   rp   r‚   rF   rG   rH   s   @r   rÅ   rÅ   e  s(   ø‡ € Ù#à€DØ!€O÷
 ð 
 ÷Oö Or   rÅ   c                   óP   a € ] tR tRt o RtRt]tV 3R lR ltV 3R lR lt	Rt
V tR	# )
ÚFishCompletei{  zShell completion for Fish.Úfishc                ón   <€ V ^8„  d   QhRS[ P                  S[ P                  S[,          S[3,          /# rP   rj   )r   r0   s   "€r   r   ÚFishComplete.__annotate__�  r®   r   c                óä   € \        \        P                  R ,          4      p\        P                  R,          pVR,          pV'       d'   V'       d   VR,          V8X  d   VP                  4        W23# )r±   r²   :é   NNéÿÿÿÿ)r   r´   rµ   Úpop)r6   r¸   rt   rs   s   &   r   rp   Ú FishComplete.get_completion_args�  sP   € Ü!¤"§*¡*¨\Õ":Ó;ˆÜ—Z‘Z Õ-ˆ
Ø�b�zˆ÷ Ÿ$ 4¨¥8¨zÔ#9Ø�H‰HŒJàÐÐr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r}   r   )r   r0   s   "€r   r   rÓ   �  s   ø€ ÷ +ñ +¡nð +¹ñ +r   c                ó¬   € VP                   '       d)   VP                   R VP                   RVP                    2# VP                   R VP                   2# )r¿   Ú	)r-   r,   r+   r�   s   &&r   r‚   ÚFishComplete.format_completion�  sG   € Ø�9�9ˆ9Ø—i‘i�[  $§*¡* ¨R°·	±	¨{Ð;Ð;à—)‘)�˜A˜dŸj™j˜\Ð*Ð*r   r“   N)r@   rA   rB   rC   rD   r:   Ú_SOURCE_FISHrg   rp   r‚   rF   rG   rH   s   @r   rÐ   rÐ   {  s&   ø‡ € Ù$à€DØ"€O÷
 ð 
 ÷+ö +r   rÐ   ÚShellCompleteType)Úboundr‘   rÑ   rÆ   c                óf   € V ^8„  d   QhR\         R\        P                  \        ,          R\         /# )r   Úclsr:   r   )rÞ   r   r/   r   )r   s   "r   r   r   ž  s,   € ÷ ñ Ü	ðÜ"#§*¡*¬S¥/ðäñr   c                ó8   € Vf   V P                   pV \        V&   V # )aQ  Register a :class:`ShellComplete` subclass under the given name.
The name will be provided by the completion instruction environment
variable during completion.

:param cls: The completion class that will handle completion for the
    shell.
:param name: Name to register the class under. Defaults to the
    class's ``name`` attribute.
)r:   Ú_available_shells)rá   r:   s   &&r   Úadd_completion_classrä   ž  s"   € ð ‚|Ø�x‰xˆà!Ô�dÑà€Jr   c                ó„   € V ^8„  d   QhR\         R\        P                  \        P                  \        ,          ,          /# )r   r$   r   )r   r   r/   ÚTyperJ   )r   s   "r   r   r   ²  s,   € ÷ (ñ (¤ð (¬¯
©
´1·6±6¼-Õ3HÕ(Iñ (r   c                ó,   € \         P                  V 4      # )záLook up a registered :class:`ShellComplete` subclass by the name
provided by the completion instruction environment variable. If the
name isn't registered, returns ``None``.

:param shell: Name the class is registered under.
)rã   r<   )r$   s   &r   r#   r#   ²  s   € ô × Ñ  Ó'Ð'r   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   rx   Úparamr   )r   r	   Úbool)r   s   "r   r   r   ¼  s!   € ÷ ñ ¤ð ´ð ¼tñ r   c                óÊ  € \        V\        4      '       g   R# VP                  f   Q hV P                  P	                  VP                  4      pVP
                  R8H  ;'       g�    V P                  VP                  4      \        P                  J;'       gN    VP
                  ^8„  ;'       d7    \        V\        \        34      ;'       d    \        V4      VP
                  8  # )zØDetermine if the given parameter is an argument that can still
accept values.

:param ctx: Invocation context for the command represented by the
    parsed complete args.
:param param: Argument object being checked.
FrÖ   )Ú
isinstancer   r:   Úparamsr<   ÚnargsÚget_parameter_sourcer
   ÚCOMMANDLINEÚtupleÚlistÚlen)rx   ré   r+   s   && r   Ú_is_incomplete_argumentrô   ¼  s»   € ô �eœX×&Ò&Ùà�:‰:Ò!Ð!Ð!à�J‰J�N‰N˜5Ÿ:™:Ó&€Eà�‰�rÑ÷ 	
ð 	
Ø×#Ñ# E§J¡JÓ/´×7RÑ7RÐR÷	
ð 	
ð �K‰K˜!‰O÷ )ð )Ü˜5¤5¬$ -Ó0÷)ð )ä�E“
˜UŸ[™[Ñ(ðr   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   rx   r+   r   )r   r   rê   )r   s   "r   r   r   Õ  s!   € ÷ "ñ "œ'ð "¬#ð "´$ñ "r   c                óD   € V'       g   R# V^ ,          pW P                   9   # )z5Check if the value looks like the start of an option.F)Ú_opt_prefixes)rx   r+   Úcs   && r   Ú_start_of_optionrù   Õ  s    € çÙàˆa�€AØ×!Ñ!Ñ!Ð!r   c                ór   € V ^8„  d   QhR\         R\        P                  \        ,          R\        R\
        /# )r   rx   rs   ré   r   )r   r   rl   r   r	   rê   )r   s   "r   r   r   Þ  s7   € ÷ Añ Aœwð A¬a¯f©f´S­kð AÄ)ð AÔPTñ Ar   c                óN  € \        V\        4      '       g   R# VP                  '       g   VP                  '       d   R# Rp\	        \        V4      4       F4  w  rEV^,           VP                  8”  d    M\        W4      '       g   K2  TpK6  	  VRJ;'       d    W2P                  9   # )z®Determine if the given parameter is an option that needs a value.

:param args: List of complete args before the incomplete value.
:param param: Option object being checked.
FN)	rì   r   Úis_flagÚcountÚ	enumerateÚreversedrî   rù   Úopts)rx   rs   ré   Úlast_optionÚindexÚargs   &&&   r   Ú_is_incomplete_optionr  Þ  s�   € ô �eœV×$Ò$Ùà‡}‡}€}˜ŸŸ˜Ùà€Kä¤¨£Ö/‰
ˆØ�1�9�u—{‘{Ô"Ùä˜C×%Ô%ØŠKñ 0ð ˜dÐ"×@Ð@ {·j±jÑ'@Ð@r   c          
      óÈ   € V ^8„  d   QhR\         R\        P                  \        \        P                  3,          R\        R\        P
                  \        ,          R\        /# )r   r   r   r   rs   r   )r   r   r   r   r   rl   r   )r   s   "r   r   r   ö  sU   € ÷ 6ñ 6Ü	ð6ä×Ñœs¤A§E¡E˜zÕ*ð6ô ð6ô �&‰&”�+ð	6ô
 ñ6r   c           	     ór  € RVR&   V P                   ! W#P                  4       3/ VB pVP                  VP                  ,           pV'       dì   VP                  p\        V\        4      '       dÇ   VP                  '       gN   VP                  WC4      w  rgpVf   V# VP                  WcVRR7      pVP                  VP                  ,           pK‰  TpV'       d@   VP                  WC4      w  rgpVf   V# VP                  VVVRRRR7      pVP                  pKG  Tp. VP                  OVP                  OpKð   V# V# )aH  Produce the context hierarchy starting with the command and
traversing the complete arguments. This only follows the commands,
it doesn't trigger input prompts or callbacks.

:param cli: Command being called.
:param prog_name: Name of the executable in the shell.
:param args: List of complete args before the incomplete value.
TÚresilient_parsing)Úparentr  F)r  Úallow_extra_argsÚallow_interspersed_argsr  )	Úmake_contextÚcopyÚprotected_argsrs   Úcommandrì   r   ÚchainÚresolve_command)	r   r   r   rs   rx   r  r:   ÚcmdÚsub_ctxs	   &&&&     r   rv   rv   ö  s,  € ð %)€HÐ Ñ!Ø
×
Ò
˜9§i¡i£kÑ
>°XÑ
>€CØ×Ñ §¡Õ(€Dç
Ø—+‘+ˆä�gœ|×,Ò,Ø—=—=�=Ø")×"9Ñ"9¸#Ó"D‘�˜4à’;Ø�Jà×&Ñ& t¸#ÐQUÐ&ÓV�Ø×)Ñ)¨C¯H©HÕ4’à�çØ&-×&=Ñ&=¸cÓ&H‘O�D˜tà’{Ø"˜
à!×.Ñ.ØØØ"Ø)-Ø05Ø*.ð /ó �Gð #Ÿ<™<’Dà�Ø?˜×/Ñ/Ð?°'·,±,Ð?’àà€Jˆ3€Jr   c                óÞ   € V ^8„  d   QhR\         R\        P                  \        ,          R\        R\        P                  \        P
                  \        \        3,          \        3,          /# )r   rx   rs   rt   r   )r   r   rl   r   rk   ÚUnionr   r	   )r   s   "r   r   r   /  sP   € ÷ ,#ñ ,#Ü	ð,#ÜŸ™œs�ð,#Ü14ð,#ä‡W�WŒQ�W‰W”[¤)Ð+Õ,¬cÐ1Õ2ñ,#r   c                ó¬  € VR8X  d   RpM=RV9   d7   \        W4      '       d&   VP                  R4      w  r4pVP                  V4       RV9  d    \        W4      '       d   V P                  V3# V P                  P	                  V 4      pV F  p\        WV4      '       g   K  Wb3u # 	  V F  p\        W4      '       g   K  Wb3u # 	  V P                  V3# )aP  Find the Click object that will handle the completion of the
incomplete value. Return the object and the incomplete value.

:param ctx: Invocation context for the command represented by
    the parsed complete args.
:param args: List of complete args before the incomplete value.
:param incomplete: Value being completed. May be empty.
Ú=rS   z--)rù   r"   Úappendr  Ú
get_paramsr  rô   )rx   rs   rt   r:   r   rí   ré   s   &&&    r   rw   rw   /  sÐ   € ð �SÔØ‰
Ø	�
Ô	Ô/°×@Ò@Ø(×2Ñ2°3Ó7Ñˆ�Ø�‰�DÔð �4ÔÔ,¨S×=Ò=Ø�{‰{˜JÐ&Ð&à�[‰[×#Ñ# CÓ(€Fó ˆÜ  ¨E×2Ô2ØÐ$Ò$ñ ó ˆÜ" 3×.Ô.ØÐ$Ò$ñ ð �;‰;˜
Ð"Ð"r   c                ó    € V ^8„  d   Qh/ ^ \         9   d:   \        P                  \        \        P                  \
        ,          3,          ;R&   # )r   rã   )Ú__conditional_annotations__r   r_   r   ræ   rJ   )r   s   "r   r   r      s5   € ‡	�	÷lò ”1—6‘6œ#œqŸv™v¤mÕ4Ð4Õ5ñ òm 
r   r3   )(r  r´   rW   Útypingr   r   r   Úcorer   r   r   r   r   r	   r
   Úparserr   Úutilsr   r'   r)   rÁ   rÎ   rÝ   rJ   r�   rÅ   rÐ   ÚTypeVarræ   rÞ   rã   rä   r#   rô   rù   r  rv   rw   r   )r  s   @r   Ú<module>r      së   øðß 	€	Û 	Û Ý  å Ý Ý Ý Ý Ý Ý !Ý $Ý õ#÷L"$ñ "$ðL€ð@*€ðX€÷.gñ gôT8+�=ô 8+ôvO�-ô Oô,+�=ô +ð2 —I’IÐ1¸¿¹ÀÕ9NÔOÐ ð ˆLØ
ˆLØ	ˆ;ð9Ð ó ÷õ((õõ2"õAõ06÷r,#r   