
    	^c                        d dl Z ddlmZ d Zd Zd Zg Ze                    d  ed          D                        e                    d	  edd
          D                        e	                    d           ded<   ded<   ded<   ded<   ded<   ded<   ded<   edd         Z
de
d<   de
d<   e                    d  edd           D                        d! Zd"Zd# ZdS )$    N   )pycompatc                 T    	 |                      d           dS # t          $ r Y dS w xY w)NasciiTF)decodeUnicodeDecodeErrorss    ;/usr/lib/python3/dist-packages/mercurial/pure/charencode.py
isasciistrr      s@    	t   uus    
''c                 T    |                      d           |                                 S )zhconvert a string to lowercase if ASCII

    Raises UnicodeDecodeError if non-ASCII characters are found.r   )r   lowerr	   s    r   
asciilowerr      $     HHW7799    c                 T    |                      d           |                                 S )zhconvert a string to uppercase if ASCII

    Raises UnicodeDecodeError if non-ASCII characters are found.r   )r   upperr	   s    r   
asciiupperr      r   r   c              #       K   | ]	}d |z  V  
dS )   \u%04xN .0xs     r   	<genexpr>r   '   s&      221
Q222222r       c              #   >   K   | ]}t          j        |          V  d S Nr   bytechrr   s     r   r   r   (   s-      << ##<<<<<<r      s   \u007fs   \t	   s   \n
   s   \""   s   \\\   s   \b   s   \f   s   \r   s   \u003c<   s   \u003e>   c              #   >   K   | ]}t          j        |          V  d S r   r   r   s     r   r   r   4   s-      == ##======r         c                     |rt           nt          	 d                    fdt          |           D                       S # t          $ r t
          w xY w)zConvert a UTF-8 byte string to JSON-escaped form (fast path)

    Raises ValueError if non-ASCII characters have to be escaped.
    r   c              3   (   K   | ]}|         V  d S r   r   r   r   jms     r   r   z#jsonescapeu8fast.<locals>.<genexpr>A   s'      ::!1::::::r   )_paranoidjsonmap_jsonmapjoin	bytearray
IndexError
ValueError)u8charsparanoidr1   s     @r   jsonescapeu8fastr:   7   sn    
  xx::::y'9'9::::::   s   -A Asurrogatepassc                 $   |rt           nt          |                     dt                                        dt                    }t          j        d|          }|                    d           d                    fd|D                       S )zConvert a UTF-8 byte string to JSON-escaped form (slow path)

    Escapes all non-ASCII characters no matter if paranoid is False.
    zutf-8zutf-16Hr   r   c              3   >   K   | ]}|d k     r|         nd|z  V  dS )r,   r   Nr   r0   s     r   r   z'jsonescapeu8fallback.<locals>.<genexpr>V   s7      KKQQWWBqEE*q.KKKKKKr   )r2   r3   r   _utf8strictencodearraypopr4   )r8   r9   u16bu16codesr1   s       @r   jsonescapeu8fallbackrE   I   s    
  >>';//66xMMD{3%%HLLOOO88KKKK(KKKKKKr   )rA    r   r   r   r   r3   extendrangeappendr2   r:   r?   rE   r   r   r   <module>rJ      s~                 22b		222 2 2 2 <<UU2s^^<<< < < < 
   AAA; #  #   ==UU3__=== = = =   L L L L Lr   