
    %h                     f   S SK r S SKJrJrJrJr  SSKJr  SSKJ	r	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 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)    N)DictListTupleUnion   )_pdfdoc_encoding)
StreamTypeb_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     M/var/www/auris/envauris/lib/python3.13/site-packages/PyPDF2/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                 t   U R                  S5        SnSn [        U 5      nU(       d  [        [        5      eUS:X  a  O-X4-  n[	        U5      S:X  a  U[        [        USS95      -  nSnMU  [	        U5      S:X  a  US-  n[	        U5      S:X  a  U[        [        USS95      -  n[        [        U5      U5      $ )	Nr    r"      >r   r   base   0)	readr   r   r   lenchrr   create_string_objectr
   )r#   r$   txtxtoks        r   read_hex_string_from_streamr2      s     KKN
CA
!&) !=>>$;	q6Q;3s12''CA  1v{	T	
1v{s3qr?##399r"   c           
      v   U R                  S5      nSn/ n U R                  S5      nU(       d  [        [        5      eUS:X  a  US-  nOjUS:X  a  US-  nUS:X  a  OkOWUS:X  aQ  U R                  S5      n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_SSSS.En XR   nUR                  U5        M  [        S%R                  U5      U5      $ ! [         a    SU::  ak  US::  ae  [	        S 5       H8  nU R                  S5      nSU::  a  US::  a  X'-  nM&  U R                  S!S5          O   [        [        [        US"S#95      5      n NUS$;   a-  U R                  S5      nUS$;  a  U R                  S!S5        S%n NS&UR                  S'5       3n[        U[        5         GNf = f)(Nr      (   )r      \   n   
   r      t   	   b      f      cs   \c   /       %   <r'      [   ]   #   _   &   $)rI   rJ   rK   r*      7r      r(   s   
r"   zUnexpected escaped string: utf8)r+   r   r   KeyErrorrangeseekr
   r-   r   decoder   __name__appendr.   join)	r#   r$   r1   parensr/   escape_dict_ntokmsgs	            r   read_string_from_streamr\   &   s_    ++a.CF
C
kk!n !=>>$;aKFD[aKF{ E\++a.Cee e e	
 e f d d d u d d d d d  d!" d#$ )K,2!&: 	

3A B  ??;  23;3$; #1X%{{1~4<DDLKC"KKA.! & SSq!123CG^ !++a.C')B* C8F9K8LMC"3172s   0C" "A9F81F8$F87F8stringc                    [        U [        5      (       a  [        U 5      $ [        U [        5      (       a  [        U[        [
        45      (       a  SnU  H  n X!U   -  nM     [        U5      $ [        U[        5      (       a+  US:X  a  [        U 5      $ [        U R                  U5      5      $  U R                  [        R                  5      (       a#  [        U R                  S5      5      nSUl        U$ [        [        U 5      5      nSUl        U$ [!        S5      e! [         a"    U[        U45      R                  S5      -  n M  f = f! [         a    [        U 5      s $ f = f)z
Create a ByteStringObject or a TextStringObject from a string to represent the string.

:param Union[str, bytes] string: A string

:raises TypeError: If string is not of type str or bytes.
r&   charmapbyteszutf-16Tz3create_string_object should have str or unicode arg)
isinstancestrr   r`   listdict	ExceptionrS   r   
startswithcodecsBOM_UTF16_BEautodetect_utf16decode_pdfdocencodingautodetect_pdfdocencodingUnicodeDecodeError	TypeError)r]   r$   outr0   retvals        r   r.   r.   q   sL    &#''	FE	"	"od|44C91--C 
 $C((--')'//#FMM/$BCC0$$V%8%899-fmmH.EFF.2F+!M ..CF.KLF7;F4!M MNN1 ! 95!;--i88C9* & 0'//0s+   D0AE 7E (E
EE&%E&
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&    pdfdocencodingrM   z#does not exist in translation table)r   rl   	bytearray)rp   ro   bcs       r   rj   rj      sR    FQ=$ !5  	  Mr"   )N)rg   typingr   r   r   r   _codecsr   _utilsr	   r
   r   r   errorsr   r   _baser   r   rb   floatr!   r   r2   r\   r`   r.   rj    r"   r   <module>r~      sA    + + & H H A 5Sc SeE5%$78 S DH::4d3ic3h?@: 12:4 DHH@H@4d3ic3h?@H@ 12H@Z DH+O#u*+O4d3ic3h?@+O --.+O\e  r"   