Ë
    qûàg°  ã                   óx   — d dl Z d dlZd dlmZmZmZ  G d„ d«      Z G d„ d«      Z G d„ d«      Z G d	„ d
«      Z	y)é    N)Ú
NoMoreDataÚChunkMissingTerminatorÚInvalidChunkSizec                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zy)	ÚChunkedReaderc                 óp   — || _         | j                  |«      | _        t        j                  «       | _        y ©N)ÚreqÚparse_chunkedÚparserÚioÚBytesIOÚbuf)Úselfr
   Úunreaders      úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/gunicorn/http/body.pyÚ__init__zChunkedReader.__init__   s(   € ØˆŒØ×(Ñ(¨Ó2ˆŒÜ—:‘:“<ˆ�ó    c                 ó0  — t        |t        «      st        d«      ‚|dk  rt        d«      ‚|dk(  ry| j                  rj| j
                  j                  «       |k  rM	 | j
                  j                  t        | j                  «      «       | j
                  j                  «       |k  rŒM| j
                  j                  «       }|d | ||d  }}t        j                  «       | _        | j
                  j                  |«       |S # t        $ r
 d | _        Y Œlw xY w)Nzsize must be an integer typer   úSize must be positive.r   )Ú
isinstanceÚintÚ	TypeErrorÚ
ValueErrorr   r   ÚtellÚwriteÚnextÚStopIterationÚgetvaluer   r   ©r   ÚsizeÚdataÚretÚrests        r   ÚreadzChunkedReader.read   sæ   € Ü˜$¤Ô$ÜÐ:Ó;Ð;Ø�!Š8ÜÐ5Ó6Ð6Ø�1Š9Øà�;Š;Ø—(‘(—-‘-“/ DÒ(ðØ—H‘H—N‘N¤4¨¯©Ó#4Ô5ð —(‘(—-‘-“/ DÓ(ð �x‰x× Ñ Ó"ˆØ˜˜$�K  d e ˆTˆÜ—:‘:“<ˆŒØ�‰�‰�tÔØˆ
øô %ò Ø"&�D”KÙðús   Á.D ÄDÄDc                 ór  — t        j                  «       }|j                  |«       |j                  «       j	                  d«      }|j                  «       d d dk(  }|dk  rQ|sO| j                  ||«       |j                  «       j	                  d«      }|j                  «       d d dk(  }|dk  r|sŒO|r#|j                  |j                  «       dd  «       y| j                  j                  |j                  «       d | d¬«      | j                  _	        |j                  |j                  «       |dz   d  «       y )	Ns   

é   ó   
r   r   T)Úfrom_traileré   )
r   r   r   r   ÚfindÚget_dataÚunreadr
   Úparse_headersÚtrailers)r   r   r"   r   ÚidxÚdones         r   Úparse_trailerszChunkedReader.parse_trailers(   s   € Ü�j‰j‹lˆØ�	‰	�$Œà�l‰l‹n×!Ñ! +Ó.ˆØ�|‰|‹~˜b˜qÐ! WÑ,ˆØ�AŠg™dØ�M‰M˜( CÔ(Ø—,‘,“.×%Ñ% kÓ2ˆCØ—<‘<“> " 1Ð%¨Ñ0ˆDð �AŠgšdñ Ø�O‰O˜CŸL™L›N¨1¨2Ð.Ô/ØØ ŸH™H×2Ñ2°3·<±<³>À$À3Ð3GÐVZÐ2Ó[ˆ�‰ÔØ�‰˜Ÿ™› s¨Q¡w xÐ0Õ1r   c              #   óÂ  K  — | j                  |«      \  }}|dkD  rÂ|t        |«      kD  r=|t        |«      z  }|–— |j                  «       }|s
t        «       ‚|t        |«      kD  rŒ=|d | –— ||d  }t        |«      dk  r'|j                  «       }|sn||z  }t        |«      dk  rŒ'|d d dk7  rt	        |d d «      ‚| j                  ||dd  ¬«      \  }}|dkD  rŒÁy y ­w)Nr   r'   r(   )r"   )Úparse_chunk_sizeÚlenr%   r   r   )r   r   r!   r$   Únew_datas        r   r   zChunkedReader.parse_chunked8   sù   è ø€ Ø×,Ñ,¨XÓ6‰ˆˆtØ�QŠhØœ˜T›Ò"Øœ˜D›	Ñ!�Ø’
Ø—}‘}“�ÙÜ$›,Ð&ð œ˜T›Ó"ð �u˜�+Òà˜˜�;ˆDÜ�d“)˜a’-Ø#Ÿ=™=›?�ÙØØ˜Ñ �ô	 �d“)˜a“-ð
 �B�Qˆx˜7Ò"Ü,¨T°"°1¨XÓ6Ð6Ø×0Ñ0°ÀÀQÀRÀÐ0ÓI‰LˆT�4ð# �Q�hùs   ‚A$CÁ'A CÂ(4CÃCNc                 ój  — t        j                  «       }|�|j                  |«       |j                  «       j	                  d«      }|dk  r7| j                  ||«       |j                  «       j	                  d«      }|dk  rŒ7|j                  «       }|d | ||dz   d  }}|j                  dd«      ^}}|r|j                  d«      }t        d„ |D «       «      rt        |«      ‚t        |«      dk(  rt        |«      ‚t        |d«      }|dk(  r	 | j                  ||«       y	||fS # t        $ r Y y	w xY w)
Nr(   r   r'   ó   ;é   s    	c              3   ó$   K  — | ]  }|d v–— Œ
 y­w)s   0123456789abcdefABCDEFN© )Ú.0Úns     r   ú	<genexpr>z1ChunkedReader.parse_chunk_size.<locals>.<genexpr>^   s   è ø€ ÒF°aˆqÐ1Ô1ÑFùs   ‚é   )r   N)r   r   r   r   r+   r,   ÚsplitÚrstripÚanyr   r5   r   r2   r   )	r   r   r"   r   r0   ÚlineÚ
rest_chunkÚ
chunk_sizeÚ	chunk_exts	            r   r4   zChunkedReader.parse_chunk_sizeM   s7  € Ü�j‰j‹lˆØÐØ�I‰I�dŒOà�l‰l‹n×!Ñ! 'Ó*ˆØ�AŠgØ�M‰M˜( CÔ(Ø—,‘,“.×%Ñ% gÓ.ˆCð �A‹gð �|‰|‹~ˆØ  ˜: t¨C°!©G¨H ~ˆjˆð "&§¡¨D°!Ó!4Ðˆ
�YÙØ#×*Ñ*¨6Ó2ˆJÜÑF¸:ÔFÔFÜ" :Ó.Ð.Üˆz‹?˜aÒÜ" :Ó.Ð.Ü˜ RÓ(ˆ
à˜Š?ðØ×#Ñ# H¨jÔ9ð Ø˜JÐ'Ð'øô ò ØØðús   ÄD& Ä&	D2Ä1D2c                 ó^   — |j                  «       }|s
t        «       ‚|j                  |«       y r	   )r%   r   r   )r   r   r   r"   s       r   r,   zChunkedReader.get_datal   s#   € Ø�}‰}‹ˆÙÜ“,ÐØ�	‰	�$�r   r	   )	Ú__name__Ú
__module__Ú__qualname__r   r%   r2   r   r4   r,   r;   r   r   r   r      s!   „ ò ò
ò,2ò Jó*(ó>r   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚLengthReaderc                 ó    — || _         || _        y r	   )r   Úlength)r   r   rN   s      r   r   zLengthReader.__init__t   s   € Ø ˆŒØˆ�r   c                 ó  — t        |t        «      st        d«      ‚t        | j                  |«      }|dk  rt        d«      ‚|dk(  ryt        j                  «       }| j                  j                  «       }|rB|j                  |«       |j                  «       |k\  rn| j                  j                  «       }|rŒB|j                  «       }|d | ||d  }}| j                  j                  |«       | xj                  |z  c_        |S )Núsize must be an integral typer   r   r   )r   r   r   ÚminrN   r   r   r   r   r%   r   r   r   r-   )r   r!   r   r"   r#   r$   s         r   r%   zLengthReader.readx   sß   € Ü˜$¤Ô$ÜÐ;Ó<Ð<ä�4—;‘; Ó%ˆØ�!Š8ÜÐ5Ó6Ð6Ø�1Š9Øä�j‰j‹lˆØ�}‰}×!Ñ!Ó#ˆÙØ�I‰I�dŒOØ�x‰x‹z˜TÒ!ØØ—=‘=×%Ñ%Ó'ˆDò	 ð �l‰l‹nˆØ˜˜�J  D E 
ˆTˆØ�‰×Ñ˜TÔ"Ø�Š�tÑ�Øˆ
r   N©rH   rI   rJ   r   r%   r;   r   r   rL   rL   s   s   „ òór   rL   c                   ó   — e Zd Zd„ Zd„ Zy)Ú	EOFReaderc                 óR   — || _         t        j                  «       | _        d| _        y )NF)r   r   r   r   Úfinished)r   r   s     r   r   zEOFReader.__init__’   s   € Ø ˆŒÜ—:‘:“<ˆŒØˆ�r   c                 óÚ  — t        |t        «      st        d«      ‚|dk  rt        d«      ‚|dk(  ry| j                  rZ| j
                  j                  «       }|d | ||d  }}t        j                  «       | _        | j
                  j                  |«       |S | j                  j                  «       }|rV| j
                  j                  |«       | j
                  j                  «       |kD  rn| j                  j                  «       }|rŒV|sd| _        | j
                  j                  «       }|d | ||d  }}t        j                  «       | _        | j
                  j                  |«       |S )NrP   r   r   r   T)r   r   r   r   rV   r   r   r   r   r   r   r%   r   r    s        r   r%   zEOFReader.read—   s+  € Ü˜$¤Ô$ÜÐ;Ó<Ð<Ø�!Š8ÜÐ5Ó6Ð6Ø�1Š9Øà�=Š=Ø—8‘8×$Ñ$Ó&ˆDØ˜U˜d˜ T¨$¨% [�ˆCÜ—z‘z“|ˆDŒHØ�H‰H�N‰N˜4Ô ØˆJà�}‰}×!Ñ!Ó#ˆÙØ�H‰H�N‰N˜4Ô Ø�x‰x�}‰}‹ Ò%ØØ—=‘=×%Ñ%Ó'ˆDò	 ñ Ø ˆDŒMà�x‰x× Ñ Ó"ˆØ˜˜$�K  d e ˆTˆÜ—:‘:“<ˆŒØ�‰�‰�tÔØˆ
r   NrR   r;   r   r   rT   rT   ‘   s   „ òó
r   rT   c                   ó@   — e Zd Zd„ Zd„ Zd„ ZeZd„ Zd	d„Zd	d„Z	d	d„Z
y)
ÚBodyc                 óD   — || _         t        j                  «       | _        y r	   )Úreaderr   r   r   )r   r[   s     r   r   zBody.__init__¸   s   € ØˆŒÜ—:‘:“<ˆ�r   c                 ó   — | S r	   r;   )r   s    r   Ú__iter__zBody.__iter__¼   s   € Øˆr   c                 ó>   — | j                  «       }|s
t        «       ‚|S r	   )Úreadliner   )r   r#   s     r   Ú__next__zBody.__next__¿   s   € Ø�m‰m‹oˆÙÜ“/Ð!Øˆ
r   c                 óŠ   — |€t         j                  S t        |t        «      st	        d«      ‚|dk  rt         j                  S |S )NrP   r   )ÚsysÚmaxsizer   r   r   )r   r!   s     r   ÚgetsizezBody.getsizeÇ   s=   € Øˆ<Ü—;‘;ÐÜ˜D¤#Ô&ÜÐ;Ó<Ð<Ø�AŠXÜ—;‘;ÐØˆr   Nc                 óº  — | j                  |«      }|dk(  ry|| j                  j                  «       k  rZ| j                  j                  «       }|d | ||d  }}t	        j
                  «       | _        | j                  j                  |«       |S || j                  j                  «       kD  rW| j                  j                  d«      }|sn9| j                  j                  |«       || j                  j                  «       kD  rŒW| j                  j                  «       }|d | ||d  }}t	        j
                  «       | _        | j                  j                  |«       |S )Nr   r   é   )	rd   r   r   r   r   r   r   r[   r%   r    s        r   r%   z	Body.readÐ   s  € Ø�|‰|˜DÓ!ˆØ�1Š9Øà�$—(‘(—-‘-“/Ò!Ø—8‘8×$Ñ$Ó&ˆDØ˜U˜d˜ T¨$¨% [�ˆCÜ—z‘z“|ˆDŒHØ�H‰H�N‰N˜4Ô ØˆJà�T—X‘X—]‘]“_Ò$Ø—;‘;×#Ñ# DÓ)ˆDÙØØ�H‰H�N‰N˜4Ô ð	 �T—X‘X—]‘]“_Ó$ð �x‰x× Ñ Ó"ˆØ˜˜$�K  d e ˆTˆÜ—:‘:“<ˆŒØ�‰�‰�tÔØˆ
r   c                 ó  — | j                  |«      }|dk(  ry| j                  j                  «       }t        j                  «       | _        g }	 |j                  dd|«      }|dk\  r|dz   nt        |«      |k\  r|nd}|r3|j                  |d | «       | j                  j                  ||d  «       nH|j                  |«       |t        |«      z  }| j                  j                  t        d|«      «      }|snŒ¬dj                  |«      S )Nr   r   r9   ó   
rf   )rd   r   r   r   r   r+   r5   Úappendr   r[   r%   rQ   Újoin)r   r!   r"   r#   r0   s        r   r_   zBody.readlineè   sî   € Ø�|‰|˜DÓ!ˆØ�1Š9Øà�x‰x× Ñ Ó"ˆÜ—:‘:“<ˆŒàˆØØ—)‘)˜E 1 dÓ+ˆCØ  AšX�#˜’'´3°t³9ÀÒ3D©4È!ˆCÙØ—
‘
˜4  ˜:Ô&Ø—‘—‘˜t C D˜zÔ*Øà�J‰J�tÔØ”C˜“IÑˆDØ—;‘;×#Ñ#¤C¨¨d£OÓ4ˆDÙØð ð �x‰x˜‹}Ðr   c                 óÊ   — g }| j                  «       }|rN|j                  d«      }|dk  r|j                  |«       d}n!|d |dz    ||dz   d  }}|j                  |«       |rŒN|S )Nrh   r   r   r9   )r%   r+   ri   )r   r!   r#   r"   ÚposrC   s         r   Ú	readlineszBody.readlines  sp   € ØˆØ�y‰y‹{ˆÙØ—)‘)˜EÓ"ˆCØ�QŠwØ—
‘
˜4Ô Ø‘à! ( 3¨¡7˜^¨T°#¸±'°(¨^�d�Ø—
‘
˜4Ô ò ð ˆ
r   r	   )rH   rI   rJ   r   r]   r`   r   rd   r%   r_   rm   r;   r   r   rY   rY   ·   s,   „ ò òòð €Dòóó0ô2r   rY   )
r   rb   Úgunicorn.http.errorsr   r   r   r   rL   rT   rY   r;   r   r   ú<module>ro      sE   ðó
 
Û 
÷4ñ 4÷dñ d÷Nñ ÷<#ñ #÷LUò Ur   