Ë
    ¹2Úiÿ  ã                   ót   — d Z ddlZddlmZmZ  G d„ dej
                  «      Z G d„ dej                  «      Zy)z4Low-level IO operations, for use with file wrappers.é    N)Úforce_bytesÚ	force_strc                   ó2   — e Zd ZdZd„ Zd„ Zdd„Zdd„Zd„ Zy)	ÚTextIteratorIOzÓA dynamically generated TextIO-like object.

    Original code by Matt Joiner <anacrolix@gmail.com> from:

    * http://stackoverflow.com/questions/12593576/
    * https://gist.github.com/anacrolix/3788413

    c                 ó    — || _         d| _        y )NÚ ©Ú_iterÚ_left©ÚselfÚiterators     úM/var/www/html/acx/venv/lib/python3.12/site-packages/django_downloadview/io.pyÚ__init__zTextIteratorIO.__init__   s   € àˆŒ
ð ˆ�
ó    c                  ó   — y©NT© ©r   s    r   ÚreadablezTextIteratorIO.readable   ó   € Ør   Nc                 ó  — | j                   sB	 t        | j                  «      | _         t        | j                   «      | _         | j                   sŒB| j                   d | }| j                   t        |«      d  | _         |S # t        $ r Y Œ9w xY w©N)r   Únextr
   r   ÚStopIterationÚlen©r   ÚnÚrets      r   Ú_read1zTextIteratorIO._read1   sy   € Ø—*’*ð3Ü! $§*¡*Ó-�”
ô
 ' t§z¡zÓ2�”
ð —*“*ð �j‰j˜˜!ˆnˆØ—Z‘Z¤ C£ 
Ð+ˆŒ
Øˆ
øô !ò Ùðúó   ŽA= Á=	B	ÂB	c                 óþ   — g }|�|dk  r&	 | j                  «       }|snP|j                  |«       Œ%|dkD  r9| j                  |«      }|sn%|t        |«      z  }|j                  |«       |dkD  rŒ9dj                  |«      S )ú"Return content up to ``n`` length.r   r   ©r    Úappendr   Újoin©r   r   ÚchunksÚms       r   ÚreadzTextIteratorIO.read(   s…   € àˆØˆ9˜˜AšØØ—K‘K“M�ÙØØ—‘˜aÔ ð	 ð �a’%Ø—K‘K “N�ÙØØ”S˜“V‘�Ø—‘˜aÔ ð �a“%ð �w‰w�v‹Ðr   c                 óx  — g }	 | j                   j                  d«      }|dk(  r7|j                  | j                   «       	 t        | j                  «      | _         n9|j                  | j                   d |dz    «       | j                   |dz   d  | _         nŒ‘dj                  |«      S # t
        $ r
 d| _         Y Œ#w xY w)Nú
éÿÿÿÿr   é   ©r   Úfindr%   r   r
   r   r&   ©r   r(   Úis      r   ÚreadlinezTextIteratorIO.readline:   s®   € ØˆØØ—
‘
—‘ Ó%ˆAØ�BŠwØ—‘˜dŸj™jÔ)ðÜ!% d§j¡jÓ!1�D•Jð
 —‘˜dŸj™j¨¨1¨q©5Ð1Ô2Ø!ŸZ™Z¨¨A©¨Ð0�”
Øð ð �w‰w�v‹Ðøô %ò Ø!#�D”JÙðúó   Á B& Â&B9Â8B9r   ©	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r    r*   r3   r   r   r   r   r      s    „ ñòòóóó$r   r   c                   ó2   — e Zd ZdZd„ Zd„ Zdd„Zdd„Zd„ Zy)	ÚBytesIteratorIOzÔA dynamically generated BytesIO-like object.

    Original code by Matt Joiner <anacrolix@gmail.com> from:

    * http://stackoverflow.com/questions/12593576/
    * https://gist.github.com/anacrolix/3788413

    c                 ó    — || _         d| _        y )Nr   r	   r   s     r   r   zBytesIteratorIO.__init__V   s   € àˆŒ
ð ˆ�
r   c                  ó   — yr   r   r   s    r   r   zBytesIteratorIO.readable]   r   r   Nc                 ó  — | j                   sB	 t        | j                  «      | _         t        | j                   «      | _         | j                   sŒB| j                   d | }| j                   t        |«      d  | _         |S # t        $ r Y Œ9w xY wr   )r   r   r
   r   r   r   r   s      r   r    zBytesIteratorIO._read1`   sy   € Ø—*’*ð5Ü! $§*¡*Ó-�”
ô
 )¨¯©Ó4�”
ð —*“*ð �j‰j˜˜!ˆnˆØ—Z‘Z¤ C£ 
Ð+ˆŒ
Øˆ
øô !ò Ùðúr!   c                 óþ   — g }|�|dk  r&	 | j                  «       }|snP|j                  |«       Œ%|dkD  r9| j                  |«      }|sn%|t        |«      z  }|j                  |«       |dkD  rŒ9dj                  |«      S )r#   r   r   r$   r'   s       r   r*   zBytesIteratorIO.readm   s†   € àˆØˆ9˜˜AšØØ—K‘K“M�ÙØØ—‘˜aÔ ð	 ð �a’%Ø—K‘K “N�ÙØØ”S˜“V‘�Ø—‘˜aÔ ð �a“%ð �x‰x˜ÓÐr   c                 óx  — g }	 | j                   j                  d«      }|dk(  r7|j                  | j                   «       	 t        | j                  «      | _         n9|j                  | j                   d |dz    «       | j                   |dz   d  | _         nŒ‘dj                  |«      S # t
        $ r
 d| _         Y Œ#w xY w)Nó   
r-   r   r.   r/   r1   s      r   r3   zBytesIteratorIO.readline   s¯   € ØˆØØ—
‘
—‘ Ó&ˆAØ�BŠwØ—‘˜dŸj™jÔ)ðÜ!% d§j¡jÓ!1�D•Jð
 —‘˜dŸj™j¨¨1¨q©5Ð1Ô2Ø!ŸZ™Z¨¨A©¨Ð0�”
Øð ð �x‰x˜ÓÐøô %ò Ø!$�D”JÙðúr4   r   r5   r   r   r   r;   r;   L   s    „ ñòòóó ó$ r   r;   )	r9   ÚioÚdjango.utils.encodingr   r   Ú
TextIOBaser   ÚBytesIOr;   r   r   r   ú<module>rF      s3   ðÙ :Û 	ç 8ôB�R—]‘]ô BôJB �b—j‘jõ B r   