
    $HJj2                        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!d"d#d$d%d&d'Z i d d(dd)dd*dd+dd,d
d-dd.dd/dd0dd1dd2dd3dd4dd5dd6dd7d d8d9d:d;d<d=d'Zi d d>dd?dd@ddAddBd
dCddDddEddFddGddHddIddJddKddLddMd dNdOdPdQdRdSd'Zeee dTZdU ZdV ZdW ZdX ZdY ZdZ Z	d[ Z
d\ Zd] Zdad^Zd_ Zy`)b.ten0zero1ichi2ni3san4yon5go6roku7nana8hachi9kyuu10juu100hyaku1000sen10000man	100000000oku300sanbyakuroppyakuhappyakusanzenhassenissen)6008003000800001000   点   零   一   二   三   四   五   六   七   八   九   十   百   千   万   億u   三百u   六百u   八百u   三千u   八千u   一千u   てんu   ゼロu   いちu   にu   さんu   よんu   ごu   ろくu   ななu   はちu	   きゅうu	   じゅうu	   ひゃくu   せんu   まんu   おくu   さんびゃくu   ろっぴゃくu   はっぴゃくu   さんぜんu   はっせんu   いっせんkanjihiraganaromajic                     ||    S )N convert_numrequested_dicts     Y/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/misaki/num2kana.pylen_onerH      s    +&&    c                 p   | d   dk(  rt        | d   |      S | dk(  r|d   S | d   dk(  r|d   dz   t        | d   |      z   S | d   dk(  rt        | d   |      dz   |d   z   S g }| D ]  }|j                  ||           |j                  d|d          d}|D ]
  }||dz   z  } |d t        |      dz
   }|S )N    r      r   r     )rH   appendinsertlen)rE   rF   num_listxoutputys         rG   len_tworV      s    1~{1~n55dd##1~d#c)GKN>,RRR	Q3	{1~n5;nT>RRRAOON1-. >$/0Aa#gF (Vq)rI   c                 6   g }| d   dk(  r|j                  |d          n| d   dk(  r|j                  |d          ne| d   dk(  r|j                  |d          nH| d   dk(  r|j                  |d	          n+|j                  || d             |j                  |d          | d
d  dk(  rt        |       dk(  rn>| d
   dk(  r|j                  || d             n|j                  t        | d
d  |             d}|D ]
  }||dz   z  } |d t        |      d
z
   }|S )NrK   r   r   r
   r"   r   r)   r   r*   rL   00   r      rN   rM   )rO   rQ   rV   rE   rF   rR   rT   rU   s        rG   	len_threer\   /   s/   H1~u-.	Q3	u-.	Q3	u-.	Q3	u-.{1~67u-.12$3{#3q#8q>S OON;q>:;OOGKO^DEF	1s7	 $S[1_%FMrI   c                    g }| dk(  ry| d   dk(  r| dd  } | d   dk(  rt        |       dk(  rt        | |      S t        |       dk(  rt        | |      S t        |       dk(  rt        | |      S | d   dk(  r|r|j	                  |d	          n| d   dk(  r|j	                  |d
          ne| d   dk(  r|j	                  |d          nH| d   dk(  r|j	                  |d          n+|j	                  || d             |j	                  |d	          | dd  dk(  rt        |       dk(  rnE| d   dk(  r|j	                  t        | dd  |             n|j	                  t        | dd  |             d}|D ]
  }||dz   z  } |d t        |      dz
   }|S )N0000rN   rK   r   rL   rZ   rY   r   r   r-   r
   r+   r   r,   000   rM   )rQ   rH   rV   r\   rO   )rE   rF   stand_alonerR   rT   rU   s         rG   len_fourrb   J   s   Hf
a.C
!!"o a.C

;1{>22	[	Q	{>22	[	Q	^44 q>S [OON623^s"OON734^s"OON623^s"OON623OON;q>:;OON623qr?e#K(8A(=1~$AB GH	+ab/. IJAq3wV (Vq)rI   c                    g }t        | dd       dk(  r-|j                  || dd           |j                  |d          nNt        | dd       dk(  r4|j                  t        | dd |             |j                  |d          n	t        | dd       dk(  r3|j                  t        | dd |             |j                  |d          nt        | dd       dk(  r4|j                  t	        | dd |d             |j                  |d          nt        | dd       d	k(  rh|j                  || d             |j                  |d
          |j                  t	        | dd	 |d             | dd	 dk(  rn|j                  |d          nJ d       |j                  t	        | dd  |d             d}|D ]
  }||dz   z  } |d t        |      dz
   }|S )NrK   rL   r   rZ   rY   r`   F   r    r^   z2Not yet implemented, please choose a lower number.rN   rM   )rQ   rO   rV   r\   rb   r[   s        rG   len_xrf   t   s   H
;q"{1R'89:w/0	[2	1	$Aa 0@Aw/0	[2	1	$	+a"2>BCw/0	[2	1	$Qq!1.%HIw/0	[2	1	${1~67{34Qq!1.%HIqv%OON734JJJuOOH[-neDEF	1s7	 $S[1_%FMrI   c                 .    d}| D ]  }|dk(  r	||z  } |S )NrN   rM   rC   )convert_result
correctionrS   s      rG   remove_spacesrj      s,    J8	q	 
 rI   c                     t        |       dk(  rt        | |      S t        |       dk(  rt        | |      S t        |       dk(  rt        | |      S t        |       dk(  rt	        | |d      S t        | |      S )NrL   rZ   rY   r`   T)rQ   rH   rV   r\   rb   rf   rD   s     rG   
do_convertrl      sy    
;1{>23	[	Q	{>23	[	Q	^45	[	Q	ND9:[01rI   c                    | j                  d      } | d   }| d   }d}|D ]  }|t        |t        |         dz   z  } |d   dk(  r3|d   dk7  r+|dk(  r&t        ||      }|dd d	z   }|t        |   d   z   |z   S |d   dk(  r3|d   dk7  r+|d
k(  r&t        ||      }|dd dz   }|t        |   d   z   |z   S t        ||      dz   t        |   d   z   |z   S )Nr   rK   rL   rM   r   r@   u   っrA   t)splitrH   key_dictConvert)	split_numdict_choicesplit_num_asplit_num_bsplit_num_b_endrS   	small_Tsus          rG   split_Pointrz      s   $IA,KA,KO71Xk%:;cAA  2#+b/S"8[J=VK4	aOe+	8K055GG2#+b/S"8[H=TK4	aOc)	8K055GG;{+c1H[4I#4NNQ```rI   c           	         | dk(  ryg }g }d}| D ]X  }|dk(  s|dk(  rG|j                  |       |j                  d       |j                  |       |j                  d       d}T||z  }Z |dk7  r|j                  |       g }g d}g d	}|D ]5  }t        |      }	d}
d
}t        |      D ]  }d}|d
z  }|	d
z
  }	|d
k(  r||v r1t        j	                         D ]  \  }}||k(  s|
t        |      z  }
 J||v sO||	d
z
     |v rs|	dkD  rnt        j	                         D ]V  \  }}|||	d
z
     k(  st        |      }t        j	                         D ]#  \  }}||k(  s||t        |      z  z  }|
|z  }
d}% X t        j	                         D ]  \  }}||k(  s|
t        |      z  }
  |j                  t        |
             8 |d   }
d}t        d
t        |            D ]C  }||   dk(  r,	 ||d
z      dk(  r|
||   ||d
z      z  z   }
|d
z  }n|
||   z  }
n|
||   z  }
|d
z  }E |
S # t        $ r |
|d   z  }
Y  |
S w xY w)Nr/   rK   rN   r<   r=   timesplus)	r0   r1   r2   r3   r4   r5   r6   r7   r8   )r9   r:   r;   r<   r=   rL   rZ   rn   )rO   rQ   reversed
kanji_dictitemsintrange
IndexError)rE   key
numberListrU   rS   numberListConverted
baseNumber
linkNumbernoXcountresultskipaddToztempNos                  rG   do_kanji_convertr      s    e CJ
A:ea JJwa JJvAFA  	Bw!PJ4J C#AEAIDAIEqyJ&,,.DAqAv#a&( / juqy>Z/EAI * 0 0 21EAI.%(VF(2(8(8(:1#$6$)Vc!f_$<E$*eOF+,D	 ); !3 !+ 0 0 216"c!f,F !3+ 0 	""3v;/9 < !#F	A 1S,-.q6Vqs8w&#&9!&<?RSTUVSV?W&WWFFA1!44F
 1!44F	Q / M  -b11
 Ms   -*H))H?>H?c                    t        |       } | j                  dd      } |j                         }|dk(  r&g }dD ]  }|j                  t	        | |              |S t
        |   }t        |       dkD  ry| d   dk(  r*t        |       d	kD  r| d	d  } | d   dk(  rt        |       d	kD  rd
| v rt        | |      }nt        | |      }t
        |   t        k(  r	 |S t        |      }|S )N,rN   allr>   	   z2Number length too long, choose less than 10 digitsrK   r   rL   r   )strreplacelowerrO   rs   rr   rQ   rz   rl   romaji_dictrj   )rE   ru   result_listrS   
dictionaryr   s         rG   rs   rs     s   k"K%%c"-K##%K e.Aw{156 /+&J ;!C a.C
C$4q$8!!"o a.C
C$4q$8 k[5K4 + M v&MrI   c                 z   | d   t         j                         v rd| v r| j                  d      }d}| |dz   d  D ]O  }|t        t         j	                               t        t         j                               j                  |         z  }Q t        t        | d|             dz   |z   S t        t        |             S y )NrK   r.   rN   rL   r   )r   valuesfindlistkeysindexr   r   )rE   point	endNumberrS   s       rG   ConvertKanjir   4  s    1~**,,K$$U+EI q*T*//"34T*:K:K:M5N5T5TUV5WXX	 +'Ae(<=>DyPQ'456 -rI   N)r@   )r   r   hiragana_dictrr   rH   rV   r\   rb   rf   rj   rl   rz   r   rs   r   rC   rI   rG   <module>r      s  ~sE ~3 ~V ~S$ ~U ~CQV ~X[]a ~cfhn ~psu{ ~W~!6~+/~8=w~HNPU~W^`e~grty~z~*4ZQYbju|~wc5 w#u wc5 w#u wc5 w#u wVY[` wbegl wnqsx wUww(,ew5:EwCI5wRY[`wbmotwXw&.xZbmuw
hh hX hsH hc5 h#x hY\^f hhkmr htw  zB h  DG  IQ hXh"Kh15{hDI;hX^`hhjqs{h ~I  KSh)h2CL]gu  M  Xfh !}T',6'T@2a*N`"H
7rI   