+
    :O|jZX  ã                  óL  a € 0 t $ ^ RIHt ^ RIH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 R lt]	P.                  '       d   ^ RIHt ]! RR]	P4                  R7      tM]	P2                  ! RRR7      t ! R R]	P8                  ],          4      tRtRtRt  ! R R]	PB                  4      t" ! R R4      t# ! R R]#4      t$ ! R R]#4      t% ! R  R!]#4      t&R"]$R#]&R$]%/t'R%](R&&   ]	P2                  ! R'RR(7      t)RAR) R* llt*]	PV                  R+ R, l4       t,]	PV                  R- R. l4       t,]	PV                  R/ R0 l4       t,]	PV                  R1 R2 l4       t,R3 R4 lt,R5 R6 lt-R7 R8 lt.R9 R: lt/R; R< lt0R= R> lt1R? R@ lt2R# )Bé    )ÚannotationsN)Úgettext)ÚArgument)ÚCommand)ÚContext)ÚGroup)ÚOption)Ú	Parameter)ÚParameterSource)Úechoc               ó0   € V ^8„  d   QhRRRRRRRRRRR	R
/# )é   Úclir   Úctx_argsúcabc.MutableMapping[str, t.Any]Ú	prog_nameÚstrÚcomplete_varÚinstructionÚreturnzt.Literal[0, 1]© )Úformats   "ÚOC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\click/shell_completion.pyÚ__annotate__r      sD   € ÷ $ñ $Ø	ð$à-ð$ð ð$ð ð	$ð
 ð$ð ñ$ó    c                ó&  € VP                  R4      w  rVp\        V4      pVf   ^# V! WW#4      pVR8X  d,   \        VP                  4       P	                  4       RR7       ^ # VR8X  d*   \        VP                  4       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.
Ú_ÚsourceF)ÚnlÚcomplete)Ú	partitionÚget_completion_classr   r   Úencoder    )	r   r   r   r   r   Úshellr   Úcomp_clsÚcomps	   &&&&&    r   Úshell_completer'      sƒ   € ð& (×1Ñ1°#Ó6Ñ€EˆkÜ# EÓ*€HàÒÙá�C 9Ó;€Dð �hÔÜˆT�[‰[‹]×!Ñ!Ó#¨Õ.Ùà�jÔ ÜˆT�]‰]‹_×#Ñ#Ó%Ô&Ùár   )ÚTypeVarÚ
_ValueT_coT)Ú	covariantÚdefault)r*   c                  ó:   € ] tR t^CtRtRtR	R R lltR R ltR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RRRRRRRR	R
/# )r   Úvaluer)   Útyper   Úhelpú
str | NoneÚkwargsút.Anyr   ÚNoner   )r   s   "r   r   ÚCompletionItem.__annotate__X   s<   € ÷ 
ñ 
àð
ð ð
ð ð	
ð
 ð
ð 
ñ
r   c                	ó6   € Wn         W n        W0n        W@n        R # ©N©r/   r0   r1   Ú_info)Úselfr/   r0   r1   r3   s   &&&&,r   Ú__init__ÚCompletionItem.__init__X   s   € ð "'Œ
ØŒ	Ø $Œ	ØŽ
r   c               ó    € V ^8„  d   QhRRRR/# )r   Únamer   r   r4   r   )r   s   "r   r   r6   d   s   € ÷ $ñ $ ð $¨ñ $r   c                	ó8   € V P                   P                  V4      # r8   )r:   Úget)r;   r?   s   &&r   Ú__getattr__ÚCompletionItem.__getattr__d   s   € Ø�z‰z�~‰~˜dÓ#Ð#r   )r:   r1   r0   r/   r9   )ÚplainN)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r<   rB   Ú__static_attributes__r   r   r   r-   r-   C   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                  ó6   € ] tR t^Òt$ R]R&   R]R&   R]R&   RtR# )Ú_SourceVarsDictr   Úcomplete_funcr   r   r   N)rE   rF   rG   rH   Ú__annotations__rK   r   r   r   rM   rM   Ò   s   ‡ ØÓØÓØ‡Nr   rM   c                  óÆ   € ] tR t^Øt$ RtR]R&    R]R&    R]R&   R]R&   R	]R
&   R	]R&   R R lt]R R l4       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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
út.ClassVar[str]r?   Úsource_templater   r   r   r   r   r   r   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r   r   r   r   r   r   r   r   r   r5   r   )r   s   "r   r   ÚShellComplete.__annotate__õ   s<   € ÷ 
)ñ 
)àð
)ð 2ð
)ð ð	
)ð
 ð
)ð 
ñ
)r   c                	ó6   € Wn         W n        W0n        W@n        R # r8   )r   r   r   r   )r;   r   r   r   r   s   &&&&&r   r<   ÚShellComplete.__init__õ   s   € ð ŒØ ŒØ"ŒØ(Ör   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   rU     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)r;   Ú	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R/# )r   r   rM   r   )r   s   "r   r   rU   	  s   € ÷ 

ñ 

˜_ñ 

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``.
rN   r   r   )rd   r   r   ©r;   s   &r   Úsource_varsÚShellComplete.source_vars	  s+   € ð ˜TŸ^™^Ø˜D×-Ñ-Ø˜Ÿ™ð
ð 	
r   c               ó   € V ^8„  d   QhRR/# rY   r   )r   s   "r   r   rU     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`.
)rS   ri   rh   s   &r   r   ÚShellComplete.source  s   € ð ×#Ñ# d×&6Ñ&6Ó&8Õ8Ð8r   c               ó   € V ^8„  d   QhRR/# ©r   r   ztuple[list[str], str]r   )r   s   "r   r   rU     s   € ÷ "ñ "Ð%:ñ "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.
©ÚNotImplementedErrorrh   s   &r   Úget_completion_argsÚ!ShellComplete.get_completion_args  s
   € ô
 "Ð!r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úargsú	list[str]Ú
incompleter   r   zlist[CompletionItem[str]]r   )r   s   "r   r   rU   $  s$   € ÷ 3ñ 3Øð3Ø+.ð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'   )r;   rv   rx   ÚctxÚobjs   &&&  r   Úget_completionsÚShellComplete.get_completions$  s?   € ô ˜tŸx™x¨¯©¸¿¹ÈÓMˆÜ-¨c¸ÓD‰ˆØ×!Ñ! #Ó2Ð2r   c               ó    € V ^8„  d   QhRRRR/# ©r   ÚitemzCompletionItem[str]r   r   r   )r   s   "r   r   rU   2  s   € ÷ "ñ "Ð&9ð "¸cñ "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.
rq   ©r;   r‚   s   &&r   Úformat_completionÚShellComplete.format_completion2  s
   € ô "Ð!r   c               ó   € V ^8„  d   QhRR/# rY   r   )r   s   "r   r   rU   :  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.
Ú
)rs   r~   r…   Újoin)r;   rv   rx   Úcompletionsr‚   Úouts   &     r   r    ÚShellComplete.complete:  sV   € ð  ×3Ñ3Ó5ÑˆØ×*Ñ*¨4Ó<ˆÙ8CÓD¹°×%Ñ% dÖ+¹ˆÐDØ�y‰y˜‹~Ðùò Es   ¨A)r   r   r   r   N)rE   rF   rG   rH   rI   rO   r<   Úpropertyrd   ri   r   rs   r~   r…   r    rK   r   r   r   rQ   rQ   Ø   su   ‡ ñ
ð Óðð
 %Ó$ðð 
ƒLØ-Ó-ØƒNØÓõ
)ð ô*ó ð*õ

õ9õ"õ3õ"÷
ñ 
r   rQ   c                  ó~   a € ] tR tRt$ RtRtR]R&   ]tR]R&   ]	R R l4       t
R	 V 3R
 lltR R ltR R ltRtV ;t# )ÚBashCompleteiG  zShell completion for Bash.ÚbashrR   r?   rS   c               ó   € V ^8„  d   QhRR/# )r   r   r5   r   )r   s   "r   r   ÚBashComplete.__annotate__N  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ÚPIPEr_   Úsearchr•   ÚdecodeÚgroupsr   r   )r˜   r™   Úbash_exeÚmatchÚoutputÚmajorÚminors          r   Ú_check_versionÚBashComplete._check_versionM  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R/# rY   r   )r   s   "r   r   r“   n  s   € ÷  ñ  ˜ñ  r   c                	ó@   <€ V P                  4        \        SV `	  4       # r8   )r¥   Úsuperr   )r;   Ú	__class__s   &€r   r   ÚBashComplete.sourcen  s   ø€ Ø×ÑÔÜ‰w‰~ÓÐr   c               ó   € V ^8„  d   QhRR/# ro   r   )r   s   "r   r   r“   r  ó   € ÷ 
 ñ 
 Ð%:ñ 
 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_CWORDr[   ©Úsplit_arg_stringÚosÚenvironÚintÚ
IndexError©r;   ÚcwordsÚcwordrv   rx   s   &    r   rs   Ú BashComplete.get_completion_argsr  ói   € Ü!¤"§*¡*¨\Õ":Ó;ˆÜ”B—J‘J˜|Õ,Ó-ˆØ�a˜ˆˆð	Ø�ˆJð ÐÐøô ô 	Ø‰JàÐÐð	úó   ÁA ÁA$Á#A$c               ó    € V ^8„  d   QhRRRR/# )r   r‚   zCompletionItem[t.Any]r   r   r   )r   s   "r   r   r“   ~  s   € ÷ +ñ +Ð&;ð +Àñ +r   c                	ó8   € VP                    R VP                   2# )Ú,)r0   r/   r„   s   &&r   r…   ÚBashComplete.format_completion~  s   € Ø—)‘)�˜A˜dŸj™j˜\Ð*Ð*r   r   )rE   rF   rG   rH   rI   r?   rO   Ú_SOURCE_BASHrS   Ústaticmethodr¥   r   rs   r…   rK   Ú__classcell__)rª   s   @r   r�   r�   G  sF   ø‡ Ù$à"€Dˆ/Ó"Ø'3€O�_Ó3àôó ð÷@ ð  õ
 ÷+ó +r   r�   c                  óP   € ] tR tRt$ RtRtR]R&   ]tR]R&   R R lt	R	 R
 lt
RtR# )ÚZshCompletei‚  zShell completion for Zsh.ÚzshrR   r?   rS   c               ó   € V ^8„  d   QhRR/# ro   r   )r   s   "r   r   ÚZshComplete.__annotate__ˆ  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   rs   ÚZshComplete.get_completion_argsˆ  r¼   r½   c               ó    € V ^8„  d   QhRRRR/# r�   r   )r   s   "r   r   rÉ   ”  s   € ÷ 0ñ 0Ð&9ð 0¸cñ 0r   c                	ó´   € VP                   ;'       g    R pVR 8w  d   VP                  P                  RR4      MVP                  pVP                   RV RV 2# )r   Ú:z\:r‰   )r1   r/   ra   r0   )r;   r‚   Úhelp_r/   s   &&  r   r…   ÚZshComplete.format_completion”  sR   € Ø—	‘	× Ð ˜Sˆð 38¸3´,�—
‘
×"Ñ" 3¨Ô.ÀDÇJÁJˆØ—)‘)�˜B˜u˜g R¨ wÐ/Ð/r   r   N)rE   rF   rG   rH   rI   r?   rO   Ú_SOURCE_ZSHrS   rs   r…   rK   r   r   r   rÆ   rÆ   ‚  s(   ‡ Ù#à!€Dˆ/Ó!Ø'2€O�_Ó2õ
 ÷0ñ 0r   rÆ   c                  óP   € ] tR tRt$ RtRtR]R&   ]tR]R&   R R lt	R	 R
 lt
RtR# )ÚFishCompletei¦  zShell completion for Fish.ÚfishrR   r?   rS   c               ó   € V ^8„  d   QhRR/# ro   r   )r   s   "r   r   ÚFishComplete.__annotate__¬  s   € ÷  ñ  Ð%:ñ  r   c                	ó  € \        \        P                  R ,          4      p\        P                  R,          pV'       d   \        V4      ^ ,          pVR,          pV'       d'   V'       d   VR,          V8X  d   VP                  4        W23# )r°   r±   :é   NNéÿÿÿÿ)r³   r´   rµ   Úpop)r;   r¹   rx   rv   s   &   r   rs   Ú FishComplete.get_completion_args¬  sb   € Ü!¤"§*¡*¨\Õ":Ó;ˆÜ—Z‘Z Õ-ˆ
ßÜ)¨*Ó5°aÕ8ˆJØ�b�zˆ÷ Ÿ$ 4¨¥8¨zÔ#9Ø�H‰HŒJàÐÐr   c               ó    € V ^8„  d   QhRRRR/# r�   r   )r   s   "r   r   rÖ   º  s   € ÷ +ñ +Ð&9ð +¸cñ +r   c                óð   € VP                   '       dK   VP                   P                  RR4      P                  RR4      pVP                   RVP                   RV 2# VP                   RVP                   2# )z˜
.. versionchanged:: 8.4.2
    Escape newlines and replace tabs with spaces in the help text to
    fix completion errors with multi-line help strings.
r‰   z\nÚ	Ú rÀ   )r1   ra   r0   r/   )r;   r‚   rÏ   s   && r   r…   ÚFishComplete.format_completionº  sh   € ð �9�9ˆ9Ø—I‘I×%Ñ% d¨EÓ2×:Ñ:¸4ÀÓEˆEØ—i‘i�[  $§*¡* ¨R°¨wÐ7Ð7à—)‘)�˜A˜dŸj™j˜\Ð*Ð*r   r   N)rE   rF   rG   rH   rI   r?   rO   Ú_SOURCE_FISHrS   rs   r…   rK   r   r   r   rÓ   rÓ   ¦  s(   ‡ Ù$à"€Dˆ/Ó"Ø'3€O�_Ó3õ ÷+ñ +r   rÓ   r‘   rÔ   rÇ   z't.Final[dict[str, type[ShellComplete]]]Ú_available_shellsÚ_ShellCompleteT)Úboundc               ó$   € V ^8„  d   QhRRRRRR/# )r   Úclsztype[_ShellCompleteT]r?   r2   r   r   )r   s   "r   r   r   Ô  s$   € ÷ ñ Ø	ðØ&0ðàñ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?   râ   )ræ   r?   s   &&r   Úadd_completion_classrè   Ô  s"   € ð ‚|Ø�x‰xˆà!Ô�dÑà€Jr   c               ó    € V ^8„  d   QhRRRR/# )r   r$   zt.Literal['bash']r   ztype[BashComplete]r   )r   s   "r   r   r   é  ó   € × MÑ MÐ 1Ð MÐ6HÑ Mr   c                ó   € R # r8   r   ©r$   s   &r   r"   r"   è  ó   € ÙJMr   c               ó    € V ^8„  d   QhRRRR/# )r   r$   zt.Literal['fish']r   ztype[FishComplete]r   )r   s   "r   r   r   ë  rê   r   c                ó   € R # r8   r   rì   s   &r   r"   r"   ê  rí   r   c               ó    € V ^8„  d   QhRRRR/# )r   r$   zt.Literal['zsh']r   ztype[ZshComplete]r   )r   s   "r   r   r   í  s   € × KÑ KÐ 0Ð KÐ5FÑ Kr   c                ó   € R # r8   r   rì   s   &r   r"   r"   ì  s   € ÙHKr   c               ó    € V ^8„  d   QhRRRR/# ©r   r$   r   r   ztype[ShellComplete] | Noner   )r   s   "r   r   r   ï  s   € × GÑ G Ð GÐ(BÑ Gr   c                ó   € R # r8   r   rì   s   &r   r"   r"   î  s   € ÙDGr   c               ó    € V ^8„  d   QhRRRR/# ró   r   )r   s   "r   r   r   ð  s   € ÷ (ñ ( ð (Ð(Bñ (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â   rA   rì   s   &r   r"   r"   ð  s   € ô × Ñ  Ó'Ð'r   c               ó    € V ^8„  d   QhRRRR/# )r   Ústringr   r   rw   r   )r   s   "r   r   r   ú  s   € ÷ "ñ "˜Sð " Yñ "r   c                óä   € ^ RI pVP                  V RR7      pRVn        RVn        . p V F  pVP                  V4       K  	  V#   \         d     TP                  TP
                  4        T# i ; i)aÇ  Split an argument string as with :func:`shlex.split`, but don't
fail if the string is incomplete. Ignores a missing closing quote or
incomplete escape sequence and uses the partial token as-is.

.. code-block:: python

    split_arg_string("example 'my file")
    ["example", "my file"]

    split_arg_string("example my\")
    ["example", "my"]

:param string: String to split.

.. versionchanged:: 8.2
    Moved to ``shell_completion`` from ``parser``.
NT)Úposixr[   )ÚshlexÚwhitespace_splitÚ
commentersÚappendÚ
ValueErrorÚtoken)rø   rû   ÚlexrŒ   r   s   &    r   r³   r³   ú  sw   € ó$ à
�+‰+�f Dˆ+Ó
)€CØ€CÔØ€C„NØ
€CðÛˆEØ�J‰J�uÖñ ð €Jøô ô ð 	�
‰
�3—9‘9Õà€Jðús   ©A Á&A/Á.A/c               ó$   € V ^8„  d   QhRRRRRR/# )r   r|   r   Úparamr
   r   Úboolr   )r   s   "r   r   r     s!   € ÷ ñ  ð °ð ¸tñ r   c                óª  € \        V\        4      '       g   R# 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   ÚparamsrA   r?   ÚnargsÚget_parameter_sourcer   ÚCOMMANDLINEÚtupleÚlistÚlen)r|   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RR/# )r   r|   r   r/   r   r   r  r   )r   s   "r   r   r   6  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)r|   r/   Úcs   && r   Ú_start_of_optionr  6  s    € çÙàˆa�€AØ×!Ñ!Ñ!Ð!r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r|   r   rv   rw   r  r
   r   r  r   )r   s   "r   r   r   ?  s.   € ÷ Añ A˜wð A¨ið AÀ	ð AÈdñ 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 M	  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)r|   rv   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RRRRRRR	R
/# )r   r   r   r   r   r   r   rv   rw   r   r   r   )r   s   "r   r   r   X  s:   € ÷ :ñ :Ø	ð:à-ð:ð ð:ð ð	:ð
 ñ:r   c                ó„  € RVR&   V P                   ! W#P                  4       3/ VB ;_uu_ 4       pVP                  VP                  ,           pV'       Ed&   VP                  p\        V\        4      '       Ed   VP                  '       gk   VP                  WC4      w  rgpVf   VuuRRR4       # VP                  WcVRR7      ;_uu_ 4       pTpVP                  VP                  ,           pRRR4       K¨  TpV'       d]   VP                  WC4      w  rgpVf   VuuRRR4       # VP                  VVVRRRR7      ;_uu_ 4       p	T	pVP                  pRRR4       Kd  Tp. VP                  OVP                  OpEK-   RRR4       V#   + '       g   i     EKJ  ; i  + '       g   i     K´  ; i  + '       g   i     X# ; i)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_parsingN)Úparentr!  F)r"  Úallow_extra_argsÚallow_interspersed_argsr!  )	Úmake_contextÚcopyÚ_protected_argsrv   Úcommandr  r   ÚchainÚresolve_command)
r   r   r   rv   r|   r(  r?   ÚcmdÚsub_ctxÚsub_sub_ctxs
   &&&&      r   rz   rz   X  s©  € ð %)€HÐ Ñ!Ø	×	Ò	˜)§Y¡Y£[Ñ	=°H×	=Ò	=ÀØ×"Ñ" S§X¡XÕ-ˆçˆdØ—k‘kˆGä˜'¤5×)Ó)Ø—}—}�}Ø&-×&=Ñ&=¸cÓ&H‘O�D˜tà’{Ø"÷ 
>Ò	=ð ×)Ñ)Ø¨3À$ð *÷ ô à Ø%˜Ø"×2Ñ2°S·X±XÕ=˜÷	ñ ð "�GçØ*1×*AÑ*AÀ#Ó*L™˜ 4àš;Ø#&÷3 
>Ò	=ð6 !×-Ñ-Ø Ø Ø#&Ø-1Ø49Ø.2ð .÷ ô ð )Ø&1˜GØ#*§<¡<˜D÷ñ ð "�CØD˜W×4Ñ4ÐD°w·|±|ÐD“Dà÷S 
>ðV €J÷=÷ ñ ú÷÷ ð ú÷7 
>Ö	=ðV €JúsY   ¯&F.Á4F.ÂF.Â/F.Ã F	Ã+F.Ã?F.Ä#F.ÅF	Å*F.ÆFÆ
F.ÆF+Æ%	F.Æ.F?	c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r|   r   rv   rw   rx   r   r   ztuple[Command | Parameter, str]r   )r   s   "r   r   r   •  s,   € ÷ ,#ñ ,#Ø	ð,#Ø!ð,#Ø/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.
Ú=r[   z--)r  r!   rþ   r(  Ú
get_paramsr  r  )r|   rv   rx   r?   r   r  r  s   &&&    r   r{   r{   •  sÐ   € ð �SÔØ‰
Ø	�
Ô	Ô/°×@Ò@Ø(×2Ñ2°3Ó7Ñˆ�Ø�‰�DÔð �4ÔÔ,¨S×=Ò=Ø�{‰{˜JÐ&Ð&à�[‰[×#Ñ# CÓ(€Fó ˆÜ  ¨E×2Ô2ØÐ$Ò$ñ ó ˆÜ" 3×.Ô.ØÐ$Ò$ñ ð �;‰;˜
Ð"Ð"r   r8   )3Ú__conditional_annotations__Ú
__future__r   Úcollections.abcÚabcÚcabcr´   r_   ÚtypingÚtr   r   Úcorer   r   r   r   r	   r
   r   Úutilsr   r'   ÚTYPE_CHECKINGÚtyping_extensionsr(   ÚAnyr)   ÚGenericr-   rÂ   rÑ   rá   Ú	TypedDictrM   rQ   r�   rÆ   rÓ   râ   rO   rã   rè   Úoverloadr"   r³   r  r  r  rz   r{   )r2  s   @r   Ú<module>rA     s…  øðß "Ð "å Û 	Û 	Û Ý  å Ý Ý Ý Ý Ý Ý !Ý õ$ðN ‡?‡?€?Ý)ñ ˜°¸q¿u¹uÔE�Jà—’˜<°4Ô8€Jô"$�Q—Y‘Y˜zÕ*ô "$ðL€ðL*€ðX€ô.�a—k‘kô ÷lñ lô^8+�=ô 8+ôv!0�-ô !0ôH"+�=ô "+ðL ˆLØ
ˆLØ	ˆ;ð>Ð Ð:ó ð —)’)Ð-°_ÔE€÷ð( ‡�Ü Mó Ø MØ‡�Ü Mó Ø MØ‡�Ü Kó Ø KØ‡�Ü Gó Ø Gõ(õ"õJõ."õAõ2:÷z,#r   