ó
    F\h<  ã                   ó`  • S r SSSSSSSSS	S
SS.r0 SS_SS_SS_SS_SS	_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_0 SS_SS_S S _S!S!_S"S"_S#S#_S$S$_S%S%_S&S&_S'S'_S(S(_S)S)_S*S*_S+S+_S,S	_S-S-_S.S/_ES
S0S1.Er " S2 S3\5      rS4\S,\\   4S5 jrS6\S7\S,\	\\   \4   4S8 jr
S;S9 jrg:)<an  
Keymap contains functions for parsing keyspecs and turning keyspecs into
appropriate sequences.

A keyspec is a string representing a sequence of key presses that can
be bound to a command. All characters other than the backslash represent
themselves. In the traditional manner, a backslash introduces an escape
sequence.

pyrepl uses its own keyspec format that is meant to be a strict superset of
readline's KEYSEQ format. This means that if a spec is found that readline
accepts that this doesn't, it should be logged as a bug. Note that this means
we're using the `\C-o' style of readline's keyspec, not the `Control-o' sort.

The extension to readline is that the sequence \<KEY> denotes the
sequence of characters produced by hitting KEY.

Examples:
`a'      - what you get when you hit the `a' key
`\EOA'  - Escape - O - A (up, on my terminal)
`\<UP>' - the up arrow key
`\<up>' - ditto (keynames are case-insensitive)
`\C-o', `\c-o'  - control-o
`\M-.'  - meta-period
`\E.'   - ditto (that's how meta works for pyrepl)
`\<tab>', `\<TAB>', `\t', `\011', '\x09', '\X09', '\C-i', '\C-I'
   - all of these are the tab character.
Ú\Ú'Ú"ÚÚÚÚÚ
ÚÚ	Ú)r   r   r   ÚaÚbÚeÚfÚnÚrÚtÚvÚ	backspaceÚdeleteÚdownÚendÚenterÚescapeÚf1Úf2Úf3Úf4Úf5Úf6Úf7Úf8Úf9Úf10Úf11Úf12Úf13Úf14Úf15Úf16Úf17Úf18Úf19Úf20ÚhomeÚinsertÚleftz	page downzpage upÚreturnÚrightÚspaceÚ Úup)Útabr6   c                   ó   • \ rS rSrSrg)ÚKeySpecErroréh   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r;   ó    Ú%/usr/lib/python3.13/_pyrepl/keymap.pyr9   r9   h   s   † ÚrA   r9   Úkeysc                 óŠ   • Sn/ nU[        U 5      :  a/  [        X5      u  p1UR                  U5        U[        U 5      :  a  M/  U$ )z3Parse keys in keyspec format to a sequence of keys.é    )ÚlenÚ_parse_single_key_sequenceÚextend)rC   Úsr   Úks       rB   Ú
parse_keysrK   l   sB   € à	€AØ€AØ
Œc�$‹i‹-Ü)¨$Ó2‰ˆØ	�‰�Œð Œc�$‹i�-ð €HrA   ÚkeyrI   c                 óD  • SnSnSnU(       Gd+  U[        U 5      :  Ga  X   S:X  Gað  XS-      R                  5       nU[        ;   a  [        U   nUS-  nGOÊUS:X  aS  XS-      S:w  a  [        SUS-   [	        U 5      4-  5      eU(       a  [        S	US-   [	        U 5      4-  5      eSnUS
-  nGOqUS:X  aS  XS-      S:w  a  [        SUS-   [	        U 5      4-  5      eU(       a  [        SUS-   [	        U 5      4-  5      eSnUS
-  nGOUR                  5       (       a%  XS-   US-    n[        [        US5      5      nUS-  nOÞUS:X  a%  XS-   US-    n[        [        US5      5      nUS-  nO³US:X  a~  U R                  SU5      nUS:X  a  [        SUS-   [	        U 5      4-  5      eXS-   U R                  5       nU[        ;  a  [        SXAS-   [	        U 5      4-  5      e[        U   nUS-   nO/[        S[	        U5      US-   [	        U 5      4-  5      eX   nUS-  nU(       d  U[        U 5      :  a  GM  U(       a>  [        U5      S:X  a  [        [        U5      S-  5      nOUS;   a  SU 3nO[        S5      eU/U4nU(       a  US   R                  SS5        U$ )NrE   Ú r   é   é   ÚcÚ-z*\C must be followed by `-' (char %d of %s)zdoubled \C- (char %d of %s)é   Úmz*\M must be followed by `-' (char %d of %s)zdoubled \M- (char %d of %s)é   é   Úxé   Ú<Ú>éÿÿÿÿz)unterminated \< starting at char %d of %sz*unrecognised keyname `%s' at char %d of %sz,unknown backslash escape %s at char %d of %sé   >   r1   r3   zctrl z\C- followed by invalid keyr   )rF   ÚlowerÚ_escapesr9   ÚreprÚisdigitÚchrÚintÚfindÚ	_keynamesÚordr0   )	rL   rI   ÚctrlÚmetaÚretrQ   r   r   Úresults	            rB   rG   rG   v   sï  € Ø€DØ€DØ
€Cß�aœ#˜c›(”lØ‰6�TŒ>Ø˜‘E‘
× Ñ Ó"ˆAØ”H‹}Ü˜q‘k�Ø�Q‘’Ø�c“Ø˜1‘u‘: Ó$Ü&ØEØ˜q™5¤$ s£)Ð,ñ-óð ö Ü&Ø6¸!¸a¹%ÄÀcÃÐ9KÑKóð ð �Ø�Q‘’Ø�c“Ø˜1‘u‘: Ó$Ü&ØEØ˜q™5¤$ s£)Ð,ñ-óð ö Ü&Ø6¸!¸a¹%ÄÀcÃÐ9KÑKóð ð �Ø�Q‘’Ø—‘—‘Ø˜A™  A¡Ð&�Üœ#˜a ›)“n�Ø�Q‘‘Ø�c“Ø˜A™  A¡Ð&�Üœ#˜a ›*“o�Ø�Q‘‘Ø�c“Ø—H‘H˜S !Ó$�Ø˜“7Ü&ØDØ˜q™5¤$ s£)Ð,ñ-óð ð ˜a™% !�n×*Ñ*Ó,�ØœiÓ'Ü&ØDØ A¡¤t¨C£yÐ1ñ2óð ô   ‘n�Ø˜‘E‘ä"ØBÜ˜A“w  A¡¤t¨C£yÐ1ñ2óð ð
 ‘&ˆCØ�‰FˆAöy �aœ#˜c›(–löz Üˆs‹8�q‹=Ü”c˜#“h ‘oÓ&‰CØÐ%Ó%Ø˜#˜�-‰CäÐ=Ó>Ð>àˆU�AˆX€FÞØˆq‰	×Ñ˜˜FÔ#Ø€MrA   c                 ój  • 0 nU R                  5        H<  u  p4[        U[        5      (       a  US S nOUS   nXBR                  U0 5      USS  '   M>     UR                  5        HL  u  p4X;   a5  [	        U5      S:w  a  [        SUR                  5       < S35      eXA   X#'   M?  [        XA5      X#'   MN     U$ )NrO   rE   zkey definitions for z clash)ÚitemsÚ
isinstanceÚbytesÚ
setdefaultrF   r9   ÚvaluesÚcompile_keymap)ÚkeymapÚemptyr   rL   ÚvalueÚfirsts         rB   rp   rp   Å   s§   € Ø
€AØ—l‘l–n‰
ˆÜ�cœ5×!Ñ!Ø˜˜�G‰Eà˜‘FˆEØ+0�‰�U˜BÓ  A B Ó(ñ %ð —g‘g–i‰
ˆØ‹>Ü�5‹z˜Q‹Ý"ÀUÇ\Á\Æ^Ð#UÓVÐVà™�“ä# EÓ1ˆA‹Fñ  ð €HrA   N)rA   )Ú__doc__r^   rd   Ú	Exceptionr9   ÚstrÚlistrK   rb   ÚtuplerG   rp   r;   rA   rB   Ú<module>rz      s9  ðñ*ð< Ø	Ø	Ø	Ø	Ø	Ø	Ø	Ø	Ø	Ø	ñ€ð%Ø�ð%àˆhð%ð ˆFð%ð 
ˆ5ð	%ð
 ˆTð%ð ˆfð%ð 	ˆ$ð%ð 	ˆ$ð%ð 	ˆ$ð%ð 	ˆ$ð%ð 	ˆ$ð%ð 	ˆ$ð%ð 	ˆ$ð%ð 	ˆ$ð%ð 	ˆ$ð%ð  
ˆ5ð!%ð" 
ˆ5ñ#%ð$ 
ˆ5ð%%ð& 
ˆ5ð'%ð( 
ˆ5ð)%ð* 
ˆ5ð+%ð, 
ˆ5ð-%ð. 
ˆ5ð/%ð0 
ˆ5ð1%ð2 
ˆ5ð3%ð4 
ˆ5ð5%ð6 ˆFð7%ð8 ˆhð9%ð: ˆFð;%ð< �ð=%ð> ˆyð?%ð@ ˆdðA%ðB ˆWðC%ðD ˆSñE%ðF Ø
òI%€	ôP	�9ô 	ð�Sð ˜T #™Yô ðL Cð L¨Cð L°E¸$¸s¹)ÀS¸.Ñ4Iô Lõ^rA   