§
    §‘ÚjÕ  ã            
       ó   — d dl Z d dlmZ d dlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZmZ dd	lmZmZ d
edeeeef         fd„Z	 d2dedeeee         eeef         df         ded         fd„Zi d e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¦  «        “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'¦  «         ed(¦  «        d)œ¥Zd*Z	 d2dedeeee         eeef         df         ded         fd+„Z	 d2d,eeef         deeee         eeef         df         deeef         fd-„Zd.edefd/„Ze G d0„ d1¦  «        ¦   «         Z dS )3é    N)Ú	dataclass)ÚUnioné   )Ú_pdfdoc_encoding)Ú
StreamTypeÚlogger_warningÚread_non_whitespace)ÚSTREAM_TRUNCATED_PREMATURELYÚPdfStreamErroré   )ÚByteStringObjectÚTextStringObjectÚvalueÚreturnc                 ó:   ‡ — t          ˆ fd„dD ¦   «         ¦  «        S )Nc              3   óz   •K  — | ]5}t          ‰                     d ¦  «        ||dz   …         d¦  «        dz  V — Œ6dS )ú#r   é   g     ào@N)ÚintÚlstrip)Ú.0Úir   s     €ú†/Users/tedpeters/Documents/Projects/Claude Projects/TPC Houses/house-viewer/.venv/lib/python3.11/site-packages/pypdf/generic/_utils.pyú	<genexpr>zhex_to_rgb.<locals>.<genexpr>   sK   øè è € ÐRÐRÀ1•�U—\’\ #Ñ&Ô& q¨1¨q©5 yÔ1°2Ñ6Ô6¸Ñ>ÐRÐRÐRÐRÐRÐRó    )r   r   é   )Útuple)r   s   `r   Ú
hex_to_rgbr      s&   ø€ ÝÐRÐRÐRÐRÈ	ÐRÑRÔRÑRÔRÐRr   ÚstreamÚforced_encoding)r   r   c                 ó  — |                       d¦  «         t          ¦   «         }d}	 t          | ¦  «        }|st          t          ¦  «        ‚|dk    rnV|dvrt          d|›d�¦  «        ‚||z  }t          |¦  «        dk    r&|                     t          |d	¬
¦  «        ¦  «         d}Œ‚t          |¦  «        dk    r|dz  }|dk    r$|                     t          |d	¬
¦  «        ¦  «         t          t          |¦  «        |¦  «        S )Nr   r   Tó   >s   0123456789abcdefABCDEFzInvalid hexadecimal character z in hex stringr   r   ©Úbaseó   0)
ÚreadÚ	bytearrayr	   r   r
   ÚlenÚappendr   Úcreate_string_objectÚbytes)r   r    ÚarrÚxÚtoks        r   Úread_hex_string_from_streamr/      s  € ð ‡K‚K��N„N€NÝ
‰+Œ+€CØ€AðÝ! &Ñ)Ô)ˆØð 	?Ý Õ!=Ñ>Ô>Ð>Ø�$Š;ˆ;ØØÐ/Ð/Ð/Ý ØF°ÐFÐFÐFñô ð ð 	
ˆS‰ˆÝˆq‰6Œ6�QŠ;ˆ;Ø�JŠJ•s˜1 2�‘”Ñ'Ô'Ð'ØˆAðõ ˆ1�v„v�‚{€{Ø	ˆT‰	ˆØˆC‚x€xØ�
Š
•3�q˜r�?‘?”?Ñ#Ô#Ð#Ý¥ c¡
¤
¨OÑ<Ô<Ð<r   ó   nó   
ó   ró   ó   tó   	ó   bó   ó   fó   ó   (ó   )ó   /ó   \ó    ó   %ó   <r"   ó   [ó   ]ó   #ó   _ó   &ó   $)rE   rF   é\   c           	      ó˜  — |                       d¦  «        }d}g }	 |                       d¦  «        }|st          t          ¦  «        ‚|dk    r|dz  }�n¸|dk    r|dz  }|dk    r�nÉ�n£|dk    �rœ|                       d¦  «        }	 |                     t          |         ¦  «         ŒŒ# t
          $ �rW d|cxk    rdk    rÌn nÉ|                      ¦   «         dz
  }t          d	¦  «        D ]C}|                       d¦  «        }d|cxk    rdk    r	n n||z  }Œ-|                      d
d¦  «          t          |d¬¦  «        }|dk    r0|                     t          ¦  «         |                      |¦  «         n|                     |¦  «         Y �Œp|dv r2|                       d¦  «        }|dvr|                      d
d¦  «         Y �Œ¦t          dt          |                     dd¦  «        ¬¦  «         |                     t          ¦  «         Y nw xY w|                     t          |¦  «        ¦  «         �Œt          t!          |¦  «        |¦  «        S )Nr   Tr:   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^   C   sŠ  € ð �+Š+�a‰.Œ.€CØ€FØ
€Cð5Ø�kŠk˜!‰nŒnˆØð 	?Ý Õ!=Ñ>Ô>Ð>Ø�$Š;ˆ;Ø�a‰KˆF‰FØ�DŠ[ˆ[Ø�a‰KˆFØ˜Š{ˆ{Ùñ à�EŠ\‰\Ø—+’+˜a‘.”.ˆCð(/Ø—
’
�?¨3Ô/Ñ0Ô0Ð0ØøÝð %/ñ %/ð %/Ø˜3Ð&Ð&Ò&Ð& $Ò&Ð&Ð&Ð&Ð&ð !Ÿ+š+™-œ-¨!Ñ+�CÝ" 1™XœXð "ð "˜Ø%Ÿ{š{¨1™~œ~˜Ø 4Ð/Ð/Ò/Ð/¨4Ò/Ð/Ð/Ð/Ð/Ø 4™K˜C˜Cà"ŸKšK¨¨AÑ.Ô.Ð.Ø!Ý˜C aÐ(Ñ(Ô(�AØ˜3’w�wØŸ
š
Õ#5Ñ6Ô6Ð6ØŸš CÑ(Ô(Ð(Ð(àŸ
š
 1™œ˜Ø‘HØ˜'�>�>ð !Ÿ+š+ a™.œ.�CØ 'Ð)Ð)ØŸš B¨Ñ*Ô*Ð*ð ‘HÝØ:Ý#ØŸ*š* W¨hÑ7Ô7ðñ ô ð ð
 —
’
Õ-Ñ.Ô.Ð.Ð.Ð.ðK%/øøøðL 	�
Š
•3�s‘8”8ÑÔÐñk5õl  ¥ c¡
¤
¨OÑ<Ô<Ð<s    Â B& Â&C!HÆ
3HÇ AHÈHÚstringc                 óŠ  — t          | t          ¦  «        rt          | ¦  «        S t          | t          ¦  «        �r{t          |t          t
          f¦  «        r¨g }t          |t          ¦  «        rt          |¦  «        }nd}| D ]Q}|�||k     s|€||v r	||         }n#t          |f¦  «                             d¦  «        }|                     |¦  «         ŒRt          d 	                    |¦  «        ¦  «        }| |_
        |S t          |t          ¦  «        r@|dk    rt          | ¦  «        S t          |                      |¦  «        ¦  «        }| |_
        |S 	 |                      t          j        t          j        f¦  «        rAt          |                      d¦  «        ¦  «        }| |_
        d|_        | dd…         |_        |S |                      d¦  «        rCt          |                      d	¦  «        ¦  «        }| |_
        d|_        t          j        |_        |S | d
d…         dk    rCt          |                      d¦  «        ¦  «        }| |_
        d|_        t          j        |_        |S t          t%          | ¦  «        ¦  «        }n# t&          $ r t          | ¦  «        cY S w xY w| |_
        d|_        |S t+          d¦  «        ‚)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.

    NÚcharmapÚ r+   zutf-16Tr   ó    zutf-16ber   zutf-16lez3create_string_object should have str or unicode arg)Ú
isinstanceÚstrr   r+   ÚlistÚdictr(   rW   r)   ÚjoinÚ_original_bytesr   Ú
startswithÚcodecsÚBOM_UTF16_BEÚBOM_UTF16_LEÚautodetect_utf16Ú	utf16_bomÚdecode_pdfdocencodingÚUnicodeDecodeErrorÚautodetect_pdfdocencodingÚ	TypeError)r_   r    ÚoutÚlist_lengthr-   r   ÚobjÚretvals           r   r*   r*   ƒ   sÃ  € õ$ �&�#ÑÔð (Ý Ñ'Ô'Ð'Ý�&�%Ñ Ô ñ :Ý�o­­d |Ñ4Ô4ð 	ØˆCå˜/­4Ñ0Ô0ð #Ý! /Ñ2Ô2��à"�àð "ð "�à$Ð0°Q¸²_°_Ø$Ð,°°oÐ1EÐ1Eà+¨AÔ.�E�Eå! 1 $™KœK×.Ò.¨yÑ9Ô9�EØ—
’
˜5Ñ!Ô!Ð!Ð!Ý" 2§7¢7¨3¡<¤<Ñ0Ô0ˆCØ"(ˆCÔØˆJÝ�o¥sÑ+Ô+ð 	Ø 'Ò)Ð)Ý'¨Ñ/Ô/Ð/Ý" 6§=¢=°Ñ#AÔ#AÑBÔBˆCØ"(ˆCÔØˆJð	,Ø× Ò ¥&Ô"5µvÔ7JÐ!KÑLÔLð Ý)¨&¯-ª-¸Ñ*AÔ*AÑBÔB�Ø)/�Ô&Ø*.�Ô'Ø#)¨"¨1¨"¤:�Ô Ø�Ø× Ò  Ñ)Ô)ð Ý)¨&¯-ª-¸
Ñ*CÔ*CÑDÔD�Ø)/�Ô&Ø*.�Ô'Ý#)Ô#6�Ô Ø�Ø�a˜�cŒ{˜gÒ%Ð%Ý)¨&¯-ª-¸
Ñ*CÔ*CÑDÔD�Ø)/�Ô&Ø*.�Ô'Ý#)Ô#6�Ô Ø�õ &Õ&;¸FÑ&CÔ&CÑDÔDˆFˆFøÝ!ð 	,ð 	,ð 	,Ý# FÑ+Ô+Ð+Ð+Ð+ð	,øøøð "(ˆÔØ+/ˆÔ(ØˆÝ
ÐIÑ
JÔ
JÐJs'   ÅA+J ÇAJ ÈAJ É*J ÊJ#Ê"J#Ú
byte_arrayc                 ó„   — d}| D ]:}t           |         }|dk    r t          dt          |¦  «        ddd¦  «        ‚||z  }Œ;|S )Nrb   ú ÚpdfdocencodingrJ   z#does not exist in translation table)r   rq   r'   )rx   rw   ÚbÚcs       r   rp   rp   Õ   sb   € Ø€FØð 
ð 
ˆÝ˜QÔˆØ�Š=ˆ=Ý$Ø Ý˜!‘”ØØØ5ñô ð ð 	�!‰ˆˆØ€Mr   c                   ó   — e Zd ZU dZeed<   dS )ÚStreamParsingBudgetz¼
    Shared, mutable budget for limiting parsing work.

    Pass the same instance to recursive parsing calls to enforce a
    cumulative budget across nested arrays and dictionaries.
    Úremaining_budgetN)rV   Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__© r   r   r   r   å   s*   € € € € € € ðð ð ÐÐÑÐÐr   r   )N)!rk   Údataclassesr   Útypingr   Ú_codecsr   Ú_utilsr   r   r	   Úerrorsr
   r   Ú_baser   r   re   r   Úfloatr   rf   rg   r   r/   rX   rP   rU   r^   r+   r*   rp   r   r…   r   r   ú<module>r�      sÛ  ðØ €€€Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à &Ð &Ð &Ð &Ð &Ð &Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ðS�cð S˜e E¨5°%Ð$7Ô8ð Sð Sð Sð Sð DHð=ð =Øð=à˜3  S¤	¨4°°S°¬>¸4Ð?Ô@ð=ð Ð1Ô2ð=ð =ð =ð =ð8Øˆ#ˆ#ˆe‰*Œ*ðàˆ#ˆ#ˆe‰*Œ*ðð 	ˆ#ˆ#ˆe‰*Œ*ðð 	ˆ#ˆ#ˆe‰*Œ*ð	ð
 	ˆ#ˆ#ˆe‰*Œ*ðð 	ˆ#ˆ#ˆd‰)Œ)ðð 	ˆ#ˆ#ˆd‰)Œ)ðð 	ˆ#ˆ#ˆd‰)Œ)ðð 
ˆ3ˆ3ˆu‰:Œ:ðð 	ˆ#ˆ#ˆd‰)Œ)ðð 	ˆ#ˆ#ˆd‰)Œ)ðð 	ˆ#ˆ#ˆd‰)Œ)ðð 	ˆ#ˆ#ˆd‰)Œ)ðð 	ˆ#ˆ#ˆd‰)Œ)ðð 	ˆ#ˆ#ˆd‰)Œ)ðð  	ˆ#ˆ#ˆd‰)Œ)ð!ð" 	ˆ#ˆ#ˆd‰)Œ)ð#ð$ ˆ#ˆd‰)Œ)Ø
ˆ#ˆd‰)Œ)ð'ð ð €ð* Ð ð
 DHð==ð ==Øð==à˜3  S¤	¨4°°S°¬>¸4Ð?Ô@ð==ð Ð1Ô2ð==ð ==ð ==ð ==ðD DHðOKð OKØ�#�u�*ÔðOKà˜3  S¤	¨4°°S°¬>¸4Ð?Ô@ðOKð ÐÐ-Ð-Ô.ðOKð OKð OKð OKðd eð °ð ð ð ð ð  ðð ð ð ð ñ ô ñ „ðð ð r   