+
    Brh&                         R t ^ RIt^ RIt]P                  t ! R R]P
                  4      t ! R R]P                  4      tR# )z,Internal classes used by compression modulesNc                   <   a  ] tR t^	t o RtR tR tR tR tRt	V t
R# )
BaseStreamzMode-checking helper functions.c                @    V P                   '       d   \        R 4      hR# )zI/O operation on closed fileN)closed
ValueErrorselfs   &9/usr/local/lib/python3.14/compression/_common/_streams.py_check_not_closedBaseStream._check_not_closed   s    ;;;;<<     c                ^    V P                  4       '       g   \        P                  ! R 4      hR# )zFile not open for readingN)readableioUnsupportedOperationr   s   &r	   _check_can_readBaseStream._check_can_read   $    }}))*EFF r   c                ^    V P                  4       '       g   \        P                  ! R 4      hR# )zFile not open for writingN)writabler   r   r   s   &r	   _check_can_writeBaseStream._check_can_write   r   r   c                    V P                  4       '       g   \        P                  ! R 4      hV P                  4       '       g   \        P                  ! R4      hR# )z3Seeking is only supported on files open for readingz3The underlying file object does not support seekingN)r   r   r   seekabler   s   &r	   _check_can_seekBaseStream._check_can_seek   sS    }})) +F G G}})) +E F F r    N)__name__
__module____qualname____firstlineno____doc__r
   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r	   r   r   	   s%     )=GGF Fr   r   c                      a a ] tR t^!t oRtR tRR ltV 3R ltR tR t	RR lt
R tR	 t]P                  3R
 ltR tRtVtV ;t# )DecompressReaderz5Adapts the decompressor API to a RawIOBase reader APIc                    R # )Tr   r   s   &r	   r   DecompressReader.readable$   s    r   c                    Wn         R V n        ^ V n        RV n        W n        W@n        V P                  ! R/ V P
                  B V n        W0n        R# )FNr   )_fp_eof_pos_size_decomp_factory_decomp_args_decompressor_trailing_error)r   fpdecomp_factorytrailing_errordecomp_argss   &&&&,r	   __init__DecompressReader.__init__'   sP    		 
  .'!11FD4E4EF  .r   c                .   < R V n         \        SV `	  4       # N)r1   superclose)r   	__class__s   &r	   r<   DecompressReader.close;   s    !w}r   c                6    V P                   P                  4       # r:   )r+   r   r   s   &r	   r   DecompressReader.seekable?   s    xx  ""r   c           
     ,   \        V4      ;_uu_ 4       q"P                  R 4      ;_uu_ 4       pV P                  \        V4      4      pWCR\        V4      % RRR4       RRR4       \        X4      #   + '       g   i     L#; i  + '       g   i     L.; i)BN)
memoryviewcastreadlen)r   bview	byte_viewdatas   &&   r	   readintoDecompressReader.readintoB   sY    ]]dIIcNNi99S^,D$(js4y! %3] 4y %3N]]s"   B(A0	B0B ;BB	c                Z   V^ 8  d   V P                  4       # V'       d   V P                  '       d   R# Rp V P                  P                  '       d   V P                  P                  ;'       g     V P
                  P                  \        4      pV'       g   MV P                  ! R/ V P                  B V n         V P                  P                  W14      pMlV P                  P                  '       d4   V P
                  P                  \        4      pV'       g   \        R4      hMRpV P                  P                  W14      pV'       g   EK   V'       g   RV n        V P                  V n        R# V ;P                  \!        V4      ,          un        V#   T P                   d     KZ  i ; i)    r   NTzACompressed file ended before the end-of-stream marker was reachedr   )readallr,   r1   eofunused_datar+   rE   BUFFER_SIZEr/   r0   
decompressr2   needs_inputEOFErrorr-   r.   rF   )r   sizerJ   rawblocks   &&  r	   rE   DecompressReader.readH   s`   !8<<>!tyyy !!%%% ..:: 7 7 HHMM+6 %)%9%9 &)''&)"--88HD
 %%111#xx}}[9H#& (J K K $  #H))44XDtDIDJ		SY	' ++ s   ;F F*)F*c                    . pV P                  \        P                  4      ;p'       d   VP                  V4       K:  R P	                  V4      # )r   )rE   sysmaxsizeappendjoin)r   chunksrJ   s   &  r	   rO   DecompressReader.readallq   s<     ii,,d,MM$xxr   c                    V P                   P                  ^ 4       RV n        ^ V n        V P                  ! R/ V P
                  B V n        R# )rN   FNr   )r+   seekr,   r-   r/   r0   r1   r   s   &r	   _rewindDecompressReader._rewind|   s<    a		!11FD4E4EFr   c                   V\         P                  8X  d   MV\         P                  8X  d   V P                  V,           pM{V\         P                  8X  dM   V P
                  ^ 8  d(   V P                  \         P                  4      '       d   K'  V P
                  V,           pM\        RP                  V4      4      hWP                  8  d   V P                  4        MWP                  ,          pV^ 8  dS   V P                  \        \         P                  V4      4      pV'       g    V P                  # V\        V4      ,          pKY  V P                  # )rN   zInvalid value for whence: {})r   SEEK_SETSEEK_CURr-   SEEK_ENDr.   rE   DEFAULT_BUFFER_SIZEr   formatrb   minrF   )r   offsetwhencerJ   s   &&& r	   ra   DecompressReader.seek   s    R[[ r{{"YY'Fr{{"zzA~ii 6 677ZZ&(F;BB6JKK IILLNiiF qj99S!7!7@AD yy c$iFyyr   c                    V P                   # )z!Return the current file position.)r-   r   s   &r	   tellDecompressReader.tell   s    yyr   )r0   r/   r1   r,   r+   r-   r.   r2   )r   )r*   )r   r   r   r    r!   r   r7   r<   r   rK   rE   rO   rb   r   re   ra   ro   r"   r#   __classcell__)r=   r$   s   @@r	   r&   r&   !   sJ     ?.(#'R G #%++ < r   r&   )	r!   r   rZ   rh   rR   BufferedIOBaser   	RawIOBaser&   r   r   r	   <module>rt      s?    2 	 
$$F"" F0Ar|| Ar   