
    $HJjS                     :    d dl Z d ZdededefdZdededefdZy)    Nc                 :   |r\t        t        j                  ||       t        j                  ||             D cg c]  \  }}|s	|j	                  |      |z    c}}S t        j                  ||       D cg c]  }|j	                  |       c}S c c}}w c c}w )N)zipresplitfindallstrip)textregexinclude_split_charsstrip_charseds         i/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/misaki/vi_cleaner/passage_utils.pysplit_text_passagesr      s    58%9NPRPZPZ[`bfPg5hn5hTQlm$q(5hnn.0hhud.CD.C$.CDD oDs   
BB7Bpassages	maxLengthreturnc                    t        |       dk  r| S t        | d         |k\  r| d   gt        | dd  |      z   S t        | d   | d   z         |k  r t        | d   dz   | d   z   g| dd  z   |      S | d   gt        | dd  |      z   S )N   r   )r   
   )lencombine_passages)r   r   s     r   r   r   
   s    
8}
8A;9$}/	RRR
8A;!$%2!t!3hqk!A B8AB< O[dee}/	RRR    c           	          g }| D ]F  }t        |      |kD  r!|j                  t        |ddd             |c S |j                  |g       |c S  y )Nz[.!?]T )r   appendr   )r   r   sub_passagespassages       r   split_long_passagesr       sW    Lw<)# 3Ghc RS  	* r   )r   r   listintr   r     r   r   <module>r$      sF    	E	St 	S 	S 	S$ 3 4 r   