Ë
    ÚŠ±j	  ã                   óT   — d dl Z d dlZ G d„ d«      Z G d„ de«      Z G d„ de«      Zy)é    Nc                   ó,   — e Zd Zd„ Zd„ Zd„ Zdd„Zd„ Zy)ÚUnreaderc                 ó6   — t        j                  «       | _        y ©N)ÚioÚBytesIOÚbuf©Úselfs    ú[/var/www/io.vulcan-creative.com/venv/lib/python3.12/site-packages/gunicorn/http/unreader.pyÚ__init__zUnreader.__init__   s   € Ü—:‘:“<ˆ�ó    c                 ó   — t        «       ‚r   )ÚNotImplementedErrorr
   s    r   ÚchunkzUnreader.chunk   s   € Ü!Ó#Ð#r   c                 ól   — | j                   j                  «       }t        j                  «       | _         |S )aH  Return read-ahead already held, without touching the source.

        read() blocks on the source when the buffer is empty, which is wrong
        for a caller that only wants the bytes it has: an Upgrade: h2c
        handshake needs whatever the client pipelined behind the request,
        and must not wait for more.
        )r	   Úgetvaluer   r   )r   Údatas     r   Útake_bufferedzUnreader.take_buffered   s(   € ð �x‰x× Ñ Ó"ˆÜ—:‘:“<ˆŒØˆr   Nc                 ó^  — |�t        |t        «      st        d«      ‚|�|dk(  ry|dk  rd }| j                  j	                  dt
        j                  «       |€O| j                  j                  «       r5| j                  j                  «       }t        j                  «       | _        |S |€| j                  «       }|S | j                  j                  «       |k  r€| j                  «       }|s5| j                  j                  «       }t        j                  «       | _        |S | j                  j                  |«       | j                  j                  «       |k  rŒ€| j                  j                  «       }t        j                  «       | _        | j                  j                  ||d  «       |d | S )Nz&size parameter must be an int or long.r   r   )Ú
isinstanceÚintÚ	TypeErrorr	   ÚseekÚosÚSEEK_ENDÚtellr   r   r   r   Úwrite)r   ÚsizeÚretÚdr   r   s         r   ÚreadzUnreader.read   sD  € ØÐ¤J¨t´SÔ$9ÜÐDÓEÐEàÐØ�qŠyØØ�aŠxØ�à�‰�‰�aœŸ™Ô%àˆ<˜DŸH™HŸM™MœOØ—(‘(×#Ñ#Ó%ˆCÜ—z‘z“|ˆDŒHØˆJØˆ<Ø—
‘
“ˆAØˆHà�h‰h�m‰m‹o Ò$Ø—J‘J“LˆEÙØ—h‘h×'Ñ'Ó)�ÜŸ:™:›<�”Ø�
Ø�H‰H�N‰N˜5Ô!ð �h‰h�m‰m‹o Ó$ð �x‰x× Ñ Ó"ˆÜ—:‘:“<ˆŒØ�‰�‰�t˜D˜E�{Ô#Ø�E�Tˆ{Ðr   c                 óÖ   — | j                   j                  «       }t        j                  «       | _         | j                   j	                  |«       | j                   j	                  |«       y r   )r	   r   r   r   r   )r   r   Úrests      r   ÚunreadzUnreader.unread?   sA   € Ø�x‰x× Ñ Ó"ˆÜ—:‘:“<ˆŒØ�‰�‰�tÔØ�‰�‰�tÕr   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r"   r%   © r   r   r   r      s   „ ò ò$ò
óó@r   r   c                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )ÚSocketUnreaderc                 ó>   •— t         ‰| �  «        || _        || _        y r   )Úsuperr   ÚsockÚmxchunk)r   r.   Ú	max_chunkÚ	__class__s      €r   r   zSocketUnreader.__init__G   s   ø€ Ü‰ÑÔØˆŒ	Ø ˆ�r   c                 óL   — | j                   j                  | j                  «      S r   )r.   Úrecvr/   r
   s    r   r   zSocketUnreader.chunkL   s   € Ø�y‰y�~‰~˜dŸl™lÓ+Ð+r   )i    ©r&   r'   r(   r   r   Ú__classcell__©r1   s   @r   r+   r+   F   s   ø„ õ!ö
,r   r+   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚIterUnreaderc                 óB   •— t         ‰| �  «        t        |«      | _        y r   )r-   r   Úiter)r   Úiterabler1   s     €r   r   zIterUnreader.__init__Q   s   ø€ Ü‰ÑÔÜ˜“Nˆ�	r   c                 ót   — | j                   sy	 t        | j                   «      S # t        $ r
 d | _         Y yw xY w)Nr   )r:   ÚnextÚStopIterationr
   s    r   r   zIterUnreader.chunkU   s8   € Ø�yŠyØð	Ü˜Ÿ	™	“?Ð"øÜò 	ØˆDŒIÙð	ús   �$ ¤7¶7r4   r6   s   @r   r8   r8   P   s   ø„ ô#ör   r8   )r   r   r   r+   r8   r)   r   r   ú<module>r?      s0   ðó
 
Û 	÷7ñ 7ôt,�Xô ,ô�8õ r   