
    SAiw	                         S SK JrJrJrJr  S SKJr  S SKJr  S SK	J
r
  SSKJr  S\\\4   S\4S	 jrS
\S\4S jrS\\\\4      S\\   4S jrS\S\4S jrS\S\\   4S jrS\S\4S jrg)    )AnyListOptionalUnion)	PDFObjRef)	PSLiteralPDFDocEncoding   )MalformedPDFExceptionsreturnc                     [        U [        5      (       a&  U R                  S5      (       a  [        U SS SS5      $  S U  5       nSR	                  S U 5       5      $ ! [
         a    [        U 5      s $ f = f)	z[
Decodes a PDFDocEncoding string to Unicode.
Adds py3 compatibility to pdfminer's version.
s      Nzutf-16beignorec              3   f   #    U  H'  n[        U[        5      (       a  [        U5      OUv   M)     g 7fN)
isinstancestrord).0cs     Y/var/www/html/land-ocr/venv/lib/python3.13/site-packages/pdfplumber/utils/pdfinternals.py	<genexpr>decode_text.<locals>.<genexpr>   s%     ?Q*Q,,A!3Qs   /1 c              3   4   #    U  H  n[         U   v   M     g 7fr   r	   )r   os     r   r   r      s     7$Q~a($s   )r   bytes
startswithr   join
IndexError)r   ordss     r   decode_textr$   
   sp    
 !U[ 9 91QR5*h//?Q?ww7$777 1vs    A A65A6objc                    [        U S5      (       a  U R                  5       n [        U [        5      (       a  [        [	        [
        U 5      5      $ [        U [        5      (       a  [        U R                  5      $ [        U [        [        45      (       a  [        U 5      $ [        U [        5      (       a(  U R                  5        H  u  p[        U5      X'   M     U $ U $ )z(Recursively resolve the metadata values.resolve)hasattrr'   r   listmapresolve_and_decoder   r$   namer   r   dictitems)r%   kvs      r   r+   r+      s    sIkkm#tC*C011	C	#	#388$$	C#u	&	&3	C		IIKDA'*CF  
J    _listc                     U  Vs/ s H/  n[        U[        5      (       a  [        UR                  5      OUPM1     sn$ s  snf r   )r   r   r$   r,   )r2   values     r   decode_psl_listr5   *   sC     E $.eY#?#?EJJUJ  s   6>xc                 P    [        U [        5      (       a  U R                  5       $ U $ r   )r   r   r'   )r6   s    r   r'   r'   1   s     !Yyy{r1   dc                     [        U [        5      (       d  g U R                  S5      n[        U[        5      (       a  [	        UR
                  5      $ U$ )NType)r   r-   getr   r$   r,   )r8   ts     r   get_dict_typer=   8   s@    a	fA!Y166""r1   c                    [        U [        5      (       a-  U R                  5       n[        U5      S:X  a  U $  [	        U5      $ [        U [        [        45      (       a  [        U 5      " S U  5       5      $ [        U [        5      (       aJ  [        U 5      S:X  a  S/O/ nU R                  5        VVs0 s H  u  pEXDU;   a  UO
[	        U5      _M     snn$ U $ ! [
         a  n[        U5      eSnAff = fs  snnf )z>
Recursively resolves the given object and all the internals.
PageNc              3   8   #    U  H  n[        U5      v   M     g 7fr   )resolve_all)r   r0   s     r   r   resolve_all.<locals>.<genexpr>R   s     1q!{1~~qs   AnnotParent)r   r   r'   r=   rA   RecursionErrorr   r)   tupletyper-   r.   )r6   resolvede
exceptionsr/   r0   s         r   rA   rA   B   s     !Y99; "f,H	+x(( 
Ae}	%	%Aw1q111	At		#0#3w#>hZB
HI	R	Z1[^;	RR  	+'**	+ Ss   
C 2C4
C1!C,,C1N)typingr   r   r   r   pdfminer.pdftypesr   pdfminer.psparserr   pdfminer.utilsr
   rJ   r   r   r   r$   r+   r5   r'   r=   rA    r1   r   <module>rP      s    - - ' ' ) -5$  C C $4in 56 49 s s S Xc] 3 3 r1   