+
    ¾¾jê  ã                   ój   € R t ^ RIHtHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHt  ! R R]4      tR.tR# )	z$CAL-ADDRESS values from :rfc:`5545`.)ÚAnyÚClassVar)ÚSelf)ÚJCalParsingError)Ú
Parameters)ÚDEFAULT_ENCODINGÚ
to_unicodec                   ó”  a a€ ] tR t^t oRtRtRt]R3V3R lV 3R llltV3R lR lt	V3R lR	 lt
]V3R
 lR l4       t]V3R lR l4       t]V3R lR l4       t^ RIHtHtHtHtHtHtHtHtHtHtHt ]t]V3R lR l4       t]RV3R lR ll4       tV3R lR lt ]V3R lR l4       t!]V3R lR l4       t"V3R lt#Rt$Vt%V ;t&# )ÚvCalAddressa¨  Calendar User Address

Value Name:
    CAL-ADDRESS

Purpose:
    This value type is used to identify properties that contain a
    calendar user address.

Description:
    The value is a URI as defined by [RFC3986] or any other
    IANA-registered form for a URI.  When used to address an Internet
    email transport address for a calendar user, the value MUST be a
    mailto URI, as defined by [RFC2368].

Example:
    ``mailto:`` is in front of the address.

    .. code-block:: ics

        mailto:jane_doe@example.com

    Parsing:

    .. code-block:: pycon

        >>> from icalendar import vCalAddress
        >>> cal_address = vCalAddress.from_ical('mailto:jane_doe@example.com')
        >>> cal_address
        vCalAddress('mailto:jane_doe@example.com')

    Encoding:

    .. code-block:: pycon

        >>> from icalendar import vCalAddress, Event
        >>> event = Event()
        >>> jane = vCalAddress("mailto:jane_doe@example.com")
        >>> jane.name = "Jane"
        >>> event["organizer"] = jane
        >>> print(event.to_ical().decode().replace('\\r\\n', '\\n').strip())
        BEGIN:VEVENT
        ORGANIZER;CN=Jane:mailto:jane_doe@example.com
        END:VEVENT
zCAL-ADDRESSNc                óf   <€ V ^8„  d   QhRS[ S[S[3,          R,          RS[S[,          RS[RS[/# )é   ÚparamsNÚvalueÚencodingÚreturn)ÚdictÚstrr   Úbytesr   )ÚformatÚ__classdict__s   "€ÚY/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/prop/cal_address.pyÚ__annotate__ÚvCalAddress.__annotate__>   sD   ø€ ÷ ñ ñ
 ‘S™#�X• Õ%ðá‘U�{ðñ ðñ 
ñó    c               ó˜   <€ \        WR 7      pRV9   g   RV9   d   \        RV: 24      h\        SV `  W4      p\	        V4      Vn        V# ))r   ÚÚ
z9A CAL-ADDRESS value may not contain CR or LF characters: )r   Ú
ValueErrorÚsuperÚ__new__r   r   )Úclsr   r   r   ÚselfÚ	__class__s   """& €r   r   ÚvCalAddress.__new__>   sT   ø€ ô ˜5Ô4ˆØ�5Œ=˜D EœMÜØKÈEÉ9ÐUóð ô ‰w‰˜sÓ*ˆÜ  Ó(ˆŒØˆr   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©r   )r   r   s   "€r   r   r   N   s   ø€ ÷ (ñ (™#ñ (r   c                ó   € R V  R2# )zvCalAddress('z')© ©r!   s   &r   Ú__repr__ÚvCalAddress.__repr__N   s   € Ø˜t˜f BÐ'Ð'r   c                ó    <€ V ^8„  d   QhRS[ /# r%   )r   )r   r   s   "€r   r   r   Q   s   ø€ ÷ -ñ -™ñ -r   c                ó,   € V P                  \        4      # ©N)Úencoder   r)   s   &r   Úto_icalÚvCalAddress.to_icalQ   s   € Ø�{‰{Ô+Ó,Ð,r   c                ó6   <€ V ^8„  d   QhRS[ S[,          RS[/# )r   Úicalr   )r   r   r   )r   r   s   "€r   r   r   U   s   ø€ ÷ ñ ™S¡5�[ð ©Tñ r   c                ó   € V ! V4      # r.   r(   )r    r3   s   &&r   Ú	from_icalÚvCalAddress.from_icalT   s   € á�4‹yÐr   c                ó    <€ V ^8„  d   QhRS[ /# r%   r&   )r   r   s   "€r   r   r   Y   s   ø€ ÷ ñ ™Cñ r   c                ó   € \        V 4      # )z$The ``mailto:`` part of the address.r&   r)   s   &r   Ú
ical_valueÚvCalAddress.ical_valueX   s   € ô �4‹yÐr   c                ó    <€ V ^8„  d   QhRS[ /# r%   r&   )r   r   s   "€r   r   r   ^   s   ø€ ÷ ñ ‘sñ r   c                ót   € V P                  4       P                  R4      '       d
   V R,          # \        V 4      # )z3The email address without ``mailto:`` at the start.úmailto::é   NN)ÚlowerÚ
startswithr   r)   s   &r   ÚemailÚvCalAddress.email]   s.   € ð �:‰:‹<×"Ñ" 9×-Ò-Ø˜•8ˆOÜ�4‹yÐr   )ÚCNÚCUTYPEÚDELEGATED_FROMÚDELEGATED_TOÚDIRÚLANGUAGEÚPARTSTATÚROLEÚRSVPÚSENT_BYÚVALUEc                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   rA   r   r&   )r   r   s   "€r   r   r   u   s   ø€ ÷ ñ ™#ð ¡#ñ r   c                óZ   € V P                  4       P                  R4      '       g   RV  2# V # )zßExtract email and add mailto: prefix if needed.

Handles case-insensitive mailto: prefix checking.

Parameters:
    email: Email string that may or may not have mailto: prefix

Returns:
    Email string with mailto: prefix
r=   )r?   r@   )rA   s   &r   Ú
_get_emailÚvCalAddress._get_emailt   s-   € ð �{‰{‹}×'Ñ'¨	×2Ò2Ø˜U˜GÐ$Ð$Øˆr   c                óî   <€ V ^8„  d   QhRS[ R,          RS[ R,          RS[ R,          RS[ R,          RS[ R,          RS[ R,          RS[ R,          R	S[ R,          R
S[R,          RS[ R,          RS[ RS[/# )r   ÚcnNÚcutypeÚdelegated_fromÚdelegated_toÚ	directoryÚlanguageÚpartstatÚroleÚrsvpÚsent_byrA   r   )r   Úboolr   )r   r   s   "€r   r   r   …   s¹   ø€ ÷ Vñ Vñ �$�Jð	Vñ
 �d•
ðVñ ˜d�
ðVñ ˜D•jðVñ ˜•:ðVñ ˜•*ðVñ ˜•*ðVñ �D�jðVñ �T�kðVñ �t•ðVáðVñ 
ñVr   c               ó„  € \        V\        4      '       g"   \        R\        V4      P                   24      hV P                  V4      pV ! V4      pVe   W-P                  R&   Ve   W=P                  R&   Ve   V P                  V4      VP                  R&   Ve   V P                  V4      VP                  R&   Ve   WmP                  R&   Ve   W}P                  R&   Ve   W�P                  R&   V	e   W�P                  R	&   V
e   V
'       d   R
MRVP                  R&   Ve   V P                  V4      VP                  R&   V# )a  Create a new vCalAddress with RFC 5545 parameters.

Creates a vCalAddress instance with automatic mailto: prefix handling
and support for all standard RFC 5545 parameters.

Parameters:
    email: The email address (mailto: prefix added automatically if missing)
    cn: Common Name parameter
    cutype: Calendar user type (INDIVIDUAL, GROUP, RESOURCE, ROOM)
    delegated_from: Email of the calendar user that delegated
    delegated_to: Email of the calendar user that was delegated to
    directory: Reference to directory information
    language: Language for text values
    partstat: Participation status (NEEDS-ACTION, ACCEPTED, DECLINED, etc.)
    role: Role (REQ-PARTICIPANT, OPT-PARTICIPANT, NON-PARTICIPANT, CHAIR)
    rsvp: Whether RSVP is requested
    sent_by: Email of the calendar user acting on behalf of this user

Returns:
    vCalAddress: A new calendar address with specified parameters

Raises:
    TypeError: If email is not a string

Examples:
    Basic usage:

    >>> from icalendar.prop import vCalAddress
    >>> addr = vCalAddress.new("test@test.com")
    >>> str(addr)
    'mailto:test@test.com'

    With parameters:

    >>> addr = vCalAddress.new("test@test.com", cn="Test User", role="CHAIR")
    >>> addr.params["CN"]
    'Test User'
    >>> addr.params["ROLE"]
    'CHAIR'
zEmail must be a string, not rC   rD   zDELEGATED-FROMzDELEGATED-TOrG   rH   rI   rJ   ÚTRUEÚFALSErK   zSENT-BY)Ú
isinstancer   Ú	TypeErrorÚtypeÚ__name__rP   r   )r    rA   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   Úemail_with_prefixÚaddrs   ""&&&&&&&&&&  r   ÚnewÚvCalAddress.new„   s0  € ôp ˜%¤×%Ò%ÜÐ:¼4À»;×;OÑ;OÐ:PÐQÓRÐRð  ŸN™N¨5Ó1Ðñ Ð$Ó%ˆð Š>Ø "�K‰K˜ÑØÒØ$*�K‰K˜Ñ!ØÒ%Ø,/¯N©N¸>Ó,JˆD�K‰KÐ(Ñ)ØÒ#Ø*-¯.©.¸Ó*FˆD�K‰K˜Ñ'ØÒ Ø!*�K‰K˜ÑØÒØ&.�K‰K˜
Ñ#ØÒØ&.�K‰K˜
Ñ#ØÒØ"&�K‰K˜ÑØÒß,0¡&°gˆD�K‰K˜ÑØÒØ%(§^¡^°GÓ%<ˆD�K‰K˜	Ñ"àˆr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Únamer   )r   Úlist)r   r   s   "€r   r   r   Ý   s   ø€ ÷ Rñ R™Cð R¡Dñ Rr   c                ó€   € WP                   P                  4       V P                  P                  4       V P                  .# )z$Return this property in jCal format.)r   Úto_jcalrM   r?   r9   )r!   rj   s   &&r   rm   ÚvCalAddress.to_jcalÝ   s-   € à—k‘k×)Ñ)Ó+¨T¯Z©Z×-=Ñ-=Ó-?ÀÇÁÐQÐQr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r%   ©rk   r   )r   r   s   "€r   r   r   â   s   ø€ ÷ <ñ <™™d�ñ <r   c                ó*   € V P                  RRR7      .# )zExamples of vCalAddress.zyou@example.orgz	You There)rS   )rg   )r    s   &r   ÚexamplesÚvCalAddress.examplesá   s   € ð —‘Ð)¨k�Ó:Ð;Ð;r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Újcal_propertyr   rp   )r   r   s   "€r   r   r   ç   s   ø€ ÷ 
ñ 
¡dð 
©tñ 
r   c                óÀ   € \         P                  ! W4       \         P                  ! V^,          \        V ^4       V ! V^,          \        P
                  ! V4      R7      # )z Parse jCal from :rfc:`7265`.

Parameters:
    jcal_property: The jCal property to parse.

Raises:
    ~error.JCalParsingError: If the provided jCal is invalid.
©r   )r   Úvalidate_propertyÚvalidate_value_typer   r   Úfrom_jcal_property)r    ru   s   &&r   Ú	from_jcalÚvCalAddress.from_jcalæ   sN   € ô 	×*Ò*¨=Ô>Ü×,Ò,¨]¸1Õ-=¼sÀCÈÔKÙØ˜!ÕÜ×0Ò0°Ó?ô
ð 	
r   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•=Ñ0ñ_ ñ` Ñòa r   rw   )
NNNNNNNNNN)'rd   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r~   Ú	__slots__r   r   r*   r0   Úclassmethodr5   Úpropertyr9   rA   Úicalendar.paramrC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rj   ÚstaticmethodrP   rg   rm   rr   r{   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r"   r   s   @@r   r
   r
      sÿ   ù‡ € ñ,ð\ $1€Mà€Ið
 )à(,÷õ ÷ (ð (÷-ð -ð ÷ó ðð ÷ó ðð ÷ó ð÷÷ ÷ ñ ð €Dà÷ó ðð ÷Vñ Vó ðV÷pRð Rð ÷<ó ð<ð ÷
ó ð
÷y … r   r
   N)r‚   Útypingr   r   Úicalendar.compatibilityr   Úicalendar.errorr   Úicalendar.parserr   Úicalendar.parser_toolsr   r   r   r
   Ú__all__r(   r   r   Ú<module>r’      s/   ðÙ *ç  å (Ý ,Ý 'ß ?ôj
�#ô j
ðZ ˆ/‚r   