+
     BiSQ                     .   ^ RI Ht ^ RIHt ^ RIHt ^ RIHt  ! R R4      t ! R R4      t ! R	 R
]	4      t
R t ! R R4      t ! R R]4      t ! R R4      t ! R R]4      t ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R4      t ! R R4      t ! R  R!]4      t ! R" R#]4      t ! R$ R%4      t ! R& R'4      t/ R(]bR)]bR*]bR+]bR,]bR-]bR.]bR/]bR0]bR1]bR2]bR3]bR4]bR5]bR6]bR7]bR8]bR9]R:]R;]/Ct ! R< R=4      tR># )?    )MappingProxyType)utils)errors)_header_value_parserc                   |   a  ] tR t^t o RR lt]R 4       t]R 4       t]R 4       t]R 4       t	R t
R tR	 tR
tV tR# )AddressNc           	        R P                  \        RWW434      4      pRV9   g   RV9   d   \        R4      hVe   V'       g	   V'       d   \        R4      h\        P
                  ! V4      w  rgV'       d   \        RP                  Wd4      4      hVP                  '       d   VP                  ^ ,          hVP                  pVP                  pWn
        W n        W0n        R# ) N
z8invalid arguments; address parts cannot contain CR or LFz=addrspec specified when username and/or domain also specifiedz6Invalid addr_spec; only '{}' could be parsed from '{}')joinfilter
ValueError	TypeErrorparserget_addr_specformatall_defects
local_partdomain_display_name	_username_domain)selfdisplay_nameusernamer   	addr_specinputsa_srests   &&&&&   +/usr/lib/python3.14/email/headerregistry.py__init__Address.__init__   s    " |v&QRS6>TV^WXX  6 !8 9 9,,Y7IC  "==CV$'>45 5 ooa((~~HZZF)!    c                    V P                   # Nr   r   s   &r!   r   Address.display_name8       !!!r$   c                    V P                   # r&   )r   r(   s   &r!   r   Address.username<       ~~r$   c                    V P                   # r&   )r   r(   s   &r!   r   Address.domain@       ||r$   c                    V P                   p\        P                  P                  V4      '       g   \        P                  ! V4      pV P
                  '       d   VR ,           V P
                  ,           # V'       g   R# V# )@<>)r   r   DOT_ATOM_ENDS
isdisjointquote_stringr   )r   lps   & r!   r   Address.addr_specD   s[    
 ]]##..r22$$R(B;;;8dkk))	r$   c                    R P                  V P                  P                  V P                  V P                  V P
                  4      # )z1{}(display_name={!r}, username={!r}, domain={!r}))r   	__class____name__r   r   r   r(   s   &r!   __repr__Address.__repr__R   s9    BII//))4==$++G 	Gr$   c                   V P                   p\        P                  P                  V4      '       g   \        P                  ! V4      pV'       d1   V P
                  R 8X  d   RMV P
                  pRP                  W4      # V P
                  # )r3   r
   z{} <{}>)r   r   SPECIALSr5   r6   r   r   )r   dispr   s   &  r!   __str__Address.__str__W   sf      ))$//&&t,D"nnd2I##D44~~r$   c                    \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P
                  VP
                  8H  # r&   )
isinstancer   NotImplementedr   r   r   r   others   &&r!   __eq__Address.__eq__`   sb    %))!!!!U%7%77 , ,/, ,u||+	-r$   )r   r   r   )r
   r
   r
   N)r;   
__module____qualname____firstlineno__r"   propertyr   r   r   r   r<   rA   rH   __static_attributes____classdictcell____classdict__s   @r!   r   r      sp     (T " "      G
- -r$   r   c                   \   a  ] tR t^ht o R	R lt]R 4       t]R 4       tR tR t	R t
RtV tR# )
GroupNc                d    Wn         V'       d   \        V4      V n        R # \        4       V n        R # r&   )r   tuple
_addresses)r   r   	addressess   &&&r!   r"   Group.__init__j   s      *.7%	*UWr$   c                    V P                   # r&   r'   r(   s   &r!   r   Group.display_name|   r*   r$   c                    V P                   # r&   )rV   r(   s   &r!   rW   Group.addresses   s    r$   c                x    R P                  V P                  P                  V P                  V P                  4      # )z${}(display_name={!r}, addresses={!r})r   r:   r;   r   rW   r(   s   &r!   r<   Group.__repr__   s1    5<<((""DNN4 	4r$   c                   V P                   f7   \        V P                  4      ^8X  d   \        V P                  ^ ,          4      # V P                   pVe<   \        P
                  P                  V4      '       g   \        P                  ! V4      pRP                  R V P                   4       4      pV'       d
   RV,           MTpRP                  W4      # )N, c              3   8   "   T F  p\        V4      x  K  	  R # 5ir&   )str).0xs   & r!   	<genexpr> Group.__str__.<locals>.<genexpr>   s     :>a3q66>s    z{}:{};)
r   lenrW   rb   r   r?   r5   r6   r   r   )r   r@   adrstrs   &  r!   rA   Group.__str__   s    $T^^)<a)?t~~a())  FOO$>$>t$D$D&&t,D:4>>::!'vVt,,r$   c                    \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r&   )rD   rS   rE   r   rW   rF   s   &&r!   rH   Group.__eq__   sH    %''!!!!U%7%77 2 2%//1	3r$   )rV   r   )NN)r;   rJ   rK   rL   r"   rM   r   rW   r<   rA   rH   rN   rO   rP   s   @r!   rS   rS   h   sG     E$ " "  4
-3 3r$   rS   c                   h   a  ] tR t^t o R tR t]R 4       t]R 4       tR t	]
R 4       tR tRtV tR	# )

BaseHeaderc                   R . /pV P                  W#4       \        P                  ! VR,          4      '       d!   \        P                  ! VR,          4      VR&   \        P                  WR,          4      pVR VP                  ! V3/ VB  V# )defectsdecoded)parser   _has_surrogates	_sanitizerb   __new__init)clsnamevaluekwdsr   s   &&&  r!   ru   BaseHeader.__new__   sq    2		%  i11#ood9o>DO{{3Y0O		$$r$   c               *    Wn         W n        W0n        R # r&   )_name_parse_tree_defects)r   rx   
parse_treerp   s   &&$$r!   rv   BaseHeader.init   s    
%r$   c                    V P                   # r&   )r}   r(   s   &r!   rx   BaseHeader.name   s    zzr$   c                ,    \        V P                  4      # r&   )rU   r   r(   s   &r!   rp   BaseHeader.defects   s    T]]##r$   c                    \         V P                  P                  V P                  P                  \	        V 4      3V P                  4       3# r&   )_reconstruct_headerr:   r;   	__bases__rb   __getstate__r(   s   &r!   
__reduce__BaseHeader.__reduce__   sC    ''((D	
 ! 	!r$   c                ,    \         P                  W4      # r&   )rb   ru   )rw   ry   s   &&r!   _reconstructBaseHeader._reconstruct   s    {{3&&r$   c          	        \         P                  ! \         P                  ! \         P                  ! V P                  R 4      \         P                  ! RR4      .4      .4      pV P
                  '       d<   VP                  \         P                  ! \         P                  ! RR4      .4      4       VP                  V P
                  4       VP                  VR7      # )zheader-name:z
header-seprg   fws)policy)
r   HeaderHeaderLabelValueTerminalrx   r~   appendCFWSListWhiteSpaceTerminalfold)r   r   headers   &$ r!   r   BaseHeader.fold   s    " $$TYY>$$S,7 9 :  
 MM!:!:3!F GHJd&&'{{&{))r$   )r   r}   r~   N)r;   rJ   rK   rL   ru   rv   rM   rx   rp   r   classmethodr   r   rN   rO   rP   s   @r!   rn   rn      s[     D 
   $ $! ' '* *r$   rn   c                 8    \        W/ 4      P                  V4      # r&   )typer   )cls_namebasesry   s   &&&r!   r   r      s    $11%88r$   c                   X   a  ] tR tRt o Rt]! ]P                  4      t]	R 4       t
RtV tR# )UnstructuredHeaderi  Nc                X    V P                  V4      VR &   \        VR ,          4      VR&   R# )r   rq   N)value_parserrb   rw   ry   rz   s   &&&r!   rr   UnstructuredHeader.parse	  s*     --e4\d<01Yr$    )r;   rJ   rK   rL   	max_countstaticmethodr   get_unstructuredr   r   rr   rN   rO   rP   s   @r!   r   r     s,     I 7 78L2 2r$   r   c                       ] tR tRt^tRtR# )UniqueUnstructuredHeaderi  r   Nr;   rJ   rK   rL   r   rN   r   r$   r!   r   r         Ir$   r   c                   z   a a ] tR tRt oRt]! ]P                  4      t]	R 4       t
V 3R lt]R 4       tRtVtV ;t# )
DateHeaderi  Nc                J   V'       gP   VR ,          P                  \        P                  ! 4       4       RVR&   RVR&   \        P                  ! 4       VR&   R# \        V\        4      '       d   WR&    \        P                  ! V4      pWR&   \        P                  ! VR,          4      VR&   V P                  VR,          4      VR&   R#   \         dN    TR ,          P                  \        P                  ! R4      4       RTR&   \        P                  ! 4       TR&    R# i ; i)rp   Ndatetimer
   rq   r   zInvalid date value or format)r   r   HeaderMissingRequiredValuer   	TokenListrD   rb   r   parsedate_to_datetimer   InvalidDateDefectformat_datetimer   r   s   &&&r!   rr   DateHeader.parse$  s    O""6#D#D#FG#D DO!'!1!1!3DeS!!#O33E: !Z//Z0@AY --d9o>\  Y&&v'?'?@^'_`#'Z %+%5%5%7\"	s   3C
 
AD"!D"c                T   < VP                  R 4      V n        \        SV `  ! V/ VB  R# )r   N)pop	_datetimesuperrv   r   argskwr:   s   &*,r!   rv   DateHeader.init9  s$    
+d!b!r$   c                    V P                   # r&   r   r(   s   &r!   r   DateHeader.datetime=  r-   r$   r   )r;   rJ   rK   rL   r   r   r   r   r   r   rr   rv   rM   r   rN   rO   __classcell__r:   rQ   s   @@r!   r   r     sN      I   7 78L? ?("   r$   r   c                       ] tR tRt^tRtR# )UniqueDateHeaderiB  r   Nr   r   r$   r!   r   r   B  r   r$   r   c                   v   a a ] tR tRt oRt]R 4       t]R 4       tV 3R lt	]
R 4       t]
R 4       tRtVtV ;t# )	AddressHeaderiG  Nc                6    \         P                  ! V 4      w  rV# r&   )r   get_address_list)ry   address_lists   & r!   r   AddressHeader.value_parserK  s    $55e<r$   c                   \        V\        4      '       d   V P                  V4      ;VR &   p. pVP                   F  pTP	                  \        VP                  VP                   Uu. uFL  p\        VP                  ;'       g    RVP                  ;'       g    RVP                  ;'       g    R4      NKN  	  up4      4       K  	  \        VP                  4      pMG\        VR4      '       g   V.pV Uu. uF$  p\        VR4      '       g   \        RV.4      MTNK&  	  pp. pWBR&   WrR&   RP                  V Uu. uF  p\        V4      NK  	  up4      VR&   R V9  d   V P                  VR,          4      VR &   R# R# u upi u upi u upi )	r   r
   __iter__rW   Ngroupsrp   r`   rq   )rD   rb   r   rW   r   rS   r   all_mailboxesr   r   r   listr   hasattrr   )	rw   ry   rz   r   r   addrmbrp   items	   &&&      r!   rr   AddressHeader.parseQ  s   eS!! 140@0@0GGDF$..eD$5$5 04/A/A%C 0B &-R__-B-B-/]]-@-@b-/YY__"&> 0B%CD E / <334G 5*-- 16705 29{1K1KeD4&)/3405  7 GX!Y))6$B64SY6$BCYt#!$!1!1$y/!BD $!%C7 %Cs$   'F F F .F 7*F<F
c                t   < \        VP                  R 4      4      V n        RV n        \        SV `  ! V/ VB  R# )r   N)rU   r   _groupsrV   r   rv   r   s   &*,r!   rv   AddressHeader.initm  s0    RVVH-.d!b!r$   c                    V P                   # r&   )r   r(   s   &r!   r   AddressHeader.groupsr  r0   r$   c                    V P                   fF   \        ;QJ d    . R V P                   4       F  NK  	  5M! R V P                   4       4      V n         V P                   # )Nc              3   L   "   T F  pVP                    F  pVx  K	  	  K  	  R # 5ir&   )rW   )rc   groupaddresss   &  r!   re   *AddressHeader.addresses.<locals>.<genexpr>y  s'      $L;@?? %,;J %,s   "$)rV   rU   r   r(   s   &r!   rW   AddressHeader.addressesv  sM    ??"#e $L $Lee $L $L LDOr$   )rV   r   )r;   rJ   rK   rL   r   r   r   r   rr   rv   rM   r   rW   rN   rO   r   r   s   @@r!   r   r   G  sd     I 
 C C6"
     r$   r   c                       ] tR tRt^tRtR# )UniqueAddressHeaderi~  r   Nr   r   r$   r!   r   r   ~  r   r$   r   c                   0   a  ] tR tRt o ]R 4       tRtV tR# )SingleAddressHeaderi  c                    \        V P                  4      ^8w  d%   \        RP                  V P                  4      4      hV P                  ^ ,          # )   z9value of single address header {} is not a single address)rh   rW   r   r   rx   r(   s   &r!   r   SingleAddressHeader.address  sB    t~~! #$*F499$57 7~~a  r$   r   N)r;   rJ   rK   rL   rM   r   rN   rO   rP   s   @r!   r   r     s     ! !r$   r   c                       ] tR tRt^tRtR# )UniqueSingleAddressHeaderi  r   Nr   r   r$   r!   r   r     r   r$   r   c                      a a ] tR tRt o^t]! ]P                  4      t]	R 4       t
V 3R lt]R 4       t]R 4       t]R 4       tRtVtV ;t# )MIMEVersionHeaderi  c                ^   V P                  V4      ;VR &   p\        V4      VR&   VR,          P                  VP                  4       VP                  f   RMVP
                  VR&   VP                  VR&   VP                  e&   RP                  VR,          VR,          4      VR&   R# RVR&   R# )r   rq   rp   Nmajorminorz{}.{}version)r   rb   extendr   r   r   r   rw   ry   rz   r   s   &&& r!   rr   MIMEVersionHeader.parse  s    *-*:*:5*AA\Zj/YYz556 * 0 0 8j>N>NW"((W'%nnT']DMJDO"DOr$   c                   < VP                  R 4      V n        VP                  R4      V n        VP                  R4      V n        \        SV `  ! V/ VB  R# )r   r   r   N)r   _version_major_minorr   rv   r   s   &*,r!   rv   MIMEVersionHeader.init  sB    y)ffWoffWod!b!r$   c                    V P                   # r&   )r   r(   s   &r!   r   MIMEVersionHeader.major      {{r$   c                    V P                   # r&   )r   r(   s   &r!   r   MIMEVersionHeader.minor  r   r$   c                    V P                   # r&   )r   r(   s   &r!   r   MIMEVersionHeader.version      }}r$   )r   r   r   )r;   rJ   rK   rL   r   r   r   parse_mime_versionr   r   rr   rv   rM   r   r   r   rN   rO   r   r   s   @@r!   r   r     sr     I 9 9:L	# 	#"       r$   r   c                   V   a a ] tR tRt o^t]R 4       tV 3R lt]R 4       t	Rt
VtV ;t# )ParameterizedMIMEHeaderi  c                |   V P                  V4      ;VR &   p\        V4      VR&   VR,          P                  VP                  4       VP                  f   / VR&   R# VP                   UUu/ uF>  w  rA\
        P                  ! V4      P                  4       \
        P                  ! V4      bK@  	  uppVR&   R# u uppi )r   rq   rp   Nparams)r   rb   r   r   r  r   rt   lower)rw   ry   rz   r   rx   s   &&&  r!   rr   ParameterizedMIMEHeader.parse  s    *-*:*:5*AA\Zj/YYz556$DN
 3=2C2CE2C;4 $ood399;$)OOE$:;2CEDN Es   +AB8c                T   < VP                  R 4      V n        \        SV `  ! V/ VB  R# )r  N)r   _paramsr   rv   r   s   &*,r!   rv   ParameterizedMIMEHeader.init  s$    vvh'd!b!r$   c                ,    \        V P                  4      # r&   )r   r
  r(   s   &r!   r  ParameterizedMIMEHeader.params  s    --r$   )r
  )r;   rJ   rK   rL   r   r   rr   rv   rM   r  rN   rO   r   r   s   @@r!   r  r    s>     
 I
E 
E" . . .r$   r  c                      a a ] tR tRt o]! ]P                  4      tV 3R lt]	R 4       t
]	R 4       t]	R 4       tRtVtV ;t# )ContentTypeHeaderi  c                   < \         SV `  ! V/ VB  \        P                  ! V P                  P
                  4      V n        \        P                  ! V P                  P                  4      V n        R # r&   )	r   rv   r   rt   r~   maintype	_maintypesubtype_subtyper   s   &*,r!   rv   ContentTypeHeader.init  sL    d!b!)9)9)B)BC(8(8(@(@Ar$   c                    V P                   # r&   )r  r(   s   &r!   r  ContentTypeHeader.maintype  r-   r$   c                    V P                   # r&   )r  r(   s   &r!   r  ContentTypeHeader.subtype  r  r$   c                J    V P                   R ,           V P                  ,           # )/)r  r  r(   s   &r!   content_typeContentTypeHeader.content_type  s    }}s"T\\11r$   )r  r  )r;   rJ   rK   rL   r   r   parse_content_type_headerr   rv   rM   r  r  r  rN   rO   r   r   s   @@r!   r  r    s\      @ @ALB
     2 2 2r$   r  c                   f   a a ] tR tRt o]! ]P                  4      tV 3R lt]	R 4       t
RtVtV ;t# )ContentDispositionHeaderi  c                   < \         SV `  ! V/ VB  V P                  P                  pVf	   W0n        R # \        P
                  ! V4      V n        R # r&   )r   rv   r~   content_dispositionr   rt   _content_disposition)r   r   r   cdr:   s   &*, r!   rv   ContentDispositionHeader.init  s?    d!b!11*,*B!%//":M!r$   c                    V P                   # r&   r#  r(   s   &r!   r"  ,ContentDispositionHeader.content_disposition  s    (((r$   r'  )r;   rJ   rK   rL   r   r    parse_content_disposition_headerr   rv   rM   r"  rN   rO   r   r   s   @@r!   r   r     s4      G GHLN
 ) ) )r$   r   c                   z   a a ] tR tRt o^t]! ]P                  4      t]	R 4       t
V 3R lt]R 4       tRtVtV ;t# )ContentTransferEncodingHeaderi  c                    V P                  V4      ;VR &   p\        V4      VR&   VR,          P                  VP                  4       R# r   rq   rp   Nr   rb   r   r   r   s   &&& r!   rr   #ContentTransferEncodingHeader.parse  A    *-*:*:5*AA\Zj/YYz556r$   c                   < \         SV `  ! V/ VB  \        P                  ! V P                  P
                  4      V n        R # r&   )r   rv   r   rt   r~   cte_cter   s   &*,r!   rv   "ContentTransferEncodingHeader.init  s0    d!b!OOD$4$4$8$89	r$   c                    V P                   # r&   r3  r(   s   &r!   r2  !ContentTransferEncodingHeader.cte  s    yyr$   r6  )r;   rJ   rK   rL   r   r   r   &parse_content_transfer_encoding_headerr   r   rr   rv   rM   r2  rN   rO   r   r   s   @@r!   r+  r+    sJ     I M MNL7 7
:   r$   r+  c                   X   a  ] tR tRt o ^t]! ]P                  4      t]	R 4       t
RtV tR# )MessageIDHeaderi  c                    V P                  V4      ;VR &   p\        V4      VR&   VR,          P                  VP                  4       R# r-  r.  r   s   &&& r!   rr   MessageIDHeader.parse  r0  r$   r   N)r;   rJ   rK   rL   r   r   r   parse_message_idr   r   rr   rN   rO   rP   s   @r!   r:  r:    s,     I 7 78L7 7r$   r:  subjectdatezresent-datez	orig-datesenderzresent-sendertoz	resent-toccz	resent-ccbccz
resent-bccfromzresent-fromzreply-tozmime-versionzcontent-typezcontent-dispositionzcontent-transfer-encodingz
message-idc                   B   a  ] tR tRt o ]]R3R ltR tR tR t	Rt
V tR# )	HeaderRegistryi2  Tc                ~    / V n         Wn        W n        V'       d"   V P                   P                  \        4       R # R # r&   )registry
base_classdefault_classupdate_default_header_map)r   rI  rJ  use_default_maps   &&&&r!   r"   HeaderRegistry.__init__6  s1     $*MM  !45 r$   c                >    W P                   VP                  4       &   R # r&   )rH  r  r   rx   rw   s   &&&r!   map_to_typeHeaderRegistry.map_to_typeH  s     '*djjl#r$   c                    V P                   P                  VP                  4       V P                  4      p\	        R VP
                  ,           W P                  3/ 4      # )_)rH  getr  rJ  r   r;   rI  rP  s   && r!   __getitem__HeaderRegistry.__getitem__N  sC    mm

d.@.@AC$sOO&<bAAr$   c                    W,          ! W4      # r&   r   )r   rx   ry   s   &&&r!   __call__HeaderRegistry.__call__R  s     z$&&r$   )rI  rJ  rH  N)r;   rJ   rK   rL   rn   r   r"   rQ  rV  rY  rN   rO   rP   s   @r!   rF  rF  2  s*      #-<N'+6$*B
' 
'r$   rF  N)typesr   emailr   r   r   r   r   rS   rb   rn   r   r   r   r   r   r   r   r   r   r   r  r  r   r+  r:  rL  rF  r   r$   r!   <module>r]     s   #   0Y- Y-x/3 /3ha* a*H92 21 
+ +\z 
4 4n- 
!- ! 3 
" "J. .:2/ 2,)6 ) *	7 	7$<
$4 J $4	
 $= $7 	$7 M 	$7 M 
$7 M $7 M $7  $5!" $5#$ $<$AO) .*' *'r$   