
    k7i,                    V   S SK Jr  S SKrS SKJrJr  S SKJr  S SKJ	r	J
r
  S SKJrJrJrJrJrJr  \R$                  S:  a  S SKJr  \" S	\S
\S9r\" S\S9r\" S\S
\S9r\" S\S9r\" SSS9r\" SSS9r      SS jr    SS jrS r " S S\\\   5      r " S S\\   \5      r g)    )annotationsN)CallableSequence)partial)getmroisclass)TYPE_CHECKINGGenericTypeTypeVarcastoverload)      )r   _BaseExceptionT_coT)bound	covariantdefault_BaseExceptionT)r   _ExceptionT_co_ExceptionT_ExceptionGroupSelfExceptionGroup_BaseExceptionGroupSelfBaseExceptionGroupc                P    [        U R                  5      S S  H
  nX!;   d  M
    g   g)NTF)r   	__class__)excparentsclss      T/home/james-whalen/.local/lib/python3.13/site-packages/exceptiongroup/_exceptions.pycheck_direct_subclassr#      s+     cmm$Sb)> *     c                X   [        U 5      (       a9  [        [        [        [           U 5      [        5      (       a  [        [        U 4S9$ [        U [        5      (       a&  [        S U  5       5      (       a  [        [        U S9$ O[        U 5      (       a  [        SU 5      $ [        S5      e)N)r    c              3  f   #    U  H'  n[        U5      =(       a    [        U[        5      v   M)     g 7fN)r   
issubclassBaseException).0xs     r"   	<genexpr>'get_condition_filter.<locals>.<genexpr>-   s#     NIqwqz:jM::Is   /1zCallable[[BaseException], bool]z?expected a function, exception type or tuple of exception types)r   r(   r   r   r)   r   r#   
isinstancetupleallcallable	TypeError)	conditions    r"   get_condition_filterr4   #   s    
 yjT- ),m  ,ylCC	Iu	%	%NINNN0)DD O	)		5yAA
U
VVr$   c                    U R                  U5      nU R                  Ul        U R                  Ul        U R                  Ul        [	        U S5      (       a  [        U R                  5      Ul        U$ )N	__notes__)derive	__cause____context____traceback__hasattrlistr6   )selfexcsegs      r"   _derive_and_copy_attributesr@   5   sX    	T	B>>BL%%BN))Bt[!!DNN+Ir$   c                    ^  \ rS rSrSr        SU 4S jjr        SS jrSS jr\SS j5       r	\  SS j5       r
\    SS j5       r\    SS	 j5       r\    SS
 j5       r    SS jr\    SS j5       r\    S S j5       r\    S!S j5       r    S"S jr\S#S j5       r\    S$S j5       r    S$S jrSS jrSS jrSrU =r$ )%r   @   z/A combination of multiple unrelated exceptions.c                  > [        U[        5      (       d  [        S[        U5       35      e[        U[        5      (       d  [        S5      eU(       d  [        S5      e[        U5       H)  u  p4[        U[        5      (       a  M  [        SU S35      e   U [        L a  [        S U 5       5      (       a  [        n [        U [        5      (       aK  U HE  n[        U[        5      (       a  M  U [        L a  [        S5      e[        SU R                  < 35      e   [        TU ]=  XU5      n[!        U5      Ul        U$ )	Nzargument 1 must be str, not z/second argument (exceptions) must be a sequencez9second argument (exceptions) must be a non-empty sequencezItem z4 of second argument (exceptions) is not an exceptionc              3  B   #    U  H  n[        U[        5      v   M     g 7fr'   )r.   	Exception)r*   r   s     r"   r,   -BaseExceptionGroup.__new__.<locals>.<genexpr>X   s     F#:c9--s   z/Cannot nest BaseExceptions in an ExceptionGroupzCannot nest BaseExceptions in )r.   strr2   typer   
ValueError	enumerater)   r   r0   r   r(   rE   __name__super__new__r/   _exceptions)r!   _BaseExceptionGroup__message_BaseExceptionGroup__exceptionsir   instancer   s         r"   rM   BaseExceptionGroup.__new__C   s/   
 )S)):4	?:KLMM,11MNNK   -FAc=11 A3RS  . $$FFFF$c9%%#!#y11n,'M  (<S\\<LM  $ 7?3<@$\2r$   c                4    [         R                  " XU/UQ76   g r'   )r)   __init__)r=   rO   rP   argss       r"   rU   BaseExceptionGroup.__init__k   s     	tDtDr$   c                    [        U[        5      (       d&  [        SU< S[        U5      R                   S35      e[        U S5      (       d  / U l        U R                  R                  U5        g )NzExpected a string, got note=z (type )r6   )r.   rG   r2   rH   rK   r;   r6   append)r=   notes     r"   add_noteBaseExceptionGroup.add_notes   sb    $$$.thgd4j>Q>Q=RRST  t[))(*DNd#r$   c                     U R                   S   $ )Nr   )rV   r=   s    r"   messageBaseExceptionGroup.message~   s    yy|r$   c                ,    [        U R                  5      $ r'   )r/   rN   r_   s    r"   
exceptionsBaseExceptionGroup.exceptions   s     T%%&&r$   c                    g r'    r=   _BaseExceptionGroup__conditions     r"   subgroupBaseExceptionGroup.subgroup   s     .1r$   c                    g r'   rf   rg   s     r"   ri   rj      s     69r$   c                    g r'   rf   rg   s     r"   ri   rj      s     9<r$   c                l   [        U5      nSnU" U 5      (       a  U $ / nU R                   Hi  n[        U[        5      (       a/  UR	                  U5      nUb  UR                  U5        XeLa  SnME  MG  U" U5      (       a  UR                  U5        Mg  SnMk     U(       d  U $ U(       a  [        X5      nU$ g )NFT)r4   rc   r.   r   ri   rZ   r@   )r=   rh   r3   modifiedrc   r   ri   groups           r"   ri   rj      s     )5	T??K*,
??C#122<<4'%%h/&#H '3!!#& # K/AELr$   c                    g r'   rf   rg   s     r"   splitBaseExceptionGroup.split        r$   c                    g r'   rf   rg   s     r"   rq   rr      rs   r$   c                    g r'   rf   rg   s     r"   rq   rr      s     r$   c                   [        U5      nU" U 5      (       a  U S 4$ / n/ nU R                   H  n[        U[        5      (       a?  UR	                  U5      u  pgUb  UR                  U5        Ub  UR                  U5        MU  MW  U" U5      (       a  UR                  U5        Mw  UR                  U5        M     S nU(       a  [        X5      nS n	U(       a  [        X5      n	X4$ r'   )r4   rc   r.   r   rq   rZ   r@   )
r=   rh   r3   matching_exceptionsnonmatching_exceptionsr   matchingnonmatchingmatching_groupnonmatching_groups
             r"   rq   rr      s    & )5	T??:3568??C#122(+		)(<%''..x8**11+> +3#**3/&--c2 # :>8SN<@! ;! 00r$   c                    g r'   rf   r=   _BaseExceptionGroup__excss     r"   r7   BaseExceptionGroup.derive  s    TWr$   c                    g r'   rf   r~   s     r"   r7   r     s     /2r$   c                .    [        U R                  U5      $ r'   )r   r`   r~   s     r"   r7   r     s     "$,,77r$   c                    [        U R                  5      S:X  a  SOSnU R                   S[        U R                  5       SU S3$ )N    sz (z sub-exceptionrY   )lenrN   r`   )r=   suffixs     r"   __str__BaseExceptionGroup.__str__  sD    4++,1s,,r#d&6&6"7!8vhaPPr$   c                x    U R                   R                   SU R                  S   < SU R                  S   < S3$ )N(r   z, r   rY   )r   rK   rV   r_   s    r"   __repr__BaseExceptionGroup.__repr__  s8    ..))*!DIIaL+;2diil=MQOOr$   )r6   )r!   ztype[_BaseExceptionGroupSelf]rO   rG   rP   Sequence[_BaseExceptionT_co]returnr   )rO   rG   rP   r   rV   objectr   None)r[   rG   r   r   )r   rG   )r   zGtuple[_BaseExceptionT_co | BaseExceptionGroup[_BaseExceptionT_co], ...])rh   1type[_ExceptionT] | tuple[type[_ExceptionT], ...]r   "ExceptionGroup[_ExceptionT] | None)rh   9type[_BaseExceptionT] | tuple[type[_BaseExceptionT], ...]r   *BaseExceptionGroup[_BaseExceptionT] | None)rh   >Callable[[_BaseExceptionT_co | _BaseExceptionGroupSelf], bool]r   z-BaseExceptionGroup[_BaseExceptionT_co] | None)rh   zztype[_BaseExceptionT] | tuple[type[_BaseExceptionT], ...] | Callable[[_BaseExceptionT_co | _BaseExceptionGroupSelf], bool]r   r   )rh   r   r   zXtuple[ExceptionGroup[_ExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None])rh   r   r   z`tuple[BaseExceptionGroup[_BaseExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None])rh   r   r   zctuple[BaseExceptionGroup[_BaseExceptionT_co] | None, BaseExceptionGroup[_BaseExceptionT_co] | None])rh   `type[_BaseExceptionT] | tuple[type[_BaseExceptionT], ...] | Callable[[_BaseExceptionT_co], bool]r   a!  tuple[ExceptionGroup[_ExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None] | tuple[BaseExceptionGroup[_BaseExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None] | tuple[BaseExceptionGroup[_BaseExceptionT_co] | None, BaseExceptionGroup[_BaseExceptionT_co] | None])r   zSequence[_ExceptionT]r   zExceptionGroup[_ExceptionT])r   zSequence[_BaseExceptionT]r   z#BaseExceptionGroup[_BaseExceptionT])rK   
__module____qualname____firstlineno____doc__rM   rU   r\   propertyr`   rc   r   ri   rq   r7   r   r   __static_attributes____classcell__r   s   @r"   r   r   @   s   9&*&& 3& 
!	&PEE 3E 	E
 
E	$   '	P' '
 1L1	+1 1 9T9	39 9 <S< 
7< <
I
 
4B L
  T
  S
 01/01	
01d W W2/2	,2 28/8	,8
QP Pr$   c                    ^  \ rS rSr        SU 4S jjr\(       ad  \  SS j5       r\    SS j5       r	\    SS j5       r	    SU 4S jjr	\    SS j5       r
\    SS j5       r
      SU 4S	 jjr
S
rU =r$ S
rU =r$ )r   i  c                $   > [         TU ]  XU5      $ r'   )rL   rM   )r!   _ExceptionGroup__message_ExceptionGroup__exceptionsr   s      r"   rM   ExceptionGroup.__new__  s    
 ws|<<r$   c                    g r'   rf   r_   s    r"   rc   ExceptionGroup.exceptions#  s	     KNr$   c                    g r'   rf   r=   _ExceptionGroup__conditions     r"   ri   ExceptionGroup.subgroup(  s     25r$   c                    g r'   rf   r   s     r"   ri   r   -  s     58r$   c                "   > [         TU ]  U5      $ r'   )rL   ri   r=   r   r   s     r"   ri   r   2  s     7#K00r$   c                    g r'   rf   r   s     r"   rq   ExceptionGroup.split:      
 r$   c                    g r'   rf   r   s     r"   rq   r   A  r   r$   c                "   > [         TU ]  U5      $ r'   )rL   rq   r   s     r"   rq   r   H  s     7=--r$   rf   )r!   ztype[_ExceptionGroupSelf]r   rG   r   zSequence[_ExceptionT_co]r   r   )r   z;tuple[_ExceptionT_co | ExceptionGroup[_ExceptionT_co], ...])r   r   r   r   )r   6Callable[[_ExceptionT_co | _ExceptionGroupSelf], bool]r   z%ExceptionGroup[_ExceptionT_co] | None)r   Ttype[_ExceptionT] | tuple[type[_ExceptionT], ...] | Callable[[_ExceptionT_co], bool]r   r   )r   r   r   zPtuple[ExceptionGroup[_ExceptionT] | None, ExceptionGroup[_ExceptionT_co] | None])r   r   r   Stuple[ExceptionGroup[_ExceptionT_co] | None, ExceptionGroup[_ExceptionT_co] | None])r=   r   r   r   r   r   )rK   r   r   r   rM   r	   r   rc   r   ri   rq   r   r   r   s   @r"   r   r     s'   =&== /= 
	= 		NH	N 
	N 
	5P	5/	5 
	5 
	8U	82	8 
	8	1/	1
 0	1 
	P	
	 
	 
	U	
	 
		.%	./	.

	. 	.O r$   )r   r)   r    ztuple[type[BaseException]]r   bool)r3   r   r   z$Callable[[_BaseExceptionT_co], bool])!
__future__r   syscollections.abcr   r   	functoolsr   inspectr   r   typingr	   r
   r   r   r   r   version_infotyping_extensionsr)   r   r   rE   r   r   r   r   r#   r4   r@   r   r   rf   r$   r"   <module>r      s    " 
 .  # H Hg)}  +=AIy m953;KL !";CWX 	!;	W+W *	W$VP0B(C VPr7.'7 7.r$   