
    !g                         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 d dlmZmZmZ d dlmZmZmZ  G d deeee      Z G d de      Z G d	 d
e      Z G d d      Zy)    )FEBMARAPRJULAUGSEPDECSUN)HALF_DAYPUBLICWORKDAY)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_MONSUN_TO_NEXT_TUEc                   J     e Zd ZdZdZeeefZdZ	e
hZdZ fdZd Zd Z xZS )SaintKittsAndNevisu  
    References:
      - https://lawcommission.gov.kn/wp-content/documents/Revised-Acts-of-St-Kitts-and-Nevis/Revised-Acts-of-St-Kitts-and-Nevis-2009/Ch-23_23-Public-Holidays-Act.pdf
      - https://web.archive.org/web/20220124000224/https://aglcskn.info/wp-content/documents/Act02and09TOC/Ch-23_23-Public-Holidays-Act.pdf
      - https://en.wikipedia.org/wiki/Public_holidays_in_Saint_Kitts_and_Nevis

    Cross-Checked With:
      - https://sknhcottawa.gov.kn/in-skn-national-public-holidays/
      - https://www.timeanddate.com/holidays/saint-kitts-and-nevis/

    If Sovereign's Birthday, New Year's Day, Independence Day, or National Heroes Day
    fall on a Sunday the next following Monday shall be a public holiday.

    Boxing Day—that is the day after Christmas Day, but if Christmas Day falls
    on a Saturday, then the next following Monday shall be a public holiday, and if
    Christmas Day falls on a Sunday, then the next following Monday and Tuesday
    shall be public holidays.

    While Culturama Day (first started in 1974) and Carnival Day are never officially
    included in the main Chapter 23.23 document, they're de facto added since at least
    2015 and should be considered as such.
    KNz%s (observed)i  c                     t        j                  |        t        j                  |        t        j                  | t               |j                  dt               t        |   |i | y )Nobserved_rule)r   __init__r   r    SaintKittsAndNevisStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      e/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/holidays/countries/saint_kitts_and_nevis.pyr   zSaintKittsAndNevis.__init__5   sR    ""4(&&t,&FG/?;$)&)    c                    | j                  | j                  d      t               | j                  | j                  d             | j	                  d       | j                  d       | j                  d       | j                  d       | j                  | j                  dk\  rd	nd
       | j                  d       | j                  dk\  r | j                  | j                  d             | j                  | j                  d             | j                  | j                  d      t               | j                  | j                  d             y )NzCarnival Day)rulezCarnival Day - Last LapzGood FridayzEaster Mondayz
Labour DayzWhit Mondayi  zEmancipation DayzFirst Monday of AugustzCulturama Day - Last LapzNational Heroes DayzIndependence DayzChristmas Dayz
Boxing Day)_add_observed_add_new_years_dayr   _add_new_years_day_two_add_good_friday_add_easter_monday_add_holiday_1st_mon_of_may_add_whit_monday_add_holiday_1st_mon_of_aug_year&_add_holiday_1_day_past_1st_mon_of_aug_add_holiday_sep_16_add_holiday_sep_19_add_christmas_day_add_christmas_day_twor   s    r!   _populate_public_holidaysz,SaintKittsAndNevis._populate_public_holidays<   s0   422>BY 	4667PQR 	m, 	0 	((6 	m,(( zzT!  *	
 	334NO::t778MNO 	4334FGH 	422?C/Z 	466|DEr"   c                 F    | j                   dk\  r| j                  d       y y )Ni  zKim Collins Day)r-   _add_holiday_aug_25r3   s    r!   _populate_workday_holidaysz-SaintKittsAndNevis._populate_workday_holidaysj   s$     ::$$%67 r"   )__name__
__module____qualname____doc__countryr   r   r   supported_categoriesobserved_labelr
   weekend
start_yearr   r4   r7   __classcell__)r    s   @r!   r   r      s>    . G$fg6$NeGJ*,F\8r"   r   c                       e Zd Zy)r   Nr8   r9   r:    r"   r!   r   r   s       r"   r   c                       e Zd Zy)KNANrC   rD   r"   r!   rG   rG   w   rE   r"   rG   c                       e Zd ZdZdZdZedefeddfeddffe	d	efe
d
dfdZeddfeddffedefedefeddfe
ddfedeffe	ddfdZy)r   aA  
    References
     - https://www.sknis.gov.kn/2023/07/17/state-funeral-accorded-to-sir-tapley-national-day-of-mourning-and-half-holiday-declared-for-july-20/
     - https://www.sknis.gov.kn/2022/12/30/public-holiday-notice-request-from-the-department-of-labour/
     - https://www.sknis.gov.kn/2022/08/06/prime-minister-drew-declares-monday-august-08-2022-as-a-public-holiday-in-st-kitts-and-nevis/
     - https://www.sknis.gov.kn/2022/04/20/nia-announces-half-holiday/
     - https://www.sknis.gov.kn/2021/07/26/governor-general-proclaims-tuesday-3rd-august-2021-as-a-public-holiday/
     - https://nia.gov.kn/culturama-47-rescheduled-to-independence-holiday-weekend-in-september/
     - https://www.sknis.gov.kn/2019/12/27/public-holidays-during-carnival-2019-2020/
     - https://www.sknis.gov.kn/2018/12/29/proclamations-from-his-excellency-the-governor-general-re-carnival-public-holidays/
     - https://www.sknis.gov.kn/2017/12/19/public-holiday-declared-for-nevis-today-after-the-ccms-solid-win-in-the-local-elections/
     - https://www.sknis.gov.kn/2017/04/13/employers-must-comply-with-law-for-work-performed-on-national-holidays-says-labour-department/
     - https://www.facebook.com/share/p/ZkpwKmyAzN4fEFP2/
     - https://www.facebook.com/share/p/Jc1uGgzGpj6zUzqB/
     - https://www.facebook.com/share/p/6GSgvcCWS3aenQh6/
    zFederal Election Victory DayzChildren's Carnival Day      zNational Clean Up Day   zLocal Election Victory Day      zJ50th Anniversary of the Establishment of the Caribbean Community (CARICOM))i           z/The Passing of His Excellency Sir Probyn Inniss
   z4The Passing of His Excellency Sir Cuthbert Sebastian      z62022 Gulf Insurance Inter-Primary Schools Championshipz/The Passing of His Excellency Sir Tapley Seaton      zJunior Cultural Street Parade)rN   i  i  rO   rP   i  N)r8   r9   r:   r;   !federal_election_victory_day_namechildrens_carnival_day_namer   r   r	   r   r   special_public_holidaysr   r   special_half_day_holidaysrD   r"   r!   r   r   {   s    $ )G% #< B9: "-."23	
 A89 X
& "GH"LM	
 B34B34BPQ "GH"12
 A67#!r"   r   N)holidays.calendars.gregorianr   r   r   r   r   r   r	   r
   holidays.constantsr   r   r   holidays.groupsr   r   r   holidays.observed_holiday_baser   r   r   r   r   rG   r   rD   r"   r!   <module>r_      s_    P O O 8 8 T T ` `]8*,A>]8@		 		
 	: :r"   