o
    |¨Êh¥  ã                   @   sÂ   d dl mZ dZeddddddd	d
dddddddddddgZeddddddddddd d!d"d#d$d%d&d'd(gZd)d*d+d,d-œZed.d/d0d1d2d3d4d5d6d7gZd8d9„ Zd:d;„ Zd<d=„ Z	d>d?„ Z
G d@dA„ dAƒZdBS )Cé    )Úunicode_literalsÚzeroÚunoÚdueÚtreÚquattroÚcinqueÚseiÚsetteÚottoÚnoveÚdieciÚundiciÚdodiciÚtrediciÚquattordiciÚquindiciÚsediciÚdiciassetteÚdiciottoÚ
diciannoveÚprimoÚsecondoÚterzoÚquartoÚquintoÚsestoÚsettimoÚottavoÚnonoÚdecimoÚ
undicesimoÚ
dodicesimoÚtredicesimoÚquattordicesimoÚquindicesimoÚ
sedicesimoÚdiciassettesimoÚdiciottesimoÚdiciannovesimoÚventiÚtrentaÚquarantaÚsessanta)é   é   é   é   ÚmÚbÚtrÚquadrÚquintÚsestÚsettÚottÚnovÚdecc                 C   s$   |   dd¡  dd¡  dd¡  dd¡S )NÚooÚoÚaoÚioÚauÚu)Úreplace©Ústring© rE   úC/var/www/html/env/lib/python3.10/site-packages/num2words/lang_IT.pyÚphonetic_contraction2   s   ürG   c                 C   s(   t | d  }| d dkr|d S |d S )Nr1   r   ÚilioneÚiliardo)ÚEXPONENT_PREFIXES)Úexponent_lengthÚprefixrE   rE   rF   Úexponent_length_to_string;   s   rM   c                 C   s   d  dd„ |  ¡ D ƒ¡S )Nú c                 S   sL   g | ]"}|d d… dkrt |ƒdkr| dd¡dd … d n| dd¡‘qS )éýÿÿÿNr   r/   u   trÃ©)ÚlenrB   )Ú.0ÚwrE   rE   rF   Ú
<listcomp>K   s    üý
úzaccentuate.<locals>.<listcomp>)ÚjoinÚsplitrC   rE   rE   rF   Ú
accentuateE   s
   ùþrV   c                 C   s   | t krdS | S )NÚ )ÚZERO)Únumber_to_stringrE   rE   rF   Úomitt_if_zeroV   s   rZ   c                   @   sV   e Zd ZdZdZdd„ Zddd„Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ Zdd„ ZdS )ÚNum2Word_ITzmeno z	 virgola c                 C   s   d S )NrE   ©ÚselfrE   rE   rF   Ú__init__a   s   zNum2Word_IT.__init__Fc                    sZ   |r
ˆ   t|ƒ¡}nˆ  t|ƒ¡}t|ƒ d¡d }d ‡ fdd„|D ƒ¡}|tj | S )NÚ.é   rN   c                    s   g | ]	}ˆ   t|ƒ¡‘qS rE   )Úto_cardinalÚint©rQ   Úcr\   rE   rF   rS   l   s    z.Num2Word_IT.float_to_words.<locals>.<listcomp>)Ú
to_ordinalrb   ra   ÚstrrU   rT   r[   ÚFLOAT_INFIX_WORD)r]   Úfloat_numberÚordinalrL   Ú
float_partÚpostfixrE   r\   rF   Úfloat_to_wordsd   s   þzNum2Word_IT.float_to_wordsc                 C   sN   |d }|d }|t v rt | }n
t| d d… d }tt| ƒ}t|| ƒS )Né
   éÿÿÿÿÚanta)ÚSTR_TENSÚCARDINAL_WORDSrZ   rG   )r]   ÚnumberÚtensÚunitsrL   rk   rE   rE   rF   Útens_to_cardinalp   s   
zNum2Word_IT.tens_to_cardinalc                 C   s>   |d }d}|dkrt | | }t|  |d ¡ƒ}t|| ƒS )Néd   Úcentor`   )rq   rZ   ra   rG   )r]   rr   ÚhundredsrL   rk   rE   rE   rF   Úhundreds_to_cardinalz   s   z Num2Word_IT.hundreds_to_cardinalc                 C   s>   |d }|dkrd}n|   |¡d }t|   |d ¡ƒ}|| S )Néè  r`   ÚmilleÚmila)ra   rZ   )r]   rr   Ú	thousandsrL   rk   rE   rE   rF   Úthousands_to_cardinal‚   s   z!Num2Word_IT.thousands_to_cardinalc           
      C   sâ   dd„ t |ƒD ƒ}t|ƒ}|dkrtdƒ‚|d pd}|d |… }||d … }tt|ƒƒ}|dgkr5d}n|  td |¡ƒ¡}d	|d d
…  d }t|ƒtdƒkri|  td |¡ƒ¡}	d|	v rd|d7 }n|d7 }nd}	|| |	 S )Nc                 S   s   g | ]}|‘qS rE   rE   rc   rE   rE   rF   rS   �   s    z6Num2Word_IT.big_number_to_cardinal.<locals>.<listcomp>éB   zThe given number is too large.r/   Ú1zun rW   rN   rn   ÚiÚ0z e z, )rf   rP   ÚNotImplementedErrorrM   ra   rb   rT   Úset)
r]   rr   ÚdigitsÚlengthÚ	predigitsÚ
multiplierÚexponentÚinfixrL   rk   rE   rE   rF   Úbig_number_to_cardinalŒ   s&   


z"Num2Word_IT.big_number_to_cardinalc                 C   s¶   |dk rt j|  | ¡ }t|ƒS t|tƒr|  |¡}t|ƒS |dk r+t| }t|ƒS |dk r8|  |¡}t|ƒS |dk rE|  |¡}t|ƒS |dk rR|  	|¡}t|ƒS |  
|¡}t|ƒS )Nr   é   rv   rz   i@B )r[   ÚMINUS_PREFIX_WORDra   Ú
isinstanceÚfloatrl   rq   ru   ry   r~   r‹   rV   )r]   rr   rD   rE   rE   rF   ra   «   s(   
ô
ö	ø
ú
ü

ÿzNum2Word_IT.to_cardinalc                 C   sÜ   |d }d|  k odk n   }|dk rt j|  | ¡ S |d dkr+| j|dd�S |dk r3t| S |rF|d dkrF|  |¡d d	… d
 S |rU|d dkrU|  |¡d S |  |¡d d	… }|dd … dkrj|d7 }|d S )Nrv   rm   rŒ   r   r`   T)ri   r/   rn   Úeesimor1   ÚesimorO   ÚmilÚl)r[   r�   re   rl   ÚORDINAL_WORDSra   )r]   rr   rs   Úis_outside_teensrD   rE   rE   rF   re   ¼   s    zNum2Word_IT.to_ordinalN)F)Ú__name__Ú
__module__Ú__qualname__r�   rg   r^   rl   ru   ry   r~   r‹   ra   re   rE   rE   rE   rF   r[   ]   s    


r[   N)Ú
__future__r   rX   rq   r”   rp   rJ   rG   rM   rV   rZ   r[   rE   rE   rE   rF   Ú<module>   s&   ýüÿ	
