+
    ¾¾j¢  ã                   ó�   € R t ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ]P                  ! R4      t ! R R	4      tR	.tR# )
z*UTC-Offset property type from :rfc:`5545`.N©Ú	timedelta)ÚAnyÚClassVar)ÚSelf)ÚJCalParsingError)Ú
ParameterszJ^(?P<sign>[+-])?(?P<hours>\d\d):(?P<minutes>\d\d)(?::(?P<seconds>\d\d))?\Zc                   óî   a € ] tR t^t o RtRtRtRV 3R lR lltV 3R lR ltRV 3R	 lR
 llt	]
R 4       tR tR tR t]
V 3R lR l4       t^ RIHt V 3R lR lt]
V 3R lR l4       tV 3R ltRtV tR# )Ú
vUTCOffsetaè  UTC Offset

Value Name:
    UTC-OFFSET

Purpose:
    This value type is used to identify properties that contain
    an offset from UTC to local time.

Format Definition:
    This value type is defined by the following notation:

    .. code-block:: text

        utc-offset = time-numzone

        time-numzone = ("+" / "-") time-hour time-minute [time-second]

Description:
    The PLUS SIGN character MUST be specified for positive
    UTC offsets (i.e., ahead of UTC).  The HYPHEN-MINUS character MUST
    be specified for negative UTC offsets (i.e., behind of UTC).  The
    value of "-0000" and "-000000" are not allowed.  The time-second,
    if present, MUST NOT be 60; if absent, it defaults to zero.

    Example:
        The following UTC offsets are given for standard time for
        New York (five hours behind UTC) and Geneva (one hour ahead of
        UTC):

    .. code-block:: ics

        -0500

        +0100

    .. code-block:: pycon

        >>> from icalendar.prop import vUTCOffset
        >>> utc_offset = vUTCOffset.from_ical('-0500')
        >>> utc_offset
        datetime.timedelta(days=-1, seconds=68400)
        >>> utc_offset = vUTCOffset.from_ical('+0100')
        >>> utc_offset
        datetime.timedelta(seconds=3600)
z
UTC-OFFSETFNc                óN   <€ V ^8„  d   QhRS[ S[S[3,          R,          RS[RR/# )é   ÚparamsNÚtdÚreturn)ÚdictÚstrr   r   )ÚformatÚ__classdict__s   "€Ú[/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/prop/dt/utc_offset.pyÚ__annotate__ÚvUTCOffset.__annotate__I   s0   ø€ ÷ )ñ )±±c¹3°hµÀ$Õ1Fð )™9ð )ÐRVñ )ó    c               ót   € \        V\        4      '       g   \        R 4      hWn        \	        V4      V n        R# )z)Offset value MUST be a timedelta instanceN)Ú
isinstancer   Ú	TypeErrorr   r   r   )Úselfr   r   s   ""&r   Ú__init__ÚvUTCOffset.__init__I   s,   € Ü˜"œi×(Ò(ÜÐGÓHÐHØŒÜ  Ó(ˆŽr   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©r   )r   r   s   "€r   r   r   O   s   ø€ ÷ ñ ™ñ r   c                ó$   € V P                  R4      # )zReturn the ical representation.Ú )r   ©r   s   &r   Úto_icalÚvUTCOffset.to_icalO   s   € à�{‰{˜2‹Ðr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   Údividerr   r    )r   r   s   "€r   r   r   S   s   ø€ ÷ ñ ™cð ©3ñ r   c                ó¶  € V P                   \        ^ 4      8  d    Rp\        ^ 4      V P                   ,
          pMRpV P                   pVP                  VP                  rT\	        V^,          VR,          ,           4      p\	        VR,          ^<,          4      p\	        V^<,          4      pV'       d   VR V VR V VR 2pW(,          # VR V VR 2pW(,          # )a&  Represent the value with a possible divider.

.. code-block:: pycon

    >>> from icalendar import vUTCOffset
    >>> from datetime import timedelta
    >>> utc_offset = vUTCOffset(timedelta(hours=-5))
    >>> utc_offset.format()
    '-0500'
    >>> utc_offset.format(divider=':')
    '-05:00'
z-%sz+%si  Ú02)r   r   ÚdaysÚsecondsÚabs)	r   r'   Úsignr   r*   r+   ÚhoursÚminutesÚdurations	   &&       r   r   ÚvUTCOffset.formatS   sÏ   € ð �7‰7”Y˜q“\Ô!ØˆDÜ˜1“ §¡Õ'‰Bð ˆDØ—‘ˆBàŸ™ §¡ˆgä�D˜2•I ¨4¥Õ/Ó0ˆÜ�w •~¨"Õ,Ó-ˆÜ�g •lÓ#ˆßØ ˜ G 9¨W°R¨L¸¸	À'È"ÀÐNˆHð �Ðð   ˜ G 9¨W°R¨LÐ9ˆHØ�Ðr   c                óª  € \        W4      '       d   VP                  #  VR ,          \        VR,          4      \        VR,          4      \        VR,          ;'       g    ^ 4      3w  r#rE\        W4VR7      pT P                  '       g    T\        ^R7      8¼  d   \        RT 24      hTR	8X  d   T) # T#   \         d   p\        RT 24      ThRp?ii ; i)
:é    é   N:r4   é   N:r5   é   N:r6   é   N©r.   r/   r+   zExpected UTC offset, got: N©r.   z'Offset must be less than 24 hours, was Ú-)r   r   Úintr   Ú	ExceptionÚ
ValueErrorÚignore_exceptions)ÚclsÚicalr-   r.   r/   r+   ÚoffsetÚes   &&      r   Ú	from_icalÚvUTCOffset.from_icals   sÎ   € ä�d× Ò Ø—7‘7ˆNð		Ià�S•	Ü�D˜•I“Ü�D˜•I“Ü�D˜•I—N�N Ó#ð	-Ñ)ˆD˜ô  UÀWÔMˆFð ×$×$Ð$¨´9À2Ô3FÔ)FÜÐFÀtÀfÐMÓNÐNØ�3Œ;Ø�7ˆNØˆøô ô 	IÜÐ9¸$¸Ð@ÓAÀqÐHûð	Iús   ŸAB3 Â3CÂ>CÃCc                ód   € \        V\        4      '       g   R # V P                  VP                  8H  # )F)r   r
   r   )r   Úothers   &&r   Ú__eq__ÚvUTCOffset.__eq__‡   s%   € Ü˜%¤×,Ò,ÙØ�w‰w˜%Ÿ(™(Ñ"Ð"r   c                ó,   € \        V P                  4      # ©N)Úhashr   r#   s   &r   Ú__hash__ÚvUTCOffset.__hash__Œ   s   € Ü�D—G‘G‹}Ðr   c                ó$   € R V P                   : R2# )zvUTCOffset(Ú))r   r#   s   &r   Ú__repr__ÚvUTCOffset.__repr__�   s   € Ø˜TŸW™W™K qÐ)Ð)r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r   ©Úlistr   )r   r   s   "€r   r   r   “   s   ø€ ÷ 
ñ 
™™d�ñ 
r   c                óH   € V ! \        ^R7      4      V ! \        ^ 4      4      .# )zExamples of vUTCOffset.r9   r   )r?   s   &r   ÚexamplesÚvUTCOffset.examples’   s'   € ñ ”	 Ô"Ó#Ù”	˜!“Óð
ð 	
r   )ÚVALUEc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Únamer   )r   rT   )r   r   s   "€r   r   r   œ   s   ø€ ÷ Sñ S™Cð S¡Dñ Sr   c                óŠ   € WP                   P                  4       V P                  P                  4       V P	                  R4      .# )zBThe jCal representation of this property according to :rfc:`7265`.Ú:)r   Úto_jcalrX   Úlowerr   )r   rZ   s   &&r   r]   ÚvUTCOffset.to_jcalœ   s2   € à—k‘k×)Ñ)Ó+¨T¯Z©Z×-=Ñ-=Ó-?ÀÇÁÈSÓAQÐRÐRr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Újcal_propertyr   rS   )r   r   s   "€r   r   r   ¡   s   ø€ ÷ Dñ D¡dð D©tñ Dr   c                óÐ  € \         P                  ! W4       \        P                  V^,          4      pVf   \        RV: R24      hVP	                  R4      R8H  p\        VP	                  R4      4      p\        VP	                  R4      4      p\        VP	                  R4      ;'       g    ^ 4      p\        WEVR7      pV'       d   V) pV ! V\        P                  ! V4      4      # )	z Parse jCal from :rfc:`7265`.

Parameters:
    jcal_property: The jCal property to parse.

Raises:
    ~error.JCalParsingError: If the provided jCal is invalid.
zCannot parse z as UTC-OFFSET.r-   r:   r.   r/   r+   r8   )	r   Úvalidate_propertyÚUTC_OFFSET_JCAL_REGEXÚmatchÚgroupr;   r   r   Úfrom_jcal_property)r?   ra   re   Únegativer.   r/   r+   Úts   &&      r   Ú	from_jcalÚvUTCOffset.from_jcal    sÃ   € ô 	×*Ò*¨=Ô>Ü%×+Ñ+¨M¸!Õ,<Ó=ˆØŠ=Ü" ]°=Ñ2CÀ?Ð#SÓTÐTØ—;‘;˜vÓ&¨#Ñ-ˆÜ�E—K‘K Ó(Ó)ˆÜ�e—k‘k )Ó,Ó-ˆÜ�e—k‘k )Ó,×1Ð1°Ó2ˆÜ˜E¸GÔDˆßØ�ˆAÙ�1”j×3Ò3°MÓBÓCÐCr   c                óB   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[;R&   # )r   Údefault_valuer   )r   r   r   )r   r   s   "€r   r   r      s'   ø‡ ‚ ñ` ™C•=Ñ/ña ñb Ñòc r   )r   r   rJ   )r"   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rm   r>   r   r$   r   ÚclassmethodrC   rG   rL   rP   rV   Úicalendar.paramrX   r]   rj   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r
   r
      sŸ   ø‡ € ñ-ð^ $0€Mð Ð÷)ò )÷ð ÷ò ð@ ñó ðò&#ò
ò*ð ÷
ó ð
õ &÷Sð Sð ÷Dó ðD÷c ƒ r   r
   )rr   ÚreÚdatetimer   Útypingr   r   Úicalendar.compatibilityr   Úicalendar.errorr   Úicalendar.parserr   Úcompilerd   r
   Ú__all__© r   r   Ú<module>r�      sD   ðÙ 0ã 	Ý ß  å (Ý ,Ý 'àŸ
š
ØQóÐ ÷
eDñ eDðP ˆ.‚r   