Ë
    ul�jÇ
  ã                   ó²   — d dl Z d dlZd dlmZ d„ Zd„ Zd„ Zdd„Zd„ Z	 G d„ d«      Z
 G d	„ d
«      Zd„ Zd„ Zd„ Z ej                  ej                   «      Zy)é    Nc                 óš   — t        d„ | D «       «      st        d«      ‚| \  }}}}|r||||fn||||f}d}d}|D ]  }	||	|z  z  }|dz  }Œ |S )Nc              3   ó<   K  — | ]  }d |cxk  xr dk  nc –— Œ y­w)r   éÿ   N© )Ú.0Úcs     úN/var/www/html/pp/venv/lib/python3.12/site-packages/pypdfium2/internal/utils.pyú	<genexpr>zcolor_tohex.<locals>.<genexpr>   s   è ø€ Ò, ˆq�AŽ}˜�}ˆ}Ñ,ùs   ‚zColor value exceeds boundaries.r   é   é   )ÚallÚ
ValueError)
ÚcolorÚrev_byteorderÚrÚgÚbÚaÚchannelsÚc_colorÚshiftr   s
             r	   Úcolor_tohexr   	   s{   € äÑ, eÔ,Ô,ÜÐ:Ó;Ð;ð �J€A€qˆ!ˆQÙ,��1�a˜‰|°1°a¸¸A°,€Hà€GØ€EØò ˆØ�1˜‘:ÑˆØ�‰
‰ðð €Nó    c                 óP   — t        | | t        t        | |«      «      |«      «       y ©N)ÚsetattrÚtypeÚgetattr)ÚstructÚfnameÚcallbacks      r	   Úset_callbackr"      s"   € ÜˆF�EÐ7œ4¤¨°Ó 6Ó7¸ÓAÕBr   c                 ó€   — |j                  «       D ]+  \  }}t        | | t        t        | |«      «      |«      «       Œ- y r   )Úitemsr   r   r   )r   Úkwargsr    r!   s       r	   Úset_callbacksr&      s=   € Ø!Ÿ<™<›>ò G‰ˆˆxÜ�˜Ð;œt¤G¨F°EÓ$:Ó;¸HÓEÕFñGr   c                 ó¶   ‡ — g }t        |«      j                  t        d«      «      sJ ‚d|v r|dz  }d|v r|j                  d«       t        ˆ fd„|D «       «      S )NÚrwr   )ÚseekÚtellÚreadÚreadintoÚwÚwritec              3   óJ   •K  — | ]  }t        t        ‰|d «      «      –— Œ y ­wr   )Úcallabler   )r   r   Úbufs     €r	   r
   zis_stream.<locals>.<genexpr>*   s   øè ø€ Ò@°1Œxœ  Q¨Ó-×.Ñ@ùs   ƒ #)ÚsetÚissubsetÚappendr   )r1   ÚspecÚmethodss   `  r	   Ú	is_streamr7   #   sZ   ø€ Ø€GÜˆt‹9×Ñœs 4›yÔ*Ð*Ð*Ø
ˆd�{ØÐ7Ñ7ˆØ
ˆd�{Ø�‰�wÔÜÓ@¸Ô@Ó@Ð@r   c                 óz   — | j                   }t        |«      |z  j                  t        j                  |«      «      S r   )Úcontentsr   Úfrom_addressÚctypesÚ	addressof)ÚptrÚsizeÚobjs      r	   Ú
get_bufferr@   -   s0   € Ø
�,‰,€CÜ�‹I˜Ñ×*Ñ*¬F×,<Ñ,<¸SÓ,AÓCÐCr   c                   ó   — e Zd Zd„ Zd„ Zy)Ú_buffer_readerc                 ó   — || _         y r   ©Ú	py_buffer©ÚselfrE   s     r	   Ú__init__z_buffer_reader.__init__4   ó	   € Ø"ˆ�r   c                 óˆ   — t        ||«      }| j                  j                  |«       | j                  j                  |«       y©Né   )r@   rE   r)   r,   )rG   Ú_ÚpositionÚp_buf_firstr>   Úc_buffers         r	   Ú__call__z_buffer_reader.__call__7   s5   € Ü˜k¨4Ó0ˆØ�‰×Ñ˜HÔ%Ø�‰×Ñ Ô)Ør   N©Ú__name__Ú
__module__Ú__qualname__rH   rQ   r   r   r	   rB   rB   2   s   „ ò#ór   rB   c                   ó   — e Zd Zd„ Zd„ Zy)Ú_buffer_writerc                 ó   — || _         y r   rD   rF   s     r	   rH   z_buffer_writer.__init__@   rI   r   c                 óÀ   — t        j                  |t        j                  t         j                  «      «      }t	        ||«      }| j
                  j                  |«       yrK   )r;   ÚcastÚPOINTERÚc_ubyter@   rE   r.   )rG   rM   Úp_data_firstr>   rP   s        r	   rQ   z_buffer_writer.__call__C   s@   € ä—{‘{ <´·±ÄÇÁÓ1OÓPˆÜ˜l¨DÓ1ˆØ�‰×Ñ˜XÔ&Ør   NrR   r   r   r	   rW   rW   >   s   „ ò#ór   rW   c                 óö   — | j                  dt        j                  «      }| j                  d«       t        j                  «       }||_        t        |dt        | «      «       d |_        |j                  f}||fS )Nr   Ú
m_GetBlock)
r)   ÚosÚSEEK_ENDÚpdfium_cÚFPDF_FILEACCESSÚ	m_FileLenr"   rB   Úm_Paramr_   )ÚbufferÚfile_lenÚreaderÚto_holds       r	   Úget_bufreaderrj   K   sg   € à�{‰{˜1œbŸk™kÓ*€HØ
‡K�K�„Nä×%Ñ%Ó'€FØ€FÔÜ�˜¤~°fÓ'=Ô>Ø€F„Nà× Ñ Ð#€Gà�7ˆ?Ðr   c                 ó^   — t        j                  d¬«      }t        |dt        | «      «       |S )NrL   )ÚversionÚ
WriteBlock)rb   ÚFPDF_FILEWRITEr"   rW   )rf   Úwriters     r	   Úget_bufwriterrp   Z   s(   € Ü×$Ñ$¨QÔ/€FÜ�˜¤~°fÓ'=Ô>Ø€Mr   c                 ó^   — | syt        | «      }t        j                  |z  d„ | D «       Ž }||fS )N)Nr   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr   )Úraw)r   Úps     r	   r
   z pages_c_array.<locals>.<genexpr>d   s   è ø€ Ò,B°q¨Q¯U­UÑ,Bùs   ‚)Úlenrb   Ú	FPDF_PAGE)ÚpagesÚcountÚc_arrays      r	   Úpages_c_arrayrz   `   s6   € ÙØÜ�‹J€EÜ×!Ñ! EÑ)Ñ,B¸EÔ,BÐC€GØ�Eˆ>Ðr   )r   )r`   r;   Úpypdfium2.rawrs   rb   r   r"   r&   r7   r@   rB   rW   rj   rp   rz   ÚsizeofÚ
FPDF_WCHARÚFPDF_WCHAR_sizer   r   r	   ú<module>r      sh   ðó 
Û Ý  òò$CòGó
AòD÷
	ñ 	÷
ñ 
òòòð  �&—-‘- × 3Ñ 3Ó4�r   