
    x7#h~+                         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mZ d dlmZmZmZ d dlmZ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)    )date)Optional)	JANFEBMARJUNJULSEPNOVDEC
_timedelta)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseALL_TO_NEAREST_MONSAT_SUN_TO_NEXT_MONSAT_SUN_TO_NEXT_MON_TUEc                       e Zd ZdZdZdZdZdZi ddddd	dd
dddddddddddddddddddddddddddi dddddd d!d d"d#d$d#d%d#d&d'd(d'd)d'd*d+d,d+d-d+d.d/d0d/d1d/d2d3i d4d3d5d3d6d7d8d7d9d7d:d;d<d;d=d>d?d>d@d>dAd>dBd>dCdDdEdDdFdGdHdGdIdGZdJZ	 fdKZ
dLee   fdMZdN ZdO ZdP ZdQ ZdR ZdS ZdT ZdU ZdV ZdW ZdX ZdY ZdZ Zd[ Z xZS )\
NewZealandzNew Zealand holidays.NZz%s (observed)if  )AUKBOPCANCITGISHKBMBHMWTNSNNTLOTASTLTASTKIWGNWKOWTCSouth CanterburyAucklandr   u   Tāmaki-MakaurauAUzBay of Plentyr   z	Toi MoanaBP
Canterburyr   WaitahaCAzChatham Islands Territoryr   zChatham Islands
WharekauriCIGisborner   u   Te TairāwhitiGIzHawke's Bayr   u   Te Matau-a-MāuiHBMarlboroughr   MAu   Manawatū Whanganuir   u   Manawatū-WhanganuiMWNelsonr    u   WhakatūNE	Northlandr!   zTe TaitokerauNOOtagor"   u	   Ō TākouOT	Southlandr#   zTe Taiao TongaSOTasmanr$   zTe tai o AorereTSTaranakir%   TKzGreater Wellingtonr&   zTe Pane Matua Taiao
WellingtonzTe Whanganui-a-TaraWGWaikator'   WKz
West Coastr(   zTe Tai o PoutiniWC)New PlymouthWestlandSTCWTLc                     t        j                  |        t        j                  |        t        j                  | t               |j                  dt               t        |   |i | y )Nobserved_rule)r   __init__r   r   NewZelandStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      ^/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/new_zealand.pyrO   zNewZealand.__init__w   sS    ""4(&&t,&=>/+>?$)&)    returnc                 X    | j                  t        | j                  g| t              S )Nrule)_get_observed_dater   _yearr   )rS   rT   s     rW   _get_nearest_mondayzNewZealand._get_nearest_monday~   s'    &&tDJJ'>'>EW&XXrX   c                    | j                  | j                  d      t               | j                  | j                  d      t               | j                  dk\  rD| j                  dk\  rdnd}| j                  |      }| j                  dk\  r| j                  |       | j                  d	k\  r1| j                  d
      }| j                  dk\  r| j                  |       | j                  d       | j                  d       | j                  dk\  rd| j                  cxk  rdk  rn ndnd}| j                  dk(  r| j                  |       n| j                  dk\  r| j                  |       nt| j                  dk(  r| j                  |       nS| j                  dk(  r| j                  |       n2| j                  dk\  r| j                  |       n| j                  |       i dt        dfdt         dfdt        dfdt        dfdt         dfdt        d fd!t         dfd"t         d#fd$t        d%fd&t         d'fd(t         d)fd*t        dfd+t         d,fd-t        d.fd/t         d0fd1t         dfd2t        d ft         d3ft         d#ft         d4ft         d'ft         d5ft        dft         d,ft        d.ft         d4ft         d5ft        d ft         d3ft        d6ft        d%fd7}| j                  |v r| j#                  d8|| j                            | j                  d9k\  r4d:}| j                  d;k\  r| j%                  |       n| j'                  |       | j                  | j)                  d<      t               | j                  | j+                  d=      t               | j,                  d>k(  r| j/                          y | j,                  d?k(  r| j1                          y | j,                  d@v r| j3                          y y )ANzNew Year's Dayr[   zDay after New Year's Dayi  i  Waitangi DayzNew Zealand Dayi  i  z	Anzac DayzGood FridayzEaster Mondayin  i    zQueen's BirthdayzKing's Birthdayi  i  i  ix     i     i     i     i  
   i     i  i     i     i     i     i  i     i     i     i  i              )i  i  i  i  i  i  i  i  i  i   i  i  i  i  Matarikiil  z
Labour Dayiv  zChristmas Dayz
Boxing DayrI   r)   >   rL   rJ   )_add_observed_add_new_years_dayr   _add_new_years_day_twor^   _add_holiday_feb_6_add_anzac_day_add_good_friday_add_easter_monday_add_holiday_jun_2_add_holiday_1st_mon_of_jun_add_holiday_jun_9_add_holiday_jun_23_add_holiday_jun_3_add_holiday_nov_9r   r	   _add_holiday_add_holiday_4th_mon_of_oct_add_holiday_2nd_wed_of_oct_add_christmas_day_add_christmas_day_twosubdiv$_populate_subdiv_tki_public_holidays$_populate_subdiv_stc_public_holidays$_populate_subdiv_wtc_public_holidays)rS   namefeb_6apr_25	dates_obss        rW   _populate_public_holidaysz$NewZealand._populate_public_holidays   s    	4223CDKbc''(BCJa 	 	

 ::%)ZZ4%7>=ND++D1EzzT!""5) ::((5FzzT!""6* 	m,0 ::)-)Ct)C%IZDzzT!''-t#006t#''-t#((.t#''- ''- 
3) 
3) 
 3) 
 3)	 

 3) 
 3) 
 3) 
 3( 
 3) 
 3) 
 3( 
 3) 
 3( 
 3) 
 3) 
  3)! 
" 3)# 
$ )())()())())))? 
	B ::"j)DJJ*?@ ::DzzT!006006 	422?CJab 	466|DKbc;;.(557[[..557[[//557 0rX   c                 P    | j                  d| j                  t        d             y )NAuckland Anniversary Dayrn   r   r_   r   rS   s    rW   $_populate_subdiv_auk_public_holidaysz/NewZealand._populate_subdiv_auk_public_holidays   s!    4d6N6NsTV6WXrX   c                 &    | j                  d       y )NzCanterbury Anniversary Day)(_add_holiday_10_days_past_1st_tue_of_novr   s    rW   $_populate_subdiv_can_public_holidaysz/NewZealand._populate_subdiv_can_public_holidays   s    556RSrX   c                 P    | j                  d| j                  t        d             y )NzChatham Islands Anniversary Dayrs   )r   r_   r   r   s    rW   $_populate_subdiv_cit_public_holidaysz/NewZealand._populate_subdiv_cit_public_holidays   s"    ;T=U=UVY[]=^_rX   c                 &    | j                  d       y )NzHawke's Bay Anniversary Day)(_add_holiday_3_days_prior_4th_mon_of_octr   s    rW   $_populate_subdiv_hkb_public_holidaysz/NewZealand._populate_subdiv_hkb_public_holidays   s    556STrX   c                 &    | j                  d       y )NzMarlborough Anniversary Day)'_add_holiday_7_days_past_4th_mon_of_octr   s    rW   $_populate_subdiv_mbh_public_holidaysz/NewZealand._populate_subdiv_mbh_public_holidays   s    445RSrX   c                 P    | j                  d| j                  t        d             y )NzNelson Anniversary Day   )r   r_   r   r   s    rW   $_populate_subdiv_nsn_public_holidaysz/NewZealand._populate_subdiv_nsn_public_holidays   s!    2D4L4LSRS4TUrX   c                     d| j                   cxk  rdk  r*n n'| j                  d| j                  t        d             y | j                  d| j                  t        d             y )Ni  i  ra   ri   r   rn   )r^   r   r_   r   r   r   s    rW   $_populate_subdiv_ntl_public_holidaysz/NewZealand._populate_subdiv_ntl_public_holidays  sP    4::%%nd.F.FsA.NO8$:R:RSVXZ:[\rX   c                     | j                  t        d      }|t        | j                  d      k(  rt        |d      }| j	                  d|       y )N   r   zOtago Anniversary Day)r_   r   r   _easter_sundayr   rS   dts     rW   $_populate_subdiv_ota_public_holidaysz/NewZealand._populate_subdiv_ota_public_holidays  sF    %%c2.D//44B#B126rX   c                 &    | j                  d       y )Nz South Canterbury Anniversary Day)_add_holiday_4th_mon_of_sepr   s    rW   r   z/NewZealand._populate_subdiv_stc_public_holidays  s    (()KLrX   c                     d}| j                   dk\  r| j                  |       y | j                  || j                  t        d             y )NzSouthland Anniversary Dayi     )r^   _add_easter_tuesdayr   r_   r   )rS   r   s     rW   $_populate_subdiv_stl_public_holidaysz/NewZealand._populate_subdiv_stl_public_holidays  s>    *::$$T*dD$<$<S"$EFrX   c                 &    | j                  d       y )NzTaranaki Anniversary Day)_add_holiday_2nd_mon_of_marr   s    rW   r   z/NewZealand._populate_subdiv_tki_public_holidays  s    (()CDrX   c                 P    | j                  d| j                  t        d             y )NzWellington Anniversary Day   r   r   s    rW   $_populate_subdiv_wgn_public_holidaysz/NewZealand._populate_subdiv_wgn_public_holidays  s"    68P8PQTVX8YZrX   c                     | j                   dk(  rt        | j                   t        d      n| j                  t        d      }| j	                  d|       y )Ni     r   zWest Coast Anniversary Day)r^   r   r   r_   r   r   s     rW   r   z/NewZealand._populate_subdiv_wtc_public_holidays  sJ     zzT! S!$))#q1 	
 	6;rX   )__name__
__module____qualname____doc__countryobserved_label
start_yearsubdivisionssubdivisions_aliases_deprecated_subdivisionsrO   r   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__)rV   s   @rW   r   r      s#   G$NJL05E5 	E5 	e	5
 	5 	U5 	e5 	e5 	55 	e5 	$U5 	55 	e5 	e5 	E5  	%!5" 	e#5$ 	u%5& 	E'5( 	e)5* 	u+5, 	e-5. 	u/50 	u152 	e354 	%556 	E758 	e95: 	U;5< 	=5> 	e?5@ 	A5B 	UC5D 	eE5F 	UG5H 	%I5J 	eK5L 	%M5N 	5O5P 	eQ5R 	ES5T 	eU5V 	eW5X 	uY5Z 	e[5\ 	u]5^ 	e_5` 	5a5b 	ec5d 	ee5f 	Eg5h 	ei5l *YHTN Yl8\YT`UTV]7MGE[<rX   r   c                       e Zd Zy)r   Nr   r   r    rX   rW   r   r   '      rX   r   c                       e Zd Zy)NZLNr   r   rX   rW   r   r   +  r   rX   r   c                       e Zd ZdeddfiZy)rP   rb      zQueen Elizabeth II Memorial DayN)r   r   r   r
   special_public_holidaysr   rX   rW   rP   rP   /  s    sB9:rX   rP   N)datetimer   typingr   holidays.calendars.gregorianr   r   r   r   r	   r
   r   r   r   holidays.groupsr   r   r   holidays.observed_holiday_baser   r   r   r   r   r   r   rP   r   rX   rW   <module>r      sa      [ [ [ T T J<$&79NP^ J<Z	 		* 	 rX   