
    /j                     >    S SK r  SS\S\S\S\\\\\4      4S jjrg)    Ntextmin_sentence_lenretain_formatreturnc                    SnSnSnSnSnSnSn	Sn
U(       a  U R                  S	S
5      n OU R                  S	S5      n [        R                  " USU 5      n [        R                  " USU 5      n [        R                  " U	S-   U	-   SU 5      n [        R                  " U
S U 5      n SU ;   a  U R                  SS5      n [        R                  " SU-   S-   SU 5      n [        R                  " US-   U-   SU 5      n [        R                  " US-   U-   S-   U-   S-   SU 5      n [        R                  " US-   U-   S-   SU 5      n [        R                  " SU-   S-   U-   SU 5      n [        R                  " SU-   S-   SU 5      n [        R                  " SU-   S-   SU 5      n [        R                  " SSU 5      n [        R                  " SSU 5      n U R                  S S!5      n U(       a  U R                  S"S	5      n U R                  S#5      nU R                  S#S$5      n / nS$nS%nS%nU(       a  S$OSnU Hp  nU(       a  UnOUR	                  5       nU(       d  M&  UUU-   -  nU[        U5      -  n[        U5      U:  d  MM  UR                  U[        U5      S& X45        UnS$nMr     U(       a,  UR                  U[        U5      S& U[        U 5      S'-
  45        U$ )(z9
the text may not contain substrings "<prd>" or "<stop>"
z
([A-Za-z])z(Mr|St|Mrs|Ms|Dr)[.]z(Inc|Ltd|Jr|Sr|Co)zp(Mr|Mrs|Ms|Dr|Prof|Capt|Cpt|Lt|He\s|She\s|It\s|They\s|Their\s|Our\s|We\s|But\s|However\s|That\s|This\s|Wherever)z([A-Z][.][A-Z][.](?:[A-Z][.])?)z[.](com|net|org|io|gov|edu|me)z([0-9])z\.{2,}
z<nel><stop> z\1<prd>z<prd>\1z[.]z	\1<prd>\2c                 <    S[        U R                  S5      5      -  $ )N<prd>r   )lengroup)matchs    T/app/agent/.venv/lib/python3.13/site-packages/livekit/agents/tokenize/_basic_sent.py<lambda>!split_sentences.<locals>.<lambda>    s    wU[[^9L/L    zPh.DzPh.D.zPh<prd>D<prd>z\sz[.] z	 \1<prd> z\1<stop> \2z\1<prd>\2<prd>\3<prd>z\1<prd>\2<prd>z \1<stop> \2z \1<prd>u   ([.!?。！？])([\"”])z
\1\2<stop>u   ([.!?。！？])(?![\"”])z\1<stop>r   .z<nel>z<stop> r   N   )replaceresubsplitstripr   append)r   r   r   	alphabetsprefixessuffixesstartersacronymswebsitesdigitsmultiple_dotssplitted_sentences	sentencesbuff	start_posend_pospre_padr   sentences                      r   split_sentencesr+      s    I&H$H CH1H0HFM ||D/||D%66(:t,D66(:t,D66&5.6)-=D 66-!LdSD~||GO466%)#f,\$?D66(3,x'=D66)e#i/%7)CeKLfgklD66)e#i/%78J4PD66$x-&x/0@FD66$x-%k$7D66$"U*;t<D 66.ED660+tDD<<$D ||GT*H-<<"%D,.IDIG!bsG#H{{}H(""3u:t9''d3w<>2IGHID $ $s7|~.	3t9q=IJr   )   F)r   strintboollisttupler+    r   r   <module>r3      sI    	
 BGJ
J!$J:>J	%S#
Jr   