+
    MV-j±2  ã                   óÌ   € ^ RI Ht ^ RIHt ^ RIHtHtHt ]! ^ 4      tRR.tR t	]
! ]R4      '       d   RR ltM ! R	 R
]4      tRR ltR t ! R R]4      t ! R R]4      tR# )é    )ÚPY2©Úwraps)ÚdatetimeÚ	timedeltaÚtzinfoÚtzname_in_python2Úenfoldc                óL   a € \         '       d   \        S 4      V 3R l4       pV# S # )z’Change unicode output into bytestrings in Python 2

tzname() API changed in Python 3. It used to return bytes, but was changed
to unicode strings
c                  ó@   <€ S! V / VB pVe   VP                  4       pV# ©N)Úencode)ÚargsÚkwargsÚnameÚnamefuncs   *, €Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/dateutil/tz/_common.pyÚadjust_encodingÚ*tzname_in_python2.<locals>.adjust_encoding   s(   ø€ á˜TÐ, VÑ,ˆDØÒØ—{‘{“}�àˆKó    )r   r   )r   r   s   f r   r	   r	      s-   ø€ ÷ ƒsÜ	ˆx‹ô	ó 
ð	ð Ðàˆr   Úfoldc                ó&   € V P                  VR7      # )áF  
Provides a unified interface for assigning the ``fold`` attribute to
datetimes both before and after the implementation of PEP-495.

:param fold:
    The value for the ``fold`` attribute in the returned datetime. This
    should be either 0 or 1.

:return:
    Returns an object for which ``getattr(dt, 'fold', 0)`` returns
    ``fold`` for all versions of Python. In versions prior to
    Python 3.6, this is a ``_DatetimeWithFold`` object, which is a
    subclass of :py:class:`datetime.datetime` with the ``fold``
    attribute added, if ``fold`` is 1.

.. versionadded:: 2.6.0
©r   ©Úreplace)Údtr   s   &&r   r
   r
   %   s   € ð$ �z‰z˜tˆzÓ$Ð$r   c                   ó>   a € ] tR t^:t o RtRtR t]R 4       tRt	V t
R# )Ú_DatetimeWithFoldzÎ
This is a class designed to provide a PEP 495-compliant interface for
Python versions before 3.6. It is used only for dates in a fold, so
the ``fold`` attribute is fixed at ``1``.

.. versionadded:: 2.6.0
c                ó  € Rp\        W4       F)  w  rEWR9   d   \        RP                  V4      4      hWBV&   K+  	  V F  pWR9  g   K  \        W4      W%&   K  	  VP	                  R^4      '       d   V P
                  M\        pV! R/ VB # )aŒ  
Return a datetime with the same attributes, except for those
attributes given new values by whichever keyword arguments are
specified. Note that tzinfo=None can be specified to create a naive
datetime from an aware datetime with no conversion of date and time
data.

This is reimplemented in ``_DatetimeWithFold`` because pypy3 will
return a ``datetime.datetime`` even if ``fold`` is unchanged.
zDuplicate argument: {}r   )ÚyearÚmonthÚdayÚhourÚminuteÚsecondÚmicrosecondr   © )ÚzipÚ	TypeErrorÚformatÚgetattrÚgetÚ	__class__r   )Úselfr   r   ÚargnamesÚargÚargnameÚdt_classs   &*,    r   r   Ú_DatetimeWithFold.replaceD   s‰   € ðˆHô
 !$ DÖ 3‘�ØÔ$Ü#Ð$<×$CÑ$CÀGÓ$LÓMÐMà"%�w“ñ	 !4ó $�ØÖ(Ü&-¨dÓ&<�F“Oñ $ð *0¯©°F¸A×)>Ò)>�t—~’~ÄHˆHáÑ%˜fÑ%Ð%r   c                ó   € ^# ©é   r(   ©r/   s   &r   r   Ú_DatetimeWithFold.foldb   s   € ár   r(   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r   Úpropertyr   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   :   s*   ø‡ € ñ	ð ˆ	ò	&ð< 
ñ	ó 
ö	r   r   c                óÈ   € \        V R^ 4      V8X  d   V # V P                  4       R,          pW P                  V P                  3,          pV'       d
   \	        V!  # \        V!  # )r   r   :Né   N)r,   Ú	timetupler'   r   r   r   )r   r   r   s   && r   r
   r
   f   sW   € ô$ �2�v˜qÓ! TÔ)ØˆIà�|‰|‹~˜bÕ!ˆØ—‘ §¡Ð+Õ+ˆçÜ$ dÑ+Ð+ä˜T‘?Ð"r   c                ó0   a € \        S 4      V 3R l4       pV# )z„
The CPython version of ``fromutc`` checks that the input is a ``datetime``
object and that ``self`` is attached as its ``tzinfo``.
c                 óŒ   <€ \        V\        4      '       g   \        R 4      hVP                  V Jd   \	        R4      hS! W4      # )ú&fromutc() requires a datetime argumentúdt.tzinfo is not self)Ú
isinstancer   r*   r   Ú
ValueError)r/   r   Úfs   &&€r   ÚfromutcÚ)_validate_fromutc_inputs.<locals>.fromutc‰   s>   ø€ ä˜"œh×'Ò'ÜÐDÓEÐEØ�9‰9˜DÓ ÜÐ4Ó5Ð5á�‹{Ðr   r   )rN   rO   s   f r   Ú_validate_fromutc_inputsrQ   „   s"   ø€ ô
 ˆ1ƒXôó ðð €Nr   c                   óL   a € ] tR t^•t o RtR tR tR tR t]	R 4       t
RtV tR# )	Ú_tzinfoz5
Base class for all ``dateutil`` ``tzinfo`` objects.
c                ó  € VP                  V R7      p\        V^ R7      p\        V^R7      pVP                  4       VP                  4       8H  pVP                  RR7      VP                  RR7      8H  pT;'       d    V'       * # )úö
Whether or not the "wall time" of a given datetime is ambiguous in this
zone.

:param dt:
    A :py:class:`datetime.datetime`, naive or time zone aware.


:return:
    Returns ``True`` if ambiguous, ``False`` otherwise.

.. versionadded:: 2.6.0
©r   r   N)r   r
   Ú	utcoffset)r/   r   Úwall_0Úwall_1Úsame_offsetÚsame_dts   &&    r   Úis_ambiguousÚ_tzinfo.is_ambiguousš   sx   € ð �Z‰Z˜tˆZÓ$ˆä˜ Ô#ˆÜ˜ Ô#ˆà×&Ñ&Ó(¨F×,<Ñ,<Ó,>Ñ>ˆØ—.‘.¨�.Ó-°·±Àt°Ó1LÑLˆà×*Ð*˜{œ?Ð*r   c                ó¬   € V P                  V4      '       d;   W!,
          p\        W1P                  4       VP                  4       ,
          8H  4      pV# ^ pV# )aX  
Determine the fold status of a "wall" datetime, given a representation
of the same datetime as a (naive) UTC datetime. This is calculated based
on the assumption that ``dt.utcoffset() - dt.dst()`` is constant for all
datetimes, and that this offset is the actual number of hours separating
``dt_utc`` and ``dt_wall``.

:param dt_utc:
    Representation of the datetime as UTC

:param dt_wall:
    Representation of the datetime as "wall time". This parameter must
    either have a `fold` attribute or have a fold-naive
    :class:`datetime.tzinfo` attached, otherwise the calculation may
    fail.
)r\   ÚintrW   Údst)r/   Údt_utcÚdt_wallÚ
delta_wallÚ_folds   &&&  r   Ú_fold_statusÚ_tzinfo._fold_status³   sQ   € ð" ×Ñ˜W×%Ò%Ø Õ)ˆJÜ˜
×'7Ñ'7Ó'9¸F¿J¹J»LÕ'HÑIÓJˆEð ˆð ˆEàˆr   c                ó   € \        VR ^ 4      # r   )r,   ©r/   r   s   &&r   rd   Ú_tzinfo._foldÌ   s   € Ü�r˜6 1Ó%Ð%r   c                ó  € VP                  4       pVf   \        R4      hVP                  4       pVf   \        R4      hW#,
          pW,          p\        V^R7      P                  4       pVf   \        R4      hW,           # )á´  
Given a timezone-aware datetime in a given timezone, calculates a
timezone-aware datetime in a new timezone.

Since this is the one time that we *know* we have an unambiguous
datetime object, we take this opportunity to determine whether the
datetime is ambiguous and in a "fold" state (e.g. if it's the first
occurrence, chronologically, of the ambiguous datetime).

:param dt:
    A timezone-aware :class:`datetime.datetime` object.
z0fromutc() requires a non-None utcoffset() resultz*fromutc() requires a non-None dst() resultr   z;fromutc(): dt.dst gave inconsistent results; cannot convert)rW   rM   r`   r
   )r/   r   ÚdtoffÚdtdstÚdeltas   &&   r   Ú_fromutcÚ_tzinfo._fromutcÏ   sˆ   € ð —‘“ˆØŠ=Üð &ó 'ð 'ð —‘“ˆØŠ=ÜÐIÓJÐJØ•ˆà
�ˆô �r Ô"×&Ñ&Ó(ˆØŠ=Üð 7ó 8ð 8à�zÐr   c                ó^   € V P                  V4      pV P                  W4      p\        W#R7      # )rk   r   )ro   re   r
   )r/   r   rb   rd   s   &&  r   rO   Ú_tzinfo.fromutcô   s1   € ð —-‘- Ó#ˆð ×!Ñ! "Ó.ˆô �gÔ*Ð*r   r(   N)r:   r;   r<   r=   r>   r\   re   rd   ro   rQ   rO   rA   rB   rC   s   @r   rS   rS   •   s3   ø‡ € ñò+ò2ò2&ò#ðJ ñ+ó ö+r   rS   c                   ó–   a € ] tR tRt o RtR tR tR t]R 4       t	R t
R tR	 tR
 t]R 4       tRtR tR t]P(                  tRtV tR# )Útzrangebasei  aG  
This is an abstract base class for time zones represented by an annual
transition into and out of DST. Child classes should implement the following
methods:

    * ``__init__(self, *args, **kwargs)``
    * ``transitions(self, year)`` - this is expected to return a tuple of
      datetimes representing the DST on and off transitions in standard
      time.

A fully initialized ``tzrangebase`` subclass should also provide the
following attributes:
    * ``hasdst``: Boolean whether or not the zone uses DST.
    * ``_dst_offset`` / ``_std_offset``: :class:`datetime.timedelta` objects
      representing the respective UTC offsets.
    * ``_dst_abbr`` / ``_std_abbr``: Strings representing the timezone short
      abbreviations in DST and STD, respectively.
    * ``_hasdst``: Whether or not the zone has DST.

.. versionadded:: 2.6.0
c                ó   € \        R 4      h)z%tzrangebase is an abstract base class)ÚNotImplementedErrorr8   s   &r   Ú__init__Útzrangebase.__init__!  s   € Ü!Ð"IÓJÐJr   c                óp   € V P                  V4      pVf   R # V'       d   V P                  # V P                  # r   )Ú_isdstÚ_dst_offsetÚ_std_offset©r/   r   Úisdsts   && r   rW   Útzrangebase.utcoffset$  s2   € Ø—‘˜B“ˆàŠ=ÙßØ×#Ñ#Ð#à×#Ñ#Ð#r   c                ód   € V P                  V4      pVf   R # V'       d   V P                  # \        # r   )rz   Ú_dst_base_offsetÚZEROr}   s   && r   r`   Útzrangebase.dst.  s+   € Ø—‘˜B“ˆàŠ=ÙßØ×(Ñ(Ð(äˆKr   c                ó`   € V P                  V4      '       d   V P                  # V P                  # r   )rz   Ú	_dst_abbrÚ	_std_abbrrh   s   &&r   ÚtznameÚtzrangebase.tzname8  s#   € à�;‰;�r�?Š?Ø—>‘>Ð!à—>‘>Ð!r   c                óF  € \        V\        4      '       g   \        R4      hVP                  V Jd   \	        R4      hV P                  VP                  4      pVf   WP                  V4      ,           # Vw  r4W0P                  ,          pW@P                  ,          pW43pVP                  RR7      pV P                  We4      pV'       d   WP                  ,           pMWP                  ,           p\        V'       * ;'       d    V P                  V4      4      p	\        W‰R7      # )z+Given a datetime in UTC, return local time rJ   rK   NrV   r   )rL   r   r*   r   rM   Útransitionsr!   rW   r|   r   Ú_naive_isdstr{   r_   r\   r
   )
r/   r   rŠ   ÚdstonÚdstoffÚutc_transitionsra   r~   rb   rd   s
   &&        r   rO   Útzrangebase.fromutc?  sö   € ä˜"œh×'Ò'ÜÐDÓEÐEà�9‰9˜DÓ ÜÐ4Ó5Ð5ð ×&Ñ& r§w¡wÓ/ˆØÒØŸ™ rÓ*Õ*Ð*ð $‰ˆà×!Ñ!Õ!ˆØ×"Ñ"Õ"ˆà ˜/ˆØ—‘ 4�Ó(ˆà×!Ñ! &Ó:ˆçØ×+Ñ+Õ+‰Gà×+Ñ+Õ+ˆGä˜”I×<Ð< $×"3Ñ"3°GÓ"<Ó=ˆä�gÔ*Ð*r   c                óÒ   € V P                   '       g   R# V P                  VP                  4      w  r#VP                  RR7      pY1u;8*  ;'       d    W0P                  ,           8  # u # )rU   FNrV   )ÚhasdstrŠ   r!   r   r�   )r/   r   ÚstartÚends   &&  r   r\   Útzrangebase.is_ambiguous`  sV   € ð �{�{ˆ{Ùà×%Ñ% b§g¡gÓ.‰
ˆà�Z‰Z˜tˆZÓ$ˆØ×7Ô7˜C×"7Ñ"7Õ7Ñ7Ð8Ñ7Ð8r   c                ó,  € V P                   '       g   R # Vf   R# V P                  VP                  4      pVf   R # VP                  RR7      pV P	                  W4      pV'       g.   V P                  V4      '       d   V P                  V4      '       * # V# )FNrV   )r‘   rŠ   r!   r   r‹   r\   rd   )r/   r   rŠ   r~   s   &&  r   rz   Útzrangebase._isdstv  s~   € Ø�{�{ˆ{ÙØŠZÙà×&Ñ& r§w¡wÓ/ˆàÒÙà�Z‰Z˜tˆZÓ$ˆà×!Ñ! "Ó2ˆ÷ ˜×*Ñ*¨2×.Ò.Ø—z‘z "“~Ô%Ð%àˆLr   c                ó¤   € Vw  r4VP                  R R7      pW48  d   Y1u;8*  ;'       d    V8  pV# u pV# YAu;8*  ;'       d    V8  Mu '       * pV# )NrV   r   )r/   r   rŠ   rŒ   r�   r~   s   &&&   r   r‹   Útzrangebase._naive_isdst‹  s]   € Ø#‰ˆà�Z‰Z˜tˆZÓ$ˆàŒ>Ø×(Ô( &Ñ(ˆEð ˆñ	 )ˆEð ˆð ×,Ô, uÔ,Ô,ˆEàˆr   c                ó<   € V P                   V P                  ,
          # r   )r{   r|   r8   s   &r   r�   Útzrangebase._dst_base_offset—  s   € à×Ñ $×"2Ñ"2Õ2Ð2r   Nc                ó   € W8X  * # r   r(   )r/   Úothers   &&r   Ú__ne__Útzrangebase.__ne__�  s   € ØÒ"Ð"r   c                ó<   € R V P                   P                  ,          # )z%s(...))r.   r:   r8   s   &r   Ú__repr__Útzrangebase.__repr__   s   € Ø˜4Ÿ>™>×2Ñ2Õ2Ð2r   r(   )r:   r;   r<   r=   r>   rw   rW   r`   r	   r‡   rO   r\   rz   r‹   r@   r�   Ú__hash__r�   r    ÚobjectÚ
__reduce__rA   rB   rC   s   @r   rt   rt     su   ø‡ € ñò*Kò$òð ñ"ó ð"ò+òB9ò,ò*
ð ñ3ó ð3ð €Hò#ò3ð ×"Ñ"†Jr   rt   Nr6   )Úsixr   Ú	functoolsr   r   r   r   r‚   Ú__all__r	   Úhasattrr
   r   rQ   rS   rt   r(   r   r   Ú<module>r©      ss   ðÝ å ç 0Ñ 0ñ �ƒ|€à Ð
)€òñ, ˆ8�V×Òõ%ô**˜Hô *ôX#ò<ô"s+ˆfô s+ôlX#�'ö X#r   