ó
    Š*£hE  ã                   óZ   • S SK JrJr   " S S\5      rS rS rS rS rS r	\
4S	 jrS
 rg)é   )Ú	_toposortÚgroupbyc                   ó   • \ rS rSrSrg)ÚAmbiguityWarningé   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    Ú\/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/multipledispatch/conflict.pyr   r      s   † Úr   r   c                 óp   • [        U 5      [        U5      :H  =(       a    [        [        [        X5      5      $ )z2A is consistent and strictly more specific than B )ÚlenÚallÚmapÚ
issubclass©ÚaÚbs     r   Ú
supercedesr      s&   € äˆq‹6”S˜“VÑ×:¤¤C¬
°AÓ$9Ó :Ð:r   c                 ót   • [        U 5      [        U5      :H  =(       a    [        S [        X5       5       5      $ )z<It is possible for an argument list to satisfy both A and B c              3   ó`   #   • U  H$  u  p[        X5      =(       d    [        X!5      v •  M&     g 7f©N)r   )Ú.0ÚaaÚbbs      r   Ú	<genexpr>Úconsistent.<locals>.<genexpr>   s+   é € ð 4Ú)2™v˜rô ˜2Ó"×8¤j°Ó&8Ô8Ú)2ùs   ‚,.)r   r   Úzipr   s     r   Ú
consistentr"      s5   € ä�‹F”c˜!“fÑ÷ 4Üñ 4Ü),¨Q¬ó4ó 4ð5r   c                 ój   • [        X5      =(       a"    [        X5      =(       d    [        X5      (       + $ )z=A is consistent with B but neither is strictly more specific )r"   r   r   s     r   Ú	ambiguousr$      s$   € ä�aÓ×J¤Z°Ó%5×%I¼ÀAÓ9IÔ JÐJr   c           	      ó  ^^• [        [        [        U 5      5      n U  V^V^s1 s H[  mU   HQ  m[        T5      [        T5      :  d  M  [	        TT5      (       d  M0  [        UU4S jU  5       5      (       a  MM  TT4iMS     M]     snn$ s  snnf )z4All signature pairs such that A is ambiguous with B c              3   ób   >#   • U  H$  n[        UT5      =(       a    [        UT5      v •  M&     g 7fr   ©r   )r   Úcr   r   s     €€r   r   Úambiguities.<locals>.<genexpr>   s.   øé € ð #9Ú-7¨ô $.¨a°Ó#3×#H¼
À1ÀaÓ8HÔ#HÚ-7ùs   ƒ,/)Úlistr   ÚtupleÚhashr$   Úany)Ú
signaturesr   r   s    ``r   Úambiguitiesr/      s   ù€ ä”cœ% Ó,Ó-€JÙ&ö :šJ�q´
¨1Ü˜q›'¤D¨£GÑ+ó ä$ Q¨Ÿ?ó ô  #õ #9Ù-7ó#9÷  9ó ˆQ�‹F±
‰F™Jò :ð :ùó :s   £"B	Á	B	ÁB	Á9B	c                 ó  ^• [        U S   5      m[        U4S jU  5       5      (       d   e[        T5       VVs/ s H:  n[        U  Vs/ s H  n[        R                  X!   5      PM     sn[         S9S   PM<     snn$ s  snf s  snnf )z)A signature that would break ambiguities é    c              3   ó@   >#   • U  H  n[        U5      T:H  v •  M     g 7fr   )r   )r   ÚsÚns     €r   r   Ú"super_signature.<locals>.<genexpr>%   s   øé € Ð/¢J˜qŒs�1‹v˜Ž{¢Jùs   ƒ)Úkey)r   r   ÚrangeÚmaxÚtypeÚmro)r.   ÚiÚsigr4   s      @r   Úsuper_signaturer=   "   s|   ø€ äˆJ�q‰MÓ€AÜÔ/¡JÓ/×/Ñ/Ð/Ð/ô ˜aœô"Ú �1ô ©ZÓ8ªZ c”—‘˜#™&Ö!©ZÑ8¼cÑBÀ1ÔEÙ ò"ð "ùÒ8ùó "s   ºBÁ	!A?Á*BÁ?Bc                 óh   • [        X5      (       a"  [        X5      (       a  U" U 5      U" U5      :„  $ gg)zNA should be checked before B

Tie broken by tie_breaker, defaults to ``hash``
TFr'   )r   r   Útie_breakers      r   Úedger@   +   s3   € ô
 �!×ÑÜ�a×ÑÙ˜q“>¡K°£NÑ2Ð2àØr   c                 óŽ  • [        [        [        U 5      5      n U  VVs/ s H!  o  H  n[        X5      (       d  M  X4PM     M#     nnn[	        S U5      nU  H  nXC;  d  M
  / X4'   M     UR                  5        VVVVs0 s H  u  pVXV VVs/ s H  u  pUPM	     snn_M     nnnnn[        U5      $ s  snnf s  snnf s  snnnnf )zzA sane ordering of signatures to check, first to last

Topoological sort of edges as given by ``edge`` and ``supercedes``
c                 ó   • U S   $ )Nr1   r   )Úxs    r   Ú<lambda>Úordering.<locals>.<lambda>?   s   € ˜a šdr   )r*   r   r+   r@   r   Úitemsr   )r.   r   r   Úedgesr3   ÚkÚvs          r   ÚorderingrJ   8   sª   € ô
 ”cœ% Ó,Ó-€JÙ'ÔJšZ˜³¨A¼tÀA¿z‹Vˆa‹V±‰V™Z€EÑJÜ‘N EÓ*€EÛˆØ�>ØˆE‹Hñ ð /4¯k©k¬mÖ<ªm¡d aˆQ˜qÔ!šq‘t�q“™qÒ!Ò!©m€EÓ<Ü�UÓÐùó Kùó
 "ùÕ<s"   ŸB3¼B3Â B?
ÂB9ÂB?
Â9B?
N)Úutilsr   r   ÚWarningr   r   r"   r$   r/   r=   r,   r@   rJ   r   r   r   Ú<module>rM      s=   ðß %ô	�wô 	ò;ò
5òKò
:ò"ð  ô 
ór   