Ë
    9%i*"  ã                   ķb    d dl mZ g dĸZg dĸZg dĸZdZdZdZdZ G d	 d
e	Ģ      Z
 G d dĢ      Zy)é    )ÚDecimal)Ú u   āĻĒā§āĻ°āĻĨāĻŽu   āĻĻā§āĻŦāĻŋāĻ¤ā§ā§u   āĻ¤ā§āĻ¤ā§ā§u   āĻāĻ¤ā§āĻ°ā§āĻĨu   āĻĒāĻā§āĻāĻŽu   āĻˇāĻˇā§āĻ u   āĻ¸āĻĒā§āĻ¤āĻŽu   āĻāĻˇā§āĻāĻŽu	   āĻ¨āĻŦāĻŽu	   āĻĻāĻļāĻŽ)
r   u   āĻāĻu	   āĻĻā§āĻu	   āĻ¤āĻŋāĻ¨u	   āĻāĻžāĻ°u   āĻĒāĻžāĻāĻu	   āĻāĻ¯āĻŧu	   āĻ¸āĻžāĻ¤u   āĻāĻu	   āĻ¨āĻ¯āĻŧ)Zu   āĻĻāĻļ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   āĻāĻāĻ¤ā§āĻ°āĻŋāĻļ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   āĻāĻŋāĻˇāĻā§āĻāĻŋ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   āĻā§āĻ°āĻžāĻ¨āĻŦā§āĻŦāĻu   āĻĒāĻāĻāĻžāĻ¨āĻŦā§āĻŦāĻu   āĻāĻŋāĻ¯āĻŧāĻžāĻ¨āĻŦā§āĻŦāĻu   āĻ¸āĻžāĻ¤āĻžāĻ¨āĻŦā§āĻŦāĻu   āĻāĻāĻžāĻ¨āĻŦā§āĻŦāĻu   āĻ¨āĻŋāĻ°āĻžāĻ¨āĻŦā§āĻŦāĻu    āĻšāĻžāĻāĻžāĻ° u    āĻ˛āĻžāĻ u    āĻā§āĻāĻŋ lD   ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙^Ž*OO)Ū ^y˛¯BeÛmĻlˇ>r4pĄ=Û5
#˛q ~&ĸOs^y&ąus7Ž"ŗ&~kOj1Ē_6@ESEHô\WZzS#w˛;?`Ā*t,y>ėqc                   ķ    e Zd ZdZy)ÚNumberTooLargeErrorz0Custom exception for numbers that are too large.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Š ķ    úk/var/www/html/navyabakers_fullstack/navyabakers_prod/venv/lib/python3.12/site-packages/num2words/lang_BN.pyr   r   5   s    Ų:Ør   r   c                   ķx    e Zd Zed Ģ       ZedefdĢ       ZedefdĢ       Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zy)ÚNum2Word_BNc                 ķ<    t        t        t        | Ģ      Ģ      Ģ      S ŠN)Úabsr   Ústr)Únumbers    r   Ústr_to_numberzNum2Word_BN.str_to_number<   s    ä73v;Ķ'Ķ(Đ(r   r   c                 ķĒ    t        | t        | Ģ      z
  Ģ      j                  dĢ      dd  }|rdj                  |Ģ      nd}t        | Ģ      t        |Ģ      fS )Nú.é   r   r   Šr   ÚintÚsplitÚjoin)r   ÚdosomikÚdosomik_strs      r   Úparse_numberzNum2Word_BN.parse_number@   sM    äfs 6{Ņ*Ķ+×1Ņ1°#Ķ6°q°rĐ:Ų*1bgggÔ&°qÜ6{C Ķ,Đ,Đ,r   c                 ķâ    t        | t        | Ģ      z
  Ģ      j                  dĢ      dd  }|rdj                  |Ģ      nd}|rt        t        |Ģ      dz  Ģ      d d }t        | Ģ      t        |Ģ      fS )Nr   r   r   r   éd   é   r   )r   ÚpaisaÚ	paisa_strs      r   Úparse_paisazNum2Word_BN.parse_paisaF   sl    ô FS [Ņ(Ķ)×/Ņ/°Ķ4°Q°RĐ8Ų&+BGGEN°	ņ ÜC 	N¨SŅ0Ķ1°"°1Đ5IÜ6{C 	NĐ*Đ*r   c                 ķ:    t         |k\  ryt        dt          Ģ      )NTzToo Large number maximum value=)Ú
MAX_NUMBERr   ŠÚselfr   s     r   Ú_is_smaller_than_max_numberz'Num2Word_BN._is_smaller_than_max_numberQ   s)    ÜŌØÜ!đ %+Ü+5¨,đ#8ķ 9đ 	9r   c                 ķZ    d}t        |Ģ      D ]  }|dt        t        |Ģ         z   z  } |S )Nr   Ú )r   ÚAKOKr   )r)   r   ÚwordÚis       r   Ú_dosomik_to_bengali_wordz$Num2Word_BN._dosomik_to_bengali_wordW   s6    ØÜVō 	'AØC$s 1v,Ņ&Ņ&Dđ	'ār   c                 ķö   |dk(  ryd}|dk\  r#|| j                  |dz  Ģ      t        z   z  }|dz  }|dk\  r#|| j                  |dz  Ģ      t        z   z  }|dz  }|dk\  r#|| j                  |dz  Ģ      t        z   z  }|dz  }|dk\  r|t        |dz     dz   z  }|dz  }d	|cxk  rd
k  rn n|t
        |d	z
     dz   z  }d}d|cxk  rd	k  r!n |j                  Ģ       S |t        |   dz   z  }|j                  Ģ       S )Nr   u   āĻļā§āĻ¨ā§āĻ¯r   i i  ič  r!   u   āĻļāĻ¤ é
   éc   r,   )Ú_number_to_bengali_wordÚKOTIÚLAKHÚHAZARr-   ÚDOSOKÚstrip)r)   r   Úwordss      r   r4   z#Num2Word_BN._number_to_bengali_word]   s-   ØQ;Ø$āāWŌØT×1Ņ1°&¸GŅ2CĶDÄtŅKŅKEØgŅFāWŌØT×1Ņ1°&¸GŅ2CĶDÄtŅKŅKEØgŅFāT>ØT×1Ņ1°&¸Dą.ĶAÄEŅIŅIEØdNFāS=ØT& C-Ņ(¨9Ņ4Ņ4EØcMFāÔ2ÕØU6 B;Ņ'¨#Ņ-Ņ-EØFāv??đ {{}Đđ T&\ CŅ'Ņ'Eā{{}Đr   c                 ķ   d}| j                  |Ģ      }| j                  |Ģ      \  }}| j                  |Ģ       |dkD  rd| j                  |Ģ       d}| j                  |Ģ       d}|r||z   j	                  Ģ       S |j	                  Ģ       S )uK  
        This function represent a number to word in bangla taka and paisa.
        example:
        1 = āĻāĻ āĻāĻžāĻāĻž,
        101 = āĻāĻāĻļāĻ¤ āĻāĻ āĻāĻžāĻāĻž,
        9999.15 = āĻ¨āĻ¯āĻŧ āĻšāĻžāĻāĻžāĻ° āĻ¨āĻ¯āĻŧāĻļāĻ¤ āĻ¨āĻŋāĻ°āĻžāĻ¨āĻŦā§āĻŦāĻ āĻāĻžāĻāĻž āĻĒāĻ¨ā§āĻ° āĻĒāĻ¯āĻŧāĻ¸āĻž
        and so on.
        Nr   r,   u    āĻĒāĻ¯āĻŧāĻ¸āĻžu    āĻāĻžāĻāĻž)r   r%   r*   r4   r9   )r)   ÚvalÚdosomik_wordr   Údecimal_partr:   s         r   Úto_currencyzNum2Word_BN.to_currency|   s    đ Ø×#Ņ# CĶ(Ø#×/Ņ/°Ķ7ŅØ×(Ņ(¨Ô0ā!ŌØt×;Ņ;¸LĶIĐJĐJZĐ[Lā×/Ņ/°Ķ7Đ8¸ĐFáØLŅ(×/Ņ/Ķ1Đ1Ø{{}Đr   c                 ķ   d}| j                  |Ģ      }| j                  |Ģ      \  }}| j                  |Ģ       |dkD  rd| j                  |Ģ       }| j	                  |Ģ      }|r||z   j                  Ģ       S |j                  Ģ       S )uõ   
        This function represent a number to word in bangla.
        example:
        1 = āĻāĻ,
        101 = āĻāĻāĻļāĻ¤ āĻāĻ,
        9999 = āĻ¨āĻ¯āĻŧ āĻšāĻžāĻāĻžāĻ° āĻ¨āĻ¯āĻŧāĻļāĻ¤ āĻ¨āĻŋāĻ°āĻžāĻ¨āĻŦā§āĻŦāĻ
        and so on.
        Nr   u    āĻĻāĻļāĻŽāĻŋāĻ)r   r   r*   r0   r4   r9   )r)   r   r=   r>   r:   s        r   Úto_cardinalzNum2Word_BN.to_cardinal   s    đ Ø×#Ņ# FĶ+Ø#×0Ņ0°Ķ8ŅØ×(Ņ(¨Ô0ā!ŌØ-¨d×.KŅ.KČLĶ.YĐ-ZĐ[Lā×,Ņ,¨VĶ4áØLŅ(×/Ņ/Ķ1Đ1Ø{{}Đr   c                 ķ$    | j                  |Ģ      S r   )rA   r(   s     r   Ú
to_ordinalzNum2Word_BN.to_ordinalŦ   s    Ø×Ņ Ķ'Đ'r   c                 ķÎ    | j                  |Ģ       |t        ddĢ      v r	t        |   S | j                  t	        t        |Ģ      Ģ      Ģ      }|j                  dĢ      r|dz   S |dz   S )uß   
        This function represent a number to ranking in bangla.
        example:
        1 = āĻĒā§āĻ°āĻĨāĻŽ,
        2 = āĻĻā§āĻŦāĻŋāĻ¤ā§ā§,
        1001 = āĻāĻ āĻšāĻžāĻāĻžāĻ° āĻāĻāĻ¤āĻŽ
        and so on.
        r   é   u   āĻ¤u   āĻŽu   āĻ¤āĻŽ)r*   ÚrangeÚRANKINGrA   r   r   Úendswith)r)   r   Úranks      r   Úto_ordinal_numzNum2Word_BN.to_ordinal_num¯   sc    đ 	×(Ņ(¨Ô0āU1b\Ņ!Ü6?Đ"ā×#Ņ#¤CŦ¨FĢĶ$4Ķ5DØ}}UÔ#Øe|Đ#Ø(?Đ"r   c                 ķp    | j                  |Ģ       | j                  t        t        |Ģ      Ģ      Ģ      dz   S )uí   
        This function represent a number to year in bangla.
        example:
        2002 = āĻĻā§āĻ āĻšāĻžāĻāĻžāĻ° āĻĻā§āĻ āĻ¸āĻžāĻ˛,
        2024 = āĻĻā§āĻ āĻšāĻžāĻāĻžāĻ° āĻāĻŦā§āĻŦāĻŋāĻļ āĻ¸āĻžāĻ˛
        and so on.
        u
    āĻ¸āĻžāĻ˛)r*   rA   r   r   r(   s     r   Úto_yearzNum2Word_BN.to_yearÂ   s1    đ 	×(Ņ(¨Ô0Ø×Ņ¤¤C¨ŖKĶ 0Ķ1°LŅ@Đ@r   N)r   r   r	   Ústaticmethodr   r   r   r%   r*   r0   r4   r?   rA   rC   rJ   rL   r   r   r   r   r   :   ss    āņ)ķ đ)đ đ-Wō -ķ đ-đ
 đ+Gō +ķ đ+ō9ōōō>ō0ō0(ō#ķ&	Ar   r   N)Údecimalr   rG   r-   r8   r7   r6   r5   r'   Ú	Exceptionr   r   r   r   r   ú<module>rP      sS   đõ& ōKō,ō	đ( 	ØØđ A
ô	)ô 	÷
QAō QAr   