Ë
    úmxi  ã            
      ó   — U d dl mZ d dlmZ d dlmZ ddddddddddœ	Zd	ed
<   dZded<   i dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dddd d d!œ¥Z	d	ed"<   d#d$hZ
d%ed&<   d*d'„Zd+d(„Zy)),é    )Úannotations)ÚFinal)ÚStreamlitAPIExceptionÚctrlÚcmdÚaltÚshift)	r   Úcontrolr   ÚcommandÚmetar   Úoptionr	   ÚmodzFinal[dict[str, str]]Ú_MODIFIER_ALIASES)r   r   r   r	   zFinal[tuple[str, ...]]Ú_MODIFIER_ORDERÚenterÚreturnÚspaceÚspacebarÚtabÚescapeÚescÚ	backspaceÚdeleteÚdelÚhomeÚendÚpageupÚpagedownÚleftÚ	arrowleftÚrightÚupÚdown)Ú
arrowrightr"   Úarrowupr#   Ú	arrowdownÚ_KEY_ALIASESÚcÚrzFinal[set[str]]Ú_RESERVED_KEYSc                óÆ   — | t         v r	t         |    S t        | «      dk(  r| j                  «       r| S | j                  d«      r| dd j	                  «       r| S t        d«      ‚)zFNormalize a key token to a format that can be used on the client side.é   ÚfNzgshortcut must include a single character or one of the supported keys (e.g. Enter, Space, Tab, Escape).)r'   ÚlenÚisalnumÚ
startswithÚisdigitr   )Úlower_tokens    ú\/home/htdocs/ttos/venv/lib/python3.12/site-packages/streamlit/elements/lib/shortcut_utils.pyÚ_normalize_key_tokenr4   D   sl   € ð ”lÑ"Ü˜KÑ(Ð(ä
ˆ;Ó˜1Ò ×!4Ñ!4Ô!6ØÐà×Ñ˜cÔ" {°1°2 ×'>Ñ'>Ô'@ØÐä
ð	,óð ó    c                óP  — t        | t        «      st        d«      ‚| j                  d«      D �cg c]#  }|j	                  «       sŒ|j	                  «       ‘Œ% }}|st        d«      ‚g }d}|D ]f  }|j                  «       }|t        v rt        |   }||vr|j                  |«       Œ:|�t        d«      ‚t        |«      }|t        v rt        d«      ‚|}Œh |€t        d«      ‚t        D �	cg c]	  }	|	|v sŒ|	‘Œ }
}	|�|
j                  |«       dj                  |
«      S c c}w c c}	w )ac  Normalize a shortcut string to a format that can be used on the client side.

    Parameters
    ----------
    shortcut : str
        The shortcut string to normalize.

    Returns
    -------
    str
        The normalized shortcut string.

    Raises
    ------
    StreamlitAPIException
        If the shortcut is not a string value.
        If the shortcut does not contain at least one key or modifier.
        If the shortcut contains a single non-modifier key.
        If the shortcut uses the keys 'C' or 'R', with or without modifiers.
        If the shortcut does not include a non-modifier key.
    z shortcut must be a string value.ú+z9The `shortcut` must contain at least one key or modifier.Nz:The `shortcut` may only specify a single non-modifier key.zIThe `shortcut` cannot use the keys 'C' or 'R', with or without modifiers.zGThe `shortcut` must include a non-modifier key such as 'K' or 'Ctrl+K'.)Ú
isinstanceÚstrr   ÚsplitÚstripÚlowerr   Úappendr4   r*   r   Újoin)ÚshortcutÚtokenÚtokensÚ	modifiersÚkeyÚ	raw_tokenr2   Únormalized_modifierÚnormalized_keyÚmodifierÚnormalized_tokenss              r3   Únormalize_shortcutrI   V   sY  € ô, �h¤Ô$Ü#Ð$FÓGÐGà)1¯©¸Ó)<ÖN ÀÇÁÅˆe�k‰k�mÐN€FÐNÙÜ#ØGó
ð 	
ð €IØ€Càò ˆ	Ø—o‘oÓ'ˆØÔ+Ñ+Ü"3°KÑ"@ÐØ"¨)Ñ3Ø× Ñ Ð!4Ô5Øàˆ?Ü'ØLóð ô .¨kÓ:ˆØœ^Ñ+Ü'Ø[óð ð ‰ð'ð* €{Ü#ØUó
ð 	
ô
 "1ö$Ø°HÀ	Ò4IŠð$Ðð $ð €Ø× Ñ  Ô%à�8‰8Ð%Ó&Ð&ùòS OùòF$s   ¯DÁDÃ*	D#Ã4D#N)r2   r9   r   r9   )r?   r9   r   r9   )Ú
__future__r   Útypingr   Ústreamlit.errorsr   r   Ú__annotations__r   r'   r*   r4   rI   © r5   r3   ú<module>rO      sW  ðö  #õõð
 ØØØØØØØØñ
,Ð Ð(ó 
ð +J€Ð'Ó Ið'ØˆWð'àˆgð'ð ˆWð'ð �ð	'ð
 
ˆ5ð'ð ˆhð'ð 
ˆ8ð'ð �ð'ð ˆhð'ð 
ˆ8ð'ð ˆFð'ð 
ˆ5ð'ð ˆhð'ð �
ð'ð ˆFð'ð  �ð!'ð" ˆWð#'ð$ Ø
ØØØò-'€Ð#ó ð2 $'¨ *€�Ó ,óô$B'r5   