
    !g5                         d dl 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  G d dee	e
e      Z G d de      Z G d d	e      Z G d
 d      Zy)    )JANFEBMARAPRJUNSEPNOV)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_MONSUN_TO_NEXT_TUEc                   4     e Zd ZdZdZdZdZ fdZd Z xZ	S )PapuaNewGuineaa  
    References:
      - http://www.paclii.org/pg/legis/consol_act/pha1953163.pdf # Public Holidays Act 1953
      - https://en.wikipedia.org/wiki/Public_holidays_in_Papua_New_Guinea
      - https://pnghausbung.com/kings-birthday-holiday-to-be-observed-on-16th-june/
    Checked With:
      - https://www.ipa.gov.pg/public/Holidays.aspx
      - https://www.businessadvantagepng.com/papua-new-guinea-public-for-holidays/
      - https://www.scribd.com/document/465334129/PNG-2019-Gazetted-Public-Holidays-pdf # 2019
      - https://publicholidays.asia/wp-content/uploads/2020/01/PNG_PublicHolidays_2020.png # 2020
      - https://publicholidays.asia/wp-content/uploads/2020/12/PNG_PublicHolidays_2021.pdf # 2021
      - https://publicholidays.asia/wp-content/uploads/2022/01/PNG_PublicHolidays_2022.pdf # 2022
      - https://publicholidays.asia/wp-content/uploads/2022/12/PNG_PublicHolidays_2023.pdf # 2023

    Should a holiday listed, other than the Christmas Day, fall on a Sunday the next Monday
    shall, unless the Head of State, acting on advice, declares otherwise, be observed as a
    public holiday throughout the country.

    When Christmas Day falls on a Sunday, the following Tuesday shall also be observed as a
    public holiday.
    PGz%s (observed)i  c                     t        j                  |        t        j                  |        t        j                  | t               |j                  dt               t        |   |i | y )Nobserved_rule)r
   __init__r   r   PapuaNewGuineaStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      `/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/holidays/countries/papua_new_guinea.pyr   zPapuaNewGuinea.__init__0   sR    ""4(&&t,&BC/?;$)&)    c                    | j                  | j                  d             | j                  d       | j                  dk  r| j	                  d       | j                  d       | j                  d       | j                  | j                  d             | j                  | j                  d      t        	       | j                  | j                  d
             | j                  dk\  r | j                  | j                  d             | j                  dk  r| j                  d       n| j                  d       | j                  dk\  r| j                  d       | j                  dk\  r!| j                  | j                  d             y y )NzNew Year's DayzGood Friday  zEaster SaturdayzEaster SundayzEaster Mondayz Papua New Guinea Remembrance DayzChristmas Day)rulez
Boxing Dayi  Independence Day  zQueen's BirthdayKing's Birthday.Grand Chief Sir Michael Somare Remembrance Dayi  zNational Repentance Day)_add_observed_add_new_years_day_add_good_friday_year_add_holy_saturday_add_easter_sunday_add_easter_monday_add_holiday_jul_23_add_christmas_dayr   _add_christmas_day_two_add_holiday_sep_16_add_holiday_2nd_mon_of_jun_add_holiday_jun_17_add_holiday_feb_26_add_holiday_aug_26)r   s    r   _populate_public_holidaysz(PapuaNewGuinea._populate_public_holidays7   s`    	4223CDE 	m,::##$56 	0 	0 	4334VWX 	422?C/Z 	466|DE ::t778JKL ::,,-?@ $$%67 ::$$%UV ::t778QRS r   )
__name__
__module____qualname____doc__countryobserved_label
start_yearr   r5   __classcell__)r   s   @r   r   r      s%    , G$NJ*BTr   r   c                       e Zd Zy)r   Nr6   r7   r8    r   r   r   r   |       r   r   c                       e Zd Zy)PNGNr?   r@   r   r   rC   rC      rA   r   rC   c                   x    e Zd ZdZdZdZeddfeddfedefed	effe	d
dfe
ddfdZedefedefeddfe	ddffdZy)r   a  
    Starting from 2021 afterwards all state funerals are given special public holidays, though only
    some are day-off nationwide.

    References:
      - 2018 APEC Public Holiday*: https://www.rnz.co.nz/international/pacific-news/369989/papua-new-guinea-declares-apec-holiday
      - 2021 Sir Mekere Morauta's Funeral: https://pnghausbung.com/friday-8th-declared-a-nation-wide-public-holiday-to-honour-late-sir-mekere/
      - 2021 Sir Michael Somare's Day of Mourning: https://pnghausbung.com/2-weeks-mourning-period-for-late-sir-micheal-to-start-with-public-holiday-on-monday-pm/
      - 2022 QE2's Funeral: https://www.thenational.com.pg/column-1-553/
      - 2023 Sir Rabbie Namaliu's Funeral: https://pnghausbung.com/breaking-public-holiday-tomorrow-in-respect-of-late-sir-rabbies-state-funeral/

    * Nov 15, 2018 is an APEC Holiday too, but for Port Moresby-only: https://www.businessadvantagepng.com/public-holidays-declared-in-port-moresby-due-to-apec-summit-says-ceo/
    z/National Day of Mourning for Sir Michael Somarer%      z#APEC Leaders' Summit Public Holiday   z#State Funeral of Sir Mekere Morauta         z#State Funeral of Queen Elizabeth II   z#State Funeral of Sir Rabbie Namaliu)i  i  r#   r          r$      r"   )r#   r    N)r6   r7   r8   r9   sir_michael_somare_mourning_day"sir_michael_somare_remembrance_dayr	   r   r   r   r   special_public_holidaysr   r    special_public_holidays_observedr@   r   r   r   r      s     'X# *Z& B=> !:;!45"56	
 B=>B=>  B:;"89"'("()
($r   r   N)holidays.calendars.gregorianr   r   r   r   r   r   r	   holidays.groupsr
   r   r   holidays.observed_holiday_baser   r   r   r   r   rC   r   r@   r   r   <module>rU      sY    K J J T T ` `gT*,A>gTT	 		. 	+ +r   