
    {-j6                          d dl Z d dlmZ d ZdS )    N)brahmicc                 Z   |j         j        t          j        k    r"t          j                            |           } n&|j         j        t          j        k    r!t          j                            |           } n|j         j        t          j	        k    r!t          j
                            |           } n|j         j        t          j        k    r!t          j                            |           } nu|j         j        t          j        k    r!t          j                            |           } n:|j         j        t          j        k    r t          j                            |           } |j        }|j        }|j        }|j        }|j        j        }|j        }|rt5          |j                  dk    rgdd                    |j         d                   dd                    |j                                                  d}	t=          j        |	d|           } g }
d}d	x}}|
j         }|t5          |           k    rU| |||z            }|rt5          |          d
k    r_||v r |||                    d}nx||v r |||                    d}n`|r |d            ||!                    ||                     d}n1||v r-|r |d            ||!                    |                     d}|r|o||v }|t5          |          z  }n|dd         }||sd|r7 |tE          tG          |$                                                               |t5          |           k     r || |                    d	}|d
z  }d	}|t5          |           k    U|r |d           d                    |
          S )a#  Transliterate `data` with the given `scheme_map`. This function is used
  when the source scheme is a Brahmic scheme.

  :param data: the data to transliterate
  :param scheme_map: a dict that maps between characters in the old scheme
                     and characters in the new scheme
  )textr   z([ 
yogavaahasz])([z])z\2\1F   TaN)%from_schemenamer   GURMUKHIGurmukhiSchemereplace_addakBENGALIBengaliSchemereplace_khandaTELUGUTeluguScheme	replace_nKANNADAKannadaScheme	TAMIL_SUBTamilSchememove_before_maatraa_subscripts	TAMIL_SUP move_before_maatraa_superscriptsvowel_marksvirama
consonantsnon_marks_viraama	to_schemeis_romanmax_key_length_from_schemelenaccentsjoinkeysregexsubappendgetnextitervalues)data
scheme_mapkwr   r   r   r    to_romanr#   patternbufito_roman_had_consonantfoundr*   tokens                   n/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/indic_transliteration/sanscript/brahmic_mapper.py_brahmicr:      s     G$444!//T/::DD"go55 //T/::DD"gn44))t)44DD"go55 ***55DD"g&777==4=HHDD"g&777??T?JJD&+&$* 2!*()D .#j())A--- "
(>|(L M M M MrwwWaWiWnWnWpWpOqOqOqOqrG9Wh--D
#!#((5:& 	
SYY 11112E
 	UqK
&U#
$
$
$%%f__
&


%%# F3KKK
&"&&ue44
5
5
5%%%%%# F3KKK
&"&&u--
.
.
.%	 !)!Aez.A	SZZcrc
3  >  	 ,tD))**+++	
SYYtAw!&1faEc 	
SYYf  
F3KKK	    )r(   'indic_transliteration.sanscript.schemesr   r:    r;   r9   <module>r>      s>     ; ; ; ; ; ;[ [ [ [ [r;   