
    SAi4                     "    S SK Jr  S\S\4S jrg)    )Listdatareturnc                    ^ / n[        U 5      m [        TS5      nUS:X  a  ObSUs=::  a  S:  a*  O  O'UR                  U4S j[        US-   5       5       5        US:  a#  [        T5      /SU-
  -  nUR                  U5        Mu  [	        U5      $ )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   :   >#    U  H  n[        T5      v   M     g 7f)N)next).0_	data_iters     N/var/www/html/land-ocr/venv/lib/python3.13/site-packages/pdfminer/runlength.py	<genexpr>rldecode.<locals>.<genexpr>!   s     !M;La$y//;Ls      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   