+
     h  c                   s    ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t
 . ROtRtRt ! R R	]
4      t	R
 t ! R R]4      t. tRR ltR tR tR# )i    N)TarFile)get_data)BytesIO)tzfilezdateutil-zoneinfo.tar.gzZMETADATAc                   s&   a  ] tR t^t o R tRtV tR# )r   c                s(    \         V P                  33# N)gettzZ	_filename)self   &?/usr/lib/python3.14/site-packages/dateutil/zoneinfo/__init__.py
__reduce__Ztzfile.__reduce__   s    ())     N)__name__
__module____qualname____firstlineno__r	   __static_attributes____classdictcell__Z__classdict__   @r   r   r      s     * *r
   r   c                  s     \        \        \        \        4      4      #   \         dF   p \
        P                  ! R P                  T P                  T P                  4      4        Rp ? R# Rp ? ii ; i)zI/O error({0}): {1}N)
r   r   r   ZONEFILENAMEZIOErrorwarningswarnZformatZerrnoZstrerror)Zes    r   getzoneinfofile_streamr      sN    x,788 +22177AJJGHs    A/:A**A/c                   s4   a  ] tR t^t o RR ltRR ltRtV tR# )ZoneInfoFileNc                s   VEe   \         P                  ! VR7      ;_uu_ 4       pVP                  4        Uu/ uFc  pVP                  4       '       g   K  VP                  \
        8w  g   K2  VP                  \        VP                  V4      VP                  R7      bKe  	  upV n        VP                  4        Uu/ uFY  pVP                  4       '       g   VP                  4       '       g   K1  VP                  V P                  VP                  ,          bK[  	  ppV P                  P                  V4        VP                  VP                  \
        4      4      pVP                  4       P                  R4      p\         P"                  ! V4      V n        R R R 4       R # / V n        R V n        R # u upi u upi   \&         d    R T n         L8i ; i  + '       g   i     R # ; i)N)Zfileobj)ZfilenamezUTF-8)r    ZopenZ
getmembersZisfilenameMETADATA_FNr   ZextractfilezonesZislnkZissymZlinknameZupdateZ	getmemberZreadZdecodejsonZloadsmetadataZKeyError)r   Zzonefile_streamZtfZzfZzlZlinksZmetadata_jsonZmetadata_strs   &&      r   __init__ZZoneInfoFile.__init__   sn   &o66"(*I(7"!# T13K1G TbggvbnnR.@277'SS(7I
 $&==?3#2Rrxxz :$**R[["99#2  3 

!!%()$&NN2<<3L$MM#0#5#5#7#>#>w#GL$(JJ|$<DM 76$ DJ DM%I
3   )$(DM) 766s_   GF0F0,5F0!G;F5F5.,F5G8AF:0
G:GGGGG#	c                s8    V P                   P                  W4      # )a+  
Wrapper for :func:`ZoneInfoFile.zones.get`. This is a convenience method
for retrieving zones from the zone dictionary.

:param name:
    The name of the zone to retrieve. (Generally IANA zone names)

:param default:
    The value to return in the event of a missing key.

.. versionadded:: 2.6.0

)r   get)r   r   Zdefaults   &&&r   r   ZZoneInfoFile.get6   s     zz~~d,,r
   )r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r      s     !.- -r
   r   c                s    V '       d   RpM\        \        RR4      pVf   \        \        4       4      pV\        n        V# )a  
This is a convenience function which provides a :class:`ZoneInfoFile`
instance using the data provided by the ``dateutil`` package. By default, it
caches a single instance of the ZoneInfoFile object and returns that.

:param new_instance:
    If ``True``, a new instance of :class:`ZoneInfoFile` is instantiated and
    used as the cached instance for the next call. Otherwise, new instances
    are created only as necessary.

:return:
    Returns a :class:`ZoneInfoFile` object.

.. versionadded:: 2.6
N_cached_instance)Zgetattrget_zonefile_instancer   r   r    )Znew_instanceZzifs   & r   r!   r!   P   s=      +-?F
{13414.Jr
   c                s    \         P                  ! R\        4       \        \        4      ^ 8X  d'   \        P                  \        \        4       4      4       \        ^ ,          P                  P                  V 4      # )a  
This retrieves a time zone from the local zoneinfo tarball that is packaged
with dateutil.

:param name:
    An IANA-style time zone name, as found in the zoneinfo file.

:return:
    Returns a :class:`dateutil.tz.tzfile` time zone object.

.. warning::
    It is generally inadvisable to use this function, and it is only
    provided for API compatibility with earlier versions. This is *not*
    equivalent to ``dateutil.tz.gettz()``, which selects an appropriate
    time zone based on the inputs, favoring system zoneinfo. This is ONLY
    for accessing the dateutil-specific zoneinfo (which may be out of
    date compared to the system zoneinfo).

.. deprecated:: 2.6
    If you need to use a specific zoneinfofile over the system zoneinfo,
    instantiate a :class:`dateutil.zoneinfo.ZoneInfoFile` object and call
    :func:`dateutil.zoneinfo.ZoneInfoFile.get(name)` instead.

    Use :func:`get_zonefile_instance` to retrieve an instance of the
    dateutil-provided zoneinfo.
zzoneinfo.gettz() will be removed in future versions, to use the dateutil-provided zoneinfo files, instantiate a ZoneInfoFile object and use ZoneInfoFile.zones.get() instead. See the documentation for details.)
r   r   DeprecationWarninglen_CLASS_ZONE_INSTANCEappendr   r   r   r   )r   r   r   r   r   m   s^    6 MM @ %	&  A%##L1G1I$JK"((,,T22r
   c                 s    \         P                  ! R\        4       \        \        4      ^ 8X  d'   \        P                  \        \        4       4      4       \        ^ ,          P                  # )a  Get the zonefile metadata

See `zonefile_metadata`_

:returns:
    A dictionary with the database metadata

.. deprecated:: 2.6
    See deprecation warning in :func:`zoneinfo.gettz`. To get metadata,
    query the attribute ``zoneinfo.ZoneInfoFile.metadata``.
zzoneinfo.gettz_db_metadata() will be removed in future versions, to use the dateutil-provided zoneinfo files, ZoneInfoFile object and query the 'metadata' attribute instead. See the documentation for details.)	r   r   r"   r#   r$   r%   r   r   r   r   r
   r   gettz_db_metadatar&      sS     MM @ %	&  A%##L1G1I$JK"+++r
   )r!   r   r&   )F)r   r   Ztarfiler    Zpkgutilr   Zior   Zdateutil.tzr   Z_tzfileZ__all__r   r   r   Zobjectr   r$   r!   r   r&   r   r
   r   <module>r'      s\         )
A)*W *
&-6 &-^  :#3L,r
   