
    !g              	           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                   4     e Zd ZdZdZdZdZ fdZd Z xZ	S )Cameroonz
    References:
      - https://en.wikipedia.org/wiki/Public_holidays_in_Cameroon
      - https://www.timeanddate.com/holidays/cameroon
      - https://www.officeholidays.com/countries/cameroon
    CMz%s (observed)i  c                    t        j                  |        t        j                  |        t        j                  | t               t        j                  | t               |j                  dt               t        |   |i | y )N)clsobserved_rule)
r   __init__r   r   CameroonIslamicHolidaysr   CameroonStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      X/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/holidays/countries/cameroon.pyr   zCameroon.__init__'   sd    ""4(&&t,  +BC*@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observed_label
start_yearr   r<   __classcell__)r$   s   @r%   r   r      s#     G$NJ*'2r&   r   c                       e Zd Zy)r   Nr=   r>   r?    r&   r%   r   r   Y       r&   r   c                       e Zd Zy)CMRNrF   rG   r&   r%   rJ   rJ   ]   rH   r&   rJ   c            	          e Zd Zi dedfdedfdedfdedfd	ed
fdedfedffdedfdedfdedfdedfdedfdedfdedfdedfde	dfd e	d!fd"e	dfe
d
fe
d#fedfedfedfedfd$Zi dedfdedfdedfded%fd	ed&fdedfded!fdedfde	d
fde	dfde
dfde
d'fde
d(fdedfded)fd edfd"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i ded&fdedfded%fdedfd	ed
fded#fdedfdedfdedfdedfded+fdedfdedfded%fded,fedffd edfd"ed-fed
fedfed.fed'fed(fd/Zy0)1r   i     i     i     i     i     i  
           i  	   i     i     i     i     i     i     i     i     i     )                           )r_   r`   ra   rb   rc   rd   i              )r_   r`   ra   rb   rc   N)r=   r>   r?   r   r   r   r   r   r   r   r   r
   r	   EID_AL_ADHA_DATESr   r   EID_AL_FITR_DATESMAWLID_DATESrG   r&   r%   r   r   a   s   sAhsBi 	sBi 	sAh	
 	sBi 	Ry3)$ 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi  	sBi!" 	sAh#$ BiBiBiBiAhBi/4sBisAh 	sBi 	sBi	
 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi  	sAh!" 	sBi#$ BiAhBiBiAhBiBi16sAhsBi 	sBi 	sAh	
 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	Qx#r#  	sBi!" 	sAh#$ BiBiBiBiAh-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   rb   re   zPublic Holidayrg   rS   rO   r(   N)r=   r>   r?   r   r
   special_public_holidaysr    special_public_holidays_observedrG   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   rJ   r   r   rG   r&   r%   <module>rx      sq    6 c c c c  T>2*,A?Tb>2B	 		( 	M4 M`
 
r&   