o
    Df_5                     @  st	  U d Z ddlmZ ddlmZ ddgZi dejdejd	ejd
ej	dej
dejdejdejdejdejdejdejdejdejdejdejdeji dejdejdejdejdejdejdejdejd ejd!ej d"ej!d#ej"d$ej#d%ej$d&ej%d'ej&d(eji d)ej'd*ej(d+ej)d,ej*d-ej+d.ej,d/ej'd0ej*d1ej-d2ej-d3ej-d4ej.d5ej/d6ej0d7ej1d8ej.d9ej/i d:ej0d;ej1d<ej2d=ej.d>ej/d?ej0d@ej1dAej2dBej3dCej4dDej5dEej6dFej7dGej8dHej9dIej:dJej;i dKej<dLej=dMej>dNej?dOej@dPejAdQej:dRej;dSej=dTej>dUej?dVej@dWejAdXejBdYejCdZejDd[ejEi d\ejd]ejd^ejd_ejFd`ejGdaejHdbejIdcejJddejKdeejLdfejMdgejNdhejOdiejPdjejQdkejRdlejSi dmejTdnejUdoejVdpejWdqejXdrejYdsejZdtej[duej\dvej]dwej^dxej_dyej_dzej`d{ejad|ejbd}ej!ej(fi d~ej!ej)fdej!ej+fdej!ej,fdej!ejcfdej!ej`fdej!ejafdej!ejbfdejddejedejfdejgdejhdejidej!ejjfdej!ejffdej!ejffdej!ejkfi dej!ejifdej!ejifdejldejmdejndejodej'dej*dejldejmdejndejodej*dej'dejpdejqdejri dejsdejtdejudej!ejlfdej!ejmfdej!ejnfdej!ejofdej!ej*fdej!ej'fdej!ejqfdej!ejpfdej!ejrfdej!ejsfdej!ejtfdej!ejufdejvdejwi dejxdejydejzdej{dejvdejwdejxdejydejxdejydej|dej}dej~dejdejdejdej!ejwfi dej!ejvfdej!ejxfdej!ejyfdej!ejzfdej!ej{fdej!ej|fdej!ej}fdej!ej~fdej!ejfdej!ejfdej!ejfdej!ejlfdej!ejmfdej!ejnfdej!ejofdejdeji dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdeji dejdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfdej!ejfej!ejfej!ejfej!ejfej!ejfdZded< dddZe ZdS )a  
Mappings from VT100 (ANSI) escape sequences to the corresponding prompt_toolkit
keys.

We are not using the terminfo/termcap databases to detect the ANSI escape
sequences for the input. Instead, we recognize 99% of the most common
sequences. This works well, because in practice, every modern terminal is
mostly Xterm compatible.

Some useful docs:
- Mintty: https://github.com/mintty/mintty/blob/master/wiki/Keycodes.md
    )annotations   )KeysANSI_SEQUENCESREVERSE_ANSI_SEQUENCES 	
   z[1~z[2~z[3~z[4~z[5~z[6~z[7~z[8~z[Zz	z[~zOPzOQzORzOSz[[Az[[Bz[[Cz[[Dz[[Ez[11~z[12~z[13~z[14~z[15~z[17~z[18~z[19~z[20~z[21~z[23~z[24~z[25~z[26~z[28~z[29~z[31~z[32~z[33~z[34~z[1;2Pz[1;2Qz[1;2Sz[15;2~z[17;2~z[18;2~z[19;2~z[20;2~z[21;2~z[23;2~z[24;2~z
[27;2;13~z
[27;5;13~z
[27;6;13~z[1;5Pz[1;5Qz[1;5Sz[15;5~z[17;5~z[18;5~z[19;5~z[20;5~z[21;5~z[23;5~z[24;5~z[1;6Pz[1;6Qz[1;6Sz[15;6~z[17;6~z[18;6~z[19;6~z[20;6~z[21;6~z[23;6~z[24;6~z[62~z[63~z[200~z[Ez[Gz[3;2~z[5;2~z[6;2~z[2;3~z[3;3~z[5;3~z[6;3~z[2;4~z[3;4~z[5;4~z[6;4~z[3;5~z[5;5~z[6;5~z[3;6~z[5;6~z[6;6~z[2;7~z[5;7~z[6;7~z[2;8~z[5;8~z[6;8~z[Az[Bz[Cz[Dz[Hz[FzOAzOBzOCzODzOFzOHz[1;2Az[1;2Bz[1;2Cz[1;2Dz[1;2Fz[1;2Hz[1;3Az[1;3Bz[1;3Cz[1;3Dz[1;3Fz[1;3Hz[1;4Az[1;4Bz[1;4Cz[1;4Dz[1;4Fz[1;4Hz[1;5Az[1;5Bz[1;5Cz[1;5Dz[1;5Fz[1;5Hz[5Az[5Bz[5Cz[5DzOczOdz[1;6Az[1;6Bz[1;6Cz[1;6Dz[1;6Fz[1;6Hz[1;7Az[1;7Bz[1;7Cz[1;7Dz[1;7Fz[1;7Hz[1;8Az[1;8Bz[1;8Cz[1;8Dz[1;8Fz[1;8Hz[1;9Az[1;9Bz[1;9Cz[1;9Dz[1;5pz[1;5qz[1;5rz[1;5sz[1;5tz[1;5uz[1;5vz[1;5wz[1;5xz[1;5yz[1;6pz[1;6qz[1;6rz[1;6sz[1;6tz[1;6uz[1;6vz[1;6wz[1;6xz[1;6yz[1;7pz[1;7qz[1;7rz[1;7sz[1;7tz[1;7uz[1;7vz[1;7wz[1;7xz[1;7yz[1;8pz[1;8qz[1;8rz[1;8sz[1;8tz[1;8u)z[1;8vz[1;8wz[1;8xz[1;8yz"dict[str, Keys | tuple[Keys, ...]]returndict[Keys, str]c                  C  s4   i } t  D ]\}}t|ts|| vr|| |< q| S )zc
    Create a dictionary that maps prompt_toolkit keys back to the VT100 escape
    sequences.
    )r   items
isinstancetuple)resultsequencekey r1   c/home/ubuntu/webapp/venv/lib/python3.10/site-packages/prompt_toolkit/input/ansi_escape_sequences.py_get_reverse_ansi_sequencesI  s   
r3   N)r)   r*   )__doc__
__future__r   keysr   __all__	ControlAtControlAControlBControlCControlDControlEControlFControlGControlHControlIControlJControlKControlLControlMControlNControlOControlPControlQControlRControlSControlTControlUControlVControlWControlXControlYControlZEscapeShiftEscapeControlBackslashControlSquareCloseControlCircumflexControlUnderscoreHomeInsertDeleteEndPageUpPageDownBackTabF1F2F3F4F5F6F7F8F9F10F11F12F13F14F15F16F17F18F19F20F21F22F23F24	ControlF1	ControlF2	ControlF4	ControlF5	ControlF6	ControlF7	ControlF8	ControlF9
ControlF10
ControlF11
ControlF12
ControlF13
ControlF14
ControlF16
ControlF17
ControlF18
ControlF19
ControlF20
ControlF21
ControlF22
ControlF23
ControlF24ScrollUp
ScrollDownBracketedPasteIgnoreShiftDeleteShiftPageUpShiftPageDownShiftInsertControlDeleteControlPageUpControlPageDownControlShiftDeleteControlShiftPageUpControlShiftPageDownControlInsertControlShiftInsertUpDownRightLeftShiftUp	ShiftDown
ShiftRight	ShiftLeftShiftEnd	ShiftHome	ControlUpControlDownControlRightControlLeft
ControlEndControlHomeControlShiftDownControlShiftUpControlShiftRightControlShiftLeftControlShiftEndControlShiftHomeControl0Control1Control2Control3Control4Control5Control6Control7Control8Control9ControlShift0ControlShift1ControlShift2ControlShift3ControlShift4ControlShift5ControlShift6ControlShift7ControlShift8ControlShift9r   __annotations__r3   r   r1   r1   r1   r2   <module>   s   	
 !"*-./01234567:;<=>?@ABCDEFGHIJKLMNOPQRSTUVXY[\]^_`abcijknoqrstuvwxyz{}~             	  
                                     !  "  #  $  %  &  '  (  )  -  .  /  0  1  2  7  8  9  :  ;  <  >  ?  @  A  B  C  M  N  O  P  Q  R  T  U  V  W  X  Y  [  \  ]  ^  _  `  d  e  f  g  h  i  k  l  m  n  o  p  r  s  t  u  v  w  y  z  {  |  }  ~                       	    
                                                                                             !    "    #    $    %    &    '    (    )    *    +    
,


    
3
