o
    Pεim                     @   s  d Z ddlZddlZdedefddZdedefdd	Zi d
d
ddddddddddddddddddddddddd d!d"d"d#dd$d%i d&d'd(d(d)d*d+d,d-d.d/d0d1d2d3d,d4d5d6d6d7d8d8d8d9dd:d;d<d=d>d?d@dAi dBdCdDdDdEdFdGdHdIdJdKdLdMdNdOdPdQdQdRdSdTdUdVdVdWdXdYdZd[d\d]d^d_d_i d`d`dadbdcdddedfdgdhdidjdkdkdldmdndodpdqdrdrdsdtdudvdwdxdydzd{d{d|d}i d~dddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddÓddœddǓddɓdd˓dd͓ddϓddѓddӓddՓddדi ddٓddۓddݓddߓddddddddddddddddddddddddddi dddddddddd dddddddddd	d
dddddddddddddddddddddddddZdd e D Ze	d 
d!d"d# eeed$d%D Ze	d 
d!d&d# eeed$d%D ZdS ('  zMapping between IPA and Sampa    Nipareturnc                 C      t d| }tdd |S )z$Convert IPA string to sampa phonemesNFDc                 S      t | ddS N    )IPA_TO_SAMPAgetgroupmatch r   C/home/ubuntu/.local/lib/python3.10/site-packages/gruut_ipa/sampa.py<lambda>       zipa_to_sampa.<locals>.<lambda>)unicodedata	normalizeIPA_PATTERNsub)r   ipa_codepointsr   r   r   ipa_to_sampa      r   sampac                 C   r   )z$Convert sampa phonemes to IPA phonesr   c                 S   r   r   )SAMPA_TO_IPAr   r   r   r   r   r   r      r   zsampa_to_ipa.<locals>.<lambda>)r   r   SAMPA_PATTERNr   )r   sampa_codepointsr   r   r   sampa_to_ipa   r   r   au   ɐ6u   ɑAu   ɒQ   æ{u   ʌVbu   ɓr	   u   ʙzB\u   βBc   çCu   çu   ɕzs\du   ɗu   ɖzd`   ðDeu   ə@u   ɚz@`u   ɘz@\u   ɛEu   ɜ3u   ɝu   ɞz3\fu   ɡgu   ɠu   ɢzG\u   ʛzG\_<u   ɣGu   ˠ_Gu   ɤ7hu   ʰ_hu   ħzX\u   ɦzh\u   ɧzx\u   ɥHu   ʜzH\iu   ɨ1u   ɪIju   ʲz', _ju   ʝzj\u   ɟzJ\u   ʄzJ\_<klu   ɫ5u   ɬKu   ɭzl`u   ɮzK\u   ʟzL\mu   ɱFu   ɯMu   ɰzM\nu   ɲJu   ŋNu   ɳzn`u   ɴzN\ou   ʘzO\u   ɵ8   ø2u   œ9u   ɶ&u   ɔOpu   ɸzp\qru   ɾ4u   ɼu   ɽzr`u   ɹzr\u   ɻzr\`u   ɺzl\u   ʀzR\u   ʁRsu   ʂzs`u   ʃStu   ʈzt`u   θTuu   ʉ}u   ʊUvu   ʋzv\wu   ʷ_wu   ʍWxu   χXyu   ʎLu   ʏYzu   ʑzz\u   ʐzz`u   ʒZu   ʔ?u   ʡz>\u   ʕz?\u   ʢz<\u   ˤz_?\u   ǃz!\u   ǀz|\u   ǁz|\|\u   ̠z_-u   ̪_du   ̺_au   ̟z_+u   ̝_ru   ̞_ou   ˈ"u   ˌ%u   ̚z_}.u   ˑz:\u   ̈z_"u   ̤_tu   ː:u   ʼu   ̥_0u   ̊u   ̜_cu   ̹_Ou   ̃z~, _~u   ̴_eu   ̰_ku   ̬_vu   ̆_Xu   ̯z_^u   ̽u   ˞`u   ̻_mu   ̘_Au   ̙_qu   ̼_Nu   ↗z<R>u   ↑^u   ↘u   ↓!u   ̏_Bu   ̀_L_M_H_Tzts`zdz`k_x)u   ̄u   ́u   ̋u   ͡u   ͜u   ʈ͡ʂu   ɖ͡ʐu   k͡x|u   ‖#c                 C   s   i | ]	\}}|r||qS r   r   ).0r>   r[   r   r   r   
<dictcomp>   s    r   z({})r   c                 c       | ]}t |V  qd S Nreescape)r   r   r   r   r   	<genexpr>   s    

r   T)keyreversec                 c   r   r   r   )r   r   r   r   r   r      s    )__doc__r   r   strr   r   r
   itemsr   compileformatjoinsortedlenr   r   r   r   r   r   <module>   s   		
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                 	  
                                   
 .&