
    ;3h4                          d dl mZ dedefdZy)    )Listdatareturnc                    g }t        |       	 t        d      }|dk(  r	 t	        |      S d|cxk  rdk  r)n n&|j                  fdt        |dz         D               |dkD  r#t              gd|z
  z  }|j                  |       z)a  RunLength decoder (Adobe version) implementation based on PDF Reference
    version 1.4 section 3.3.4:
        The RunLengthDecode filter decodes data that has been encoded in a
        simple byte-oriented format based on run length. The encoded data
        is a sequence of runs, where each run consists of a length byte
        followed by 1 to 128 bytes of data. If the length byte is in the
        range 0 to 127, the following length + 1 (1 to 128) bytes are
        copied literally during decompression. If length is in the range
        129 to 255, the following single byte is to be copied 257 - length
        (2 to 128) times during decompression. A length value of 128
        denotes EOD.
       r   c              3   4   K   | ]  }t                y w)N)next).0_	data_iters     R/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/pdfminer/runlength.py	<genexpr>zrldecode.<locals>.<genexpr>!   s     !Ma$y/!Ms      i  )iterr	   extendrangebytes)r   decoded_arraylengthrunr   s       @r   rldecoder      s      "MT
I
i%S=    !M5!;L!MNC<	?#sV|4C  %     N)typingr   r   r    r   r   <module>r      s     5  U  r   