
    ih              	           d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZ d dlmZmZmZmZ d dlmZmZ  G d deeeee      Z G d de      Z G d	 d
e      Z G d de      Z G d d      Zy)    )_CustomIslamicHolidays)JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC)ChristianHolidaysInternationalHolidaysIslamicHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_WORKDAYc                   H     e Zd ZdZdZdZdZdZdZddd	e	f fd
Z
d Z xZS )Cameroona=  Cameroon holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Cameroon>
        * <https://web.archive.org/web/20250408001410/https://www.timeanddate.com/holidays/cameroon/>
        * <https://web.archive.org/web/20231004010829/https://www.officeholidays.com/countries/cameroon>
    CMz%s (estimated)z%s (observed, estimated)z%s (observed)i  T)islamic_show_estimatedr   c                   t        j                  |        t        j                  |        t        j                  | t        |       t        j                  | t               |j                  dt               t        |   |i | y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        )clsshow_estimated)r   observed_ruleN)
r   __init__r   r   CameroonIslamicHolidaysr   CameroonStaticHolidays
setdefaultr   super)selfr   argskwargs	__class__s       [/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/cameroon.pyr   zCameroon.__init__-   sn     	""4(&&t,  ->T	
 	*@A/+>?$)&)    c                    t               }|j                  | j                  d             | j                  dk\  r |j                  | j	                  d             | j                  d       |j                  | j                  d             | j                  dk\  r |j                  | j                  d             | j                  d       |j                  | j                  d	             |j                  | j                  d
             |j                  | j                  d             |j                  | j                  d             |j                  | j                  d             | j                  r| j!                  |       y y )NzNew Year's Dayi  z	Youth DayzGood Fridayz
Labour Dayi  zNational DayzAscension DayzAssumption DayzChristmas DayzEid al-FitrEid al-AdhaMawlid)setadd_add_new_years_day_year_add_holiday_feb_11_add_good_friday_add_labor_day_add_holiday_may_20_add_ascension_thursday_add_assumption_of_mary_day_add_christmas_dayupdate_add_eid_al_fitr_day_add_eid_al_adha_day_add_mawlid_dayobserved_populate_observed)r#   dts_observeds     r'   _populate_public_holidaysz"Cameroon._populate_public_holidays=   sP   u 	001ABC ::T55kBC 	m, 	,,\:; ::T55nEF 	$$_5 	99:JKL 	00AB 	D55mDE 	D55mDE 	D00:;==##L1 r(   )__name__
__module____qualname____doc__countryestimated_labelobserved_estimated_labelobserved_label
start_yearboolr   r>   __classcell__)r&   s   @r'   r   r      s8     G&O9$NJ=A *d * '2r(   r   c                       e Zd Zy)r   Nr?   r@   rA    r(   r'   r   r   g       r(   r   c                       e Zd Zy)CMRNrK   rL   r(   r'   rO   rO   k   rM   r(   rO   c                      e Zd ZdZedfedfedfedfedfedfedfed	fed
fe	dfe	dfe	dfdZ
dZedfedfedfedfedfedfe	dfedfedfed	fedfdZdZedfedfedfedfed
fedfedfedffedfedfedfedfedfdZy)r   )  i              	                     )rQ             i            )rQ   i                 )rQ   r]   r^   i    r`   ra   rb   rd   re   rf   )rQ   i                 
      )r^   r_   rl   rb   i  rc   rd   re   rf   i  i    N)r?   r@   rA   !EID_AL_ADHA_DATES_CONFIRMED_YEARSr   r   r   r   r   r   EID_AL_ADHA_DATES!EID_AL_FITR_DATES_CONFIRMED_YEARSr   r
   r	   EID_AL_FITR_DATESMAWLID_DATES_CONFIRMED_YEARSr   r   r   MAWLID_DATESrL   r(   r'   r   r   o   s-   (4%AhBiBiAhAhBiBiAhAhBiBiAh )5%BiAhBiAhBiAhBiBiBiAhBi $0 BiAhBiBiAhBiQx#r#BiAhBiBiBiLr(   r   c                   2    e Zd ZdeddfeddffiZdeddfiZy)	r    rt   rm   zPublic Holidayrs   i  rU   r*   N)r?   r@   rA   r   r
   special_public_holidaysr    special_public_holidays_observedrL   r(   r'   r    r       s>    "&'"&'
 	sA}%($r(   r    N)holidays.calendarsr   holidays.calendars.gregorianr   r   r   r   r   r	   r
   r   r   r   r   r   holidays.groupsr   r   r   r   holidays.observed_holiday_baser   r   r   r   rO   r   r    rL   r(   r'   <module>r      sq    6 c c c c  TL2*,A?TbL2^	 		( 	.4 .b
 
r(   