
    ih              	           d dl m Z d dlmZ d dl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)    )gettext)_CustomIslamicHolidays)APRMAYJUNJULAUGSEPOCTDEC)ChristianHolidaysInternationalHolidaysIslamicHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_MONc                   t     e Zd ZdZdZdZ ed      Z ed      Z ed      Z	dZ
dZd	d
def fdZd Z xZS )Senegala*  Senegal holidays.
    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Senegal>
        * [Law 63-51](https://web.archive.org/web/20250604134724/https://www.dri.gouv.sn/sites/default/files/LOI/1963/63_51.pdf)
        * [Law 74-52](https://web.archive.org/web/20250608105243/https://www.dri.gouv.sn/sites/default/files/an-documents/LOI%20N1974%2052%20DU%204%20NOVEMBRE%201974.pdf)
        * [Law 83-54](https://web.archive.org/web/20250608105419/https://www.dri.gouv.sn/sites/default/files/LOI/1983/comP4%20loi%20decentralisation%20et%20travail/LOI%20N%20198354%20DU%2018%20FEVRIER%201983/LOI%20N%20198354%20DU%2018%20FEVRIER%201983.pdf)
        * [Law 2013-06](https://web.archive.org/web/20250604215148/https://natlex.ilo.org/dyn/natlex2/natlex2/files/download/97261/SEN-97261.pdf)
    SNfr_SNu   %s (estimé)u   %s (observé)u   %s (observé, estimé)i  )en_USr   T)islamic_show_estimatedr   c                4   t        j                  |        t        j                  |        t        j                  | t        |       t        j                  | t               |j                  dt               |j                  dd       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observed_ruleobserved_since  N)
r   __init__r   r   SenegalIslamicHolidaysr   SenegalStaticHolidays
setdefaultr   super)selfr   argskwargs	__class__s       Z/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/senegal.pyr   zSenegal.__init__2   s~     	""4(&&t,  ,=S	
 	&;</?;*D1$)&)    c                    | j                   dk\  r| j                  t        d             | j                   dk\  r| j                  t        d             | j	                  t        d             | j                  t        d            D ]  }| j                  |        | j                  t        d            D ]  }| j                  |        | j                  t        d             d| j                   cxk  rd	k  rn n| j                  t        d
             t        d      }| j                   dk\  r| j                  |       n| j                  |       | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j!                  t        d             | j#                  t        d             | j%                  t        d             y )Ni  Tamxariti  zGrand Magal de Toubau   Journée du Maouloudu   Journée de la Koritéu   Journée de la TabaskizJour de l'ani  u.   Fête de la Confédération de la Sénégambieu   Fête de l'Indépendancer   u   Lundi de Pâquesu   Fête du TravailzJeudi de l'Ascensionu   Lundi de Pentecôte
Assomption	Toussaintu   Noël)_year_add_ashura_daytr_add_grand_magal_of_touba_add_mawlid_day_add_eid_al_fitr_day_add_observed_add_eid_al_adha_day_add_new_years_day_add_holiday_feb_1_add_holiday_apr_4_add_holiday_jul_14_add_easter_monday_add_labor_day_add_ascension_thursday_add_whit_monday_add_assumption_of_mary_day_add_all_saints_day_add_christmas_day)r$   dtnames      r(   _populate_public_holidaysz!Senegal._populate_public_holidaysD   s   ::  J0::**2.D+EF 	R 678 ++B/G,HIBr" J ++B/G,HIBr" J 	> 234::%%##B'W$XY ,-::##D)$$T* 	#5 67 	B123 	$$R(>%?@ 	b!678 	((L)9: 	  K1 	7,r)   )__name__
__module____qualname____doc__countrydefault_languager0   estimated_labelobserved_labelobserved_estimated_label
start_yearsupported_languagesboolr   rC   __classcell__)r'   s   @r(   r   r      sT     G(O(N!":;J,=A *d *$5-r)   r   c                       e Zd Zy)r   NrD   rE   rF    r)   r(   r   r   |       r)   r   c                       e Zd Zy)SENNrR   rS   r)   r(   rV   rV      rT   r)   rV   c                       e Zd ZdZdedfiZdZedfedfedfedfe	dfd	Z
dZd
Z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dZy)r    )    rY                     )rX         rY   )rX   i           )r`   ra   rb      
      )r`   ra   rb   rY   N)rD   rE   rF   ASHURA_DATES_CONFIRMED_YEARSr   ASHURA_DATES*GRAND_MAGAL_OF_TOUBA_DATES_CONFIRMED_YEARSr   r
   r	   GRAND_MAGAL_OF_TOUBA_DATESMAWLID_DATES_CONFIRMED_YEARS!EID_AL_FITR_DATES_CONFIRMED_YEARSr   r   EID_AL_FITR_DATES!EID_AL_ADHA_DATES_CONFIRMED_YEARSr   EID_AL_ADHA_DATESrS   r)   r(   r    r       s    #/ sBiL
 2>.AhBiBiAhBi" $0  )5%BiAhBi )5%BiBiBiBi	r)   r    c                   6    e Zd ZdZ ed      ZedefedefdZy)r!   a  Senegal special holidays.

    References:
        * [29th October, 2018 Public holiday](https://web.archive.org/web/20250608105852/https://www.juriafrica.com/lex/decret-2018-1942-26-octobre-2018-48947.htm)
        * [26th December, 2022 Public holiday](https://web.archive.org/web/20250608135605/https://primature.sn/publications/conseil-des-ministres/conseil-des-ministres-du-22-decembre-2022)
    u   Jour fériérh   r\   )i  ra   N)	rD   rE   rF   rG   r0   rB   r   r   special_public_holidaysrS   r)   r(   r!   r!      s-     nDBoBor)   r!   N)r   r0   holidays.calendarsr   holidays.calendars.gregorianr   r   r   r   r	   r
   r   r   holidays.groupsr   r   r   r   holidays.observed_holiday_baser   r   r   r   rV   r    r!   rS   r)   r(   <module>rx      sq    " 5 O O O  P_-*,A?Tb_-D	 		' 	#3 #L r)   