
    h                        d dl Z d dlZd dlmZmZmZ d dlmZmZ  ej                  d      Z
 ed      D  ch c]  } d| dj                  d       c} ZdZd	Zed
z   Zeez   Zeez   dz   Zeez   Z ej&                  d      Z ej&                  d      Z e j,                  d      Z G d d      Z G d d      Zyc c} w )    N)ascii_lettersascii_lowercasedigits)Optionalcastascii   %02Xz:/?#[]@z!$'()*,+&=;z-._~s   [A-Z0-9][A-Z0-9]z[A-Fa-f0-9][A-Fa-f0-9]zutf-8c                   P    e Zd Zddddddedededed	d
f
dZdee   d	ee   fdZy
)_Quoter FT)safe	protectedqsrequoter   r   r   r   returnNc                <    || _         || _        || _        || _        y )N)_safe
_protected_qs_requote)selfr   r   r   r   s        [/var/www/html/retail-simulation-api/retail/lib/python3.12/site-packages/yarl/_quoting_py.py__init__z_Quoter.__init__   s      
#    valc                 F   |y t        |t              st        d      |syt        t        |      j	                  dd      }t               }t               }| j                  }|t        z  }| j                  s|dz  }|| j                  z  }|j	                  d      }d}|t        |      k  r%||   }|d	z  }|r;|t        v r|d
z
  }|j                  |       t        |      dk(  r|d	d  }	t        j                  |	      s'|j                  d       |j!                          |dz  }	 t#        t%        |d	d  j'                  d      d            }
|
| j                  v r|j                  |       n0|
|v r|j                  t+        |
             n|j                  |       |j!                          nBt        |      dk(  r4|t        |      k(  r&|j                  d       |j!                          |d	z  }W|t+        d      k(  rN| j,                  rB|j!                          |j                  |       |t        |      k(  r|j                  d       | j                  r*|t+        d      k(  r|j                  t+        d             ||v r|j                  |        |j                  d|dj	                  d             |t        |      k  r%|j'                  d      }||k(  r|S |S # t(        $ r* |j                  d       |j!                          |dz  }Y w xY w)NArgument should be strr   utf8ignore)errorsr   r   r             s   %25      baser
    +r   )
isinstancestr	TypeErrorr   encode	bytearrayr   ALLOWEDr   r   lenBASCII_LOWERCASEappend_IS_HEXmatchextendclearchrintdecode
ValueErrorordr   )r   r   bvalretpctr   bsafeidxchbufunquotedret2s               r   __call__z_Quoter.__call__$   s   ;#s#455C~$$VH$=kkzzxxFNDG$CIocB1HC))bB

2s8q=ab'C"==-

6*		q !#&s3qr7>>'+B'L#M  4??2

3!T)

3x=1

3IIK X]sc$i'7JJv&IIK1HCs3xDMM		

2 #d)#JJv&xxS>JJs3x(U{

2JJ!Bs8,,W56s CIov zz'"3;J[ & !

6*		q 	!s   )(K- -/L L __name__
__module____qualname__r.   boolr   r   rH    r   r   r   r      se         	 
     
 OHSM Ohsm Or   r   c                   D    e Zd ZddddededdfdZd	ee   dee   fd
Zy)	_Unquoterr   F)unsafer   rQ   r   r   Nc                `    || _         || _        t               | _        t        d      | _        y )NT)r   )_unsafer   r   _quoter
_qs_quoter)r   rQ   r   s      r   r   z_Unquoter.__init__w   s%    y!T*r   r   c                    |y t        |t              st        d      |syt        t        j
                  t                     }g }d}|t        |      k  r||   }|dz  }|dk(  r|t        |      dz
  k  r|||dz    }t        j                  |      rt        t        |d      g      }|dz  }	 |j                  |      }|s}| j"                  r4|d
v r0| j%                  |      }
|
t'        d      |j                  |
       nO|| j(                  v r0| j+                  |      }
|
t'        d      |j                  |
       n|j                  |       |j                  rE|dz
  t        |j                        d	z  z
  }	|j                  ||	|dz
          |j!                          |dk(  r?| j"                  r|| j(                  v r|j                  d       n|j                  d       || j(                  v rP|j                  d       t-        t/        |            j1                         dd  }|D ]  }|j                  |        |j                  |       |t        |      k  r|j                  r+|j                  |t        |j                         d	z  d         dj3                  |      }||k(  r|S |S # t        $ r |d	z
  t        |j                        d	z  z
  }	|j                  ||	|d	z
          |j!                          	 |j                  |      }n(# t        $ r |j                  ||d	z
  |        Y Y w xY wY w xY w)Nr    r   r   r$   r
   r'   r(   r)   r&   z+=&;zCannot quote Noner,   r+   )r-   r.   r/   r   codecsBufferedIncrementalDecoderutf8_decoderr3   _IS_HEX_STR	fullmatchbytesr;   r<   UnicodeDecodeErrorbufferr5   resetr   rU   RuntimeErrorrS   rT   hexr>   upperjoin)r   r   decoderr@   rC   rD   rA   brF   	start_pctto_addhrG   s                r   rH   z_Unquoter.__call__}   s   ;#s#455v88,.ICHnSB1HCSySCHqL0#a(((-s3R012A1HC
%#*>>!#4 $ xxH$6!%!:!>"./B"CC

6*!T\\1!%h!7!>"./B"CC

6*

8,~~!Gc'..&9A&==	

3y3734Syxx2#5JJsOJJsOT\\!

3BL&&(,BJJrN JJrNm CHnp >>JJsC//!3567wws|3;Ji . %$'!Gc'...AA.E$E	

3y37#;<%'.~~a'8H1 %JJs37S'9:$% %%s7   1J; ;AM
LM M<M MMMrI   rN   r   r   rP   rP   v   s?    (*u +# + + +HHSM Hhsm Hr   rP   )rW   restringr   r   r   typingr   r   r0   r4   rangeBPCT_ALLOWED
GEN_DELIMSSUB_DELIMS_WITHOUT_QS
SUB_DELIMSRESERVED
UNRESERVEDr2   compiler6   rZ   getincrementaldecoderrY   r   rP   )is   0r   <module>rv      s     	 9 9 !)?))'2 5:3Z@Z!Ac7""7+Z@
! "V+

"V#f,

,
, "**(
)bjj12+v++G4] ]@O O_ As   B<