
    !g6*              	           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mZmZ d dl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)JANMARAPRMAYJUNJULAUGSEPOCTNOVDEC)JULIAN_CALENDAR)ChristianHolidaysInternationalHolidaysIslamicHolidaysStaticHolidays)ObservedHolidayBaseSAT_SUN_TO_NEXT_WORKDAYc                   h     e Zd ZdZdZdZ ed      Z ed      Z ed      Z	dZ
dZ fd	Zd
 Z xZS )
Kazakhstana  
    References:
        - https://en.wikipedia.org/wiki/Public_holidays_in_Kazakhstan
        - https://egov.kz/cms/en/articles/holidays-calend
        - https://adilet.zan.kz/kaz/docs/Z010000267%5F/history
        - https://adilet.zan.kz/kaz/docs/Z990000493%5F#z63

    Substituted holidays:
        - `2000 <https://adilet.zan.kz/kaz/docs/P000000642%5F>`_
        - 2001: `<https://adilet.zan.kz/kaz/docs/P010000282%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P010000515%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P010001604%5F>`_
        - `2002 <https://adilet.zan.kz/kaz/docs/P020000466%5F>`_
        - 2003: `<https://adilet.zan.kz/kaz/docs/P030000338%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P030001166%5F>`_
        - 2005: `<https://adilet.zan.kz/kaz/docs/P050000142%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P050000751%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P050000949%5F>`_
        - 2006: `<https://adilet.zan.kz/kaz/docs/P050001309%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P060000277%5F>`_
        - 2007: `<https://adilet.zan.kz/kaz/docs/P070000148%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P070000165%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P070000713%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P070000925%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P070001113%5F>`_
        - `2008 <https://adilet.zan.kz/kaz/docs/P080000364%5F>`_
        - `2009 <https://adilet.zan.kz/kaz/docs/P090001936%5F>`_
        - 2010: `<https://adilet.zan.kz/kaz/docs/P090002216%5F>`_,
                `<https://adilet.zan.kz/kaz/docs/P100000637%5F>`_
        - 2011: `<https://adilet.zan.kz/kaz/docs/P1100000167>`_,
                `<https://adilet.zan.kz/kaz/docs/P1100000948>`_
        - 2012: `<https://adilet.zan.kz/kaz/docs/P1200000268>`_,
                `<https://adilet.zan.kz/kaz/docs/P1200000458>`_,
                `<https://adilet.zan.kz/kaz/docs/P1200001538>`_
        - 2013: `<https://adilet.zan.kz/kaz/docs/P1300000345>`_,
                `<https://adilet.zan.kz/kaz/docs/P1300001068>`_,
                `<https://adilet.zan.kz/kaz/docs/P1300001322>`_
        - `2014 <https://adilet.zan.kz/kaz/docs/P1400000365>`_
        - `2016 <https://adilet.zan.kz/kaz/docs/P1600000067>`_
        - `2017 <https://adilet.zan.kz/kaz/docs/P1700000005>`_
        - `2018 <https://adilet.zan.kz/kaz/docs/P1700000864>`_
        - `2019 <https://adilet.zan.kz/kaz/docs/P1800000888>`_
        - `2020 <https://adilet.zan.kz/kaz/docs/P1900000820>`_
        - `2021 <https://adilet.zan.kz/kaz/docs/P2000000930>`_
        - `2022 <https://adilet.zan.kz/kaz/docs/P2200000796>`_
        - `2023 <https://adilet.zan.kz/kaz/docs/P2300000326>`_
        - `2024 <https://adilet.zan.kz/kaz/docs/G24G0000109>`_
        - `2025 <https://adilet.zan.kz/kaz/docs/G24G0000436>`_

    Islamic holidays:
        - 2025: `<https://en.inform.kz/news/first-day-of-ramadan-to-fall-on-march-1-2025-ca393f/>`_
    KZkku   %s (бағаланған)u5   %s (қайта белгіленген демалыс)uK   %s (қайта белгіленген демалыс, бағаланған))en_USr   uki  c                 :   t        j                  | t               t        j                  |        t	        j                  | t
               t        j                  | t               |j                  dt               |j                  dd       t        |   |i | y )Nobserved_ruleobserved_since  )r   __init__r   r   r   KazakhstanIslamicHolidaysr   KazakhstanStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      Z/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/holidays/countries/kazakhstan.pyr!   zKazakhstan.__init___   sw    ""49&&t,  '@A&>?/+BC*D1$)&)    c                    t               }t        d      }|j                  | j                  |             |j                  | j	                  |             | j
                  dk\  r| j                  t        d             |j                  | j                  t        d                   | j
                  dk\  rzt        d      }|j                  | j                  |             | j
                  dk\  r@|j                  | j                  |             |j                  | j                  |             |j                  | j                  t        d                   | j
                  d	k\  r)|j                  | j                  t        d
                   | j                  t        d      d      }| j
                  dk7  r|j                  |       | j
                  dk\  r)|j                  | j                  t        d                   | j
                  dk\  r)|j                  | j                  t        d                   d| j
                  cxk  rdk  sn | j
                  dk\  r)|j                  | j!                  t        d                   d| j
                  cxk  rdk  r,n n)|j                  | j#                  t        d                   t        d      }|j                  | j%                  |             d| j
                  cxk  rdk  r#n n |j                  | j'                  |             | j(                  r| j+                  |       | j
                  dk\  r| j-                  t        d             y y )Nu   Жаңа жыл  u/   Православиелік Рождествоu.   Халықаралық әйелдер күніr    u   Наурыз мейрамы  uC   Қазақстан халқының бірлігі мерекесі  u"   Отан Қорғаушы күні   Жеңіс күніF)
is_western    u   Астана күніi  uU   Қазақстан Республикасының Конституциясы күніi      u   Республика күні    u\   Қазақстан Республикасының Тұңғыш Президенті күніu   Тəуелсіздік күніu   Құрбан айт)settradd_add_new_years_day_add_new_years_day_two_year_add_christmas_day_add_womens_day_add_holiday_mar_22_add_holiday_mar_21_add_holiday_mar_23_add_labor_day_add_holiday_may_7_add_world_war_two_victory_day_add_holiday_jul_6_add_holiday_aug_30_add_holiday_oct_25_add_holiday_dec_1_add_holiday_dec_16_add_holiday_dec_17observed_populate_observed_add_eid_al_adha_day)r&   dts_observednamedts       r*   _populate_public_holidaysz$Kazakhstan._populate_public_holidaysh   s   u #$006744T:;::##B'X$YZ 	--b1a.bcd::34DT55d;<zzT!  !9!9$!?@  !9!9$!?@ 	,,R0u-vwx::T44R8\5]^_ 004I1JW\0]::R ::T44R8O5PQR::((  -D  *E  F
 4::%%t);T55b9X6YZ[4::%%''  ,J  )K  L 3411$784::%%T55d;<==##L1::%%b)>&?@ r+   )__name__
__module____qualname____doc__countrydefault_languager9   estimated_labelobserved_labelobserved_estimated_labelsupported_languages
start_yearr!   rR   __classcell__)r)   s   @r*   r   r      sO    3j G45OOPN!"op/J*BAr+   r   c                       e Zd Zy)r   NrS   rT   rU    r+   r*   r   r          r+   r   c                       e Zd Zy)KAZNr`   ra   r+   r*   rd   rd      rb   r+   rd   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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d#Zy$)%r"   r-   
        r4      r3      r.           r6      r/           i                         r2      r7   r5   	      )      N)rS   rT   rU   r   r   r   r   r   r   r
   r	   EID_AL_ADHA_DATESra   r+   r*   r"   r"      s2   sBisBi 	sAh 	sBi	
 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sBi  	sBi!" 	sAh#$ BiBiAh)r+   r"   c                      e Zd Z ed      Z ed      Zi dededfdededfed	ed
fededfe	de	dffdededfdededfe	de	dffdededfededfe
de
dfededffdeded fededffd!ededfed	ed
fe
dedfed"edfe	de	dffd#ededfd$e	d%e	d&fd'ededfeded(ffd)ededfe
de
dffd*ededfededfe	de	dffd+ededfed edffd,ed(e	dd+fededfededffd-ededfd.ed&ed%feded/ffd0eded(fededfededfe
de
d
fe	de	dffededfed(edfe	d%e	d&ffeded(fededfe
de
dfededffeded/fededfed(edfd1Zd2ed ed3      fiZy4)5r#   z%d.%m.%Yu@   Демалыс күні (%s бастап ауыстырылды)i  ri   rm   i  r|   rz            r}   r{      r    rf   rt   i     rq   ro      i        rx      rj   rr      r-      rg   rn   r4   r3      rh   r.      rl   r6   r/   rp   rs   ru   rv   rw   )ry   r2   r7   r5   r~   r   r   r2   r0   N)rS   rT   rU   r9   substituted_date_formatsubstituted_labelr   r   r   r   r   r   r   r   r
   special_public_holidays special_public_holidays_observedra   r+   r*   r#   r#      s    n]^PsAsAP!S""c2"c2"c2	
P 	sBR P 	!S!"c2
P 	!S!"c2"c2"c2	
P& 	"c2!S!
'P. 	!S""c2"c1"c2"c2
/P< 	sAsA=P> 	sBR ?P@ 	!S"!S!
APH 	!S!"c2
IPP 	!S""c2"c2
QPZ 	"c1"c2
[Pb 	!S"d#!S!!S"
cPl 	sAsAmPn 	"c2!S!
oPv 	!S!"c2!S!"c2"c2
wPD BQ!S!"c2
 AsA!S!"c2"c2

 AsAAsAAsA_Ph 	sAr/01($r+   r#   N)r   r9   holidays.calendarsr   holidays.calendars.gregorianr   r   r   r   r	   r
   r   r   r   r   r   holidays.calendars.julianr   holidays.groupsr   r   r   r   holidays.observed_holiday_baser   r   r   r   rd   r"   r#   ra   r+   r*   <module>r      sz    " 5 ^ ^ ^ ^ 5  XOA*,A?TbOAd	 		* 	 6 2[ [r+   