
    j:jZ                        S SK r S SKJr  SSKJr  SSKJrJrJr  SSK	J
r
Jr  SSKJrJr  S	\S
\\\\4   4S jr S/S\S\S\\\   \\\4   4   S
\S   4S jjr0 S\" S5      _S\" S5      _S\" S5      _S\" S5      _S\" S5      _S\" S5      _S\" S5      _S\" S5      _S\" S5      _S\" S5      _S\" S5      _S \" S 5      _S!\" S!5      _S"\" S"5      _S#\" S#5      _S$\" S$5      _S%\" S%5      _\" S&5      \" S'5      S(.ErS)r S/S\S\S\\\   \\\4   4   S
\S   4S* jjr S/S+\\\4   S\S\\\   \\\4   4   S
\\\4   4S, jjrS-\S
\4S. jrg)0    N)Union   )_pdfdoc_encoding)
StreamTypelogger_warningread_non_whitespace)STREAM_TRUNCATED_PREMATURELYPdfStreamError   )ByteStringObjectTextStringObjectvaluereturnc                 .   ^  [        U 4S jS 5       5      $ )Nc              3   j   >#    U  H(  n[        TR                  S 5      XS-    S5      S-  v   M*     g7f)#r      g     o@N)intlstrip).0ir   s     J/var/www/website/venv/lib/python3.13/site-packages/pypdf/generic/_utils.py	<genexpr>hex_to_rgb.<locals>.<genexpr>   s/     R	1U\\#&qq5126>	s   03)r   r      )tuple)r   s   `r   
hex_to_rgbr   
   s    R	RRR    streamforced_encoding)r   r   c                    U R                  S5        / nSn [        U 5      nU(       d  [        [        5      eUS:X  a  OFUS;  a  [        SU< S35      eX4-  n[	        U5      S:X  a  UR                  [        USS	95        SnMn  [	        U5      S:X  a  US
-  nUS:w  a  UR                  [        USS	95        [        [        U5      U5      $ )Nr   r      >s   0123456789abcdefABCDEFzInvalid hexadecimal character z in hex stringr   r   base   0)	readr   r
   r	   lenappendr   create_string_objectbytes)r   r    arrxtoks        r   read_hex_string_from_streamr.      s     KKN
CA
!&) !=>>$;// 0~F  	
q6Q;JJs12'A  1v{	T	Cx

3qr?#c
O<<r      n   
   r      t   	   b      f      (   )   /   \       %   <r"      [   ]   #   _   &   $)rD   rE   \   c           	         U R                  S5      nSn/ n U R                  S5      nU(       d  [        [        5      eUS:X  a  US-  nOEUS:X  a  US-  nUS:X  a  OOO2US:X  a,  U R                  S5      n UR                  [        U   5        My  UR                  [        U5      5        M  [        [!        U5      U5      $ ! [
         Ga%    SUs=::  a  S::  a  O  OU R                  5       S-
  n[        S5       H<  nU R                  S5      nSUs=::  a  S::  a	  O  OX'-  nM*  U R                  S	S5          O   [        US
S9nUS:  a'  UR                  [        5        U R                  U5        OUR                  U5         GMo  US;   a-  U R                  S5      nUS;  a  U R                  S	S5         GM  [        S[        UR                  SS5      S9  UR                  [        5         GN`f = f)Nr   r9   r:   r   r<   r%      7r      r#      s   
z$Unexpected escaped string: %(token)szutf-8ignore)sourcetoken)r&   r
   r	   r(   __ESCAPE_DICT__KeyErrortellrangeseekr   __BACKSLASH_CODE__r   __name__decodeordr)   r*   )	r   r    r-   parenstxtsav_ntokr   s	            r   read_string_from_streamr]   B   s    ++a.CF
C
kk!n !=>>$;aKFD[aKF{ E\++a.C(/

?3/0N 	

3s8k l  c
O<<O  %/3&$& !++-!+C"1X%{{1~4/4/KC"KKA.! & Ca(A3w

#56C(

1'> !++a.C')B* :#**Wh7
 

-.K%/s   5C   CG0/G084G0/G0stringc                 x   [        U [        5      (       a  [        U 5      $ [        U [        5      (       Ga  [        U[        [
        45      (       a&  SnU  H  n X!U   -  nM     [        U5      nXl        U$ [        U[        5      (       a3  US:X  a  [        U 5      $ [        U R                  U5      5      nXl        U$  U R                  [        R                  [        R                  45      (       a3  [        U R                  S5      5      nXl        SUl        U SS Ul        U$ U R                  S5      (       a>  [        U R                  S	5      5      nXl        SUl        [        R                  Ul        U$ U S
S S:X  a>  [        U R                  S5      5      nXl        SUl        [        R                  Ul        U$ [        [!        U 5      5      nXl        SUl        U$ ['        S5      e! [         a#    U[        U45      R                  S5      -  n GM  f = f! [$         a    [        U 5      s $ f = f)a  
Create a ByteStringObject or a TextStringObject from a string to represent the string.

Args:
    string: The data being used
    forced_encoding: Typically None, or an encoding string

Returns:
    A ByteStringObject

Raises:
    TypeError: If string is not of type str or bytes.

 charmapr*   zutf-16TNr       zutf-16ber   zutf-16lez3create_string_object should have str or unicode arg)
isinstancestrr   r*   listdict	ExceptionrV   _original_bytesr   
startswithcodecsBOM_UTF16_BEBOM_UTF16_LEautodetect_utf16	utf16_bomdecode_pdfdocencodingautodetect_pdfdocencodingUnicodeDecodeError	TypeError)r^   r    outr,   objretvals         r   r)   r)      s   $ &#''&%  od|44C91--C 
 #3'C"(Jos++')'//"6==#ABC"(J	,  &"5"5v7J7J!KLL)&--*AB)/&*.'#)"1:   )))&--
*CD)/&*.'#)#6#6 a{g%)&--
*CD)/&*.'#)#6#6  &&;F&CDF%+"/3F,M MNNW ! 95!;--i88C9P " 	,#F++	,s9   G1A&H! (AH! <AH! "H! 1(HH!H98H9
byte_arrayc                 r    SnU  H.  n[         U   nUS:X  a  [        S[        U5      SSS5      eX-  nM0     U$ )Nr`    pdfdocencodingrI   z#does not exist in translation table)r   rq   	bytearray)rv   ru   bcs       r   ro   ro      sR    FQ=$ !5  	  Mr   )N)rj   typingr   _codecsr   _utilsr   r   r   errorsr	   r
   _baser   r   rd   r   floatr   re   rf   r   r.   rW   rO   rT   r]   r*   r)   ro    r   r   <module>r      sj     & D D A 5Sc SeE5%$78 S DH==4d3ic3h?@= 12=8#e*#e* 	#e* 	#e*	
 	#e* 	#d) 	#d) 	#d) 
3u: 	#d) 	#d) 	#d) 	#d) 	#d) 	#d)  	#d)!" 	#d)#$ d)
d)'*  
 DH====4d3ic3h?@== 12==D DHEO#u*EO4d3ic3h?@EO --.EOPe  r   