ó
    ±“,j”1  ã                   óè   • S SK Js  Js  Jr  S SKrS SKrS SKJs  Jr  S SK	Js  J
s  Jr  S SKJr  S SKJr  SS jrSS jrS rS rS rSS	 jrS
 rS rS rS rSS jrS rS rS rS rS rSS jr g)é    N)Úuse_name_of©ÚOperationNotSupportedErrorc                 ó*  • [        U [        [        R                  -  5      (       a  U $ [        U [        [
        -  [        R                  -  5      (       a%  [        U 5      S:w  a  [        SU SU  35      eU S   $ [        SU S[        U 5       35      e)Né   ú	Expected zC to be a single integer or a list/tuple/array of length 1, but got r   ú1 to be an integer or a list/tuple/array, but got )
Ú
isinstanceÚintÚnpÚintegerÚlistÚtupleÚndarrayÚlenÚ
ValueErrorÚtype©ÚaxisÚnames     Ú¥C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\einx/_src/adapter/_util.pyÚ_axis_to_axisintr   
   s‡   € Ü�$œœbŸj™jÑ(×)Ñ)ØˆÜ	�Dœ$¤™,¬¯©Ñ3×	4Ñ	4Üˆt‹9˜‹>Ü˜y¨¨Ð.qÐrvÐqwÐxÓyÐyØ�A‰wˆä˜9 T FÐ*[Ô\`ÐaeÓ\fÐ[gÐhÓiÐió    c                 óø   • [        U [        [        R                  -  5      (       a  U 4$ [        U [        [
        -  [        R                  -  5      (       a  [        U 5      $ [        SU S[        U 5       35      e)Nr   r	   )	r
   r   r   r   r   r   r   r   r   r   s     r   Ú_axis_to_axistupler      sd   € Ü�$œœbŸj™jÑ(×)Ñ)ØˆwˆÜ	�Dœ$¤™,¬¯©Ñ3×	4Ñ	4Ü�T‹{Ðä˜9 T FÐ*[Ô\`ÐaeÓ\fÐ[gÐhÓiÐir   c                 ó   ^ • U 4S jnU$ )Nc                  ó:   >• U S   nU SS   H  nT" X5      nM     U$ ©Nr   r   © )ÚargsÚxÚyÚ	binary_ops      €r   Únary_opÚ,_associative_binary_to_nary.<locals>.nary_op   s*   ø€ Ø�‰GˆØ�a�b“ˆAÙ˜!“ŠAñ àˆr   r   )r#   r$   s   ` r   Ú_associative_binary_to_naryr&      s   ø€ õð €Nr   c                 ó  • US:  a  X!R                   S-   -  nUS:  d  X!R                   :”  a  [        SU SUR                    S35      e[        UR                  5      nUR	                  US5        U R                  X5      $ )Nr   r   úAxis z" is out of bounds for tensor with ú dimensions.)Úndimr   r   ÚshapeÚinsertÚreshape)Ú	classicalÚtensorr   Ú	new_shapes       r   Ú
_unsqueezer1   (   sx   € ØˆaƒxØ—‘˜a‘ÑˆØˆaƒx�4Ÿ+™+Ó%Ü˜5  Ð&HÈÏÉÈÐUaÐbÓcÐcä�V—\‘\Ó"€IØ×Ñ�T˜1ÔØ×Ñ˜VÓ/Ð/r   c           	      ó>  • US:  a  U[        US   R                  5      S-   -  nUS:  d  U[        US   R                  5      :”  a(  [        SU S[        US   R                  5       S35      eU Vs/ s H  n[        XU5      PM     nnU R	                  XS9$ s  snf )Nr   r   r(   z# is out of bounds for tensors with r)   ©r   )r   r+   r   r1   Úconcatenate)r.   Útensorsr   r/   s       r   Ú_stackr6   3   s¦   € ØˆaƒxØ”�G˜A‘J×$Ñ$Ó%¨Ñ)Ñ)ˆØˆaƒx�4œ#˜g a™j×.Ñ.Ó/Ó/Ü˜5  Ð&IÌ#ÈgÐVWÉj×N^ÑN^ÓJ_ÐI`Ð`lÐmÓnÐnáAHÓIÂ°vŒz˜)¨TÖ2Á€GÐIØ× Ñ  Ð Ð4Ð4ùò Js   Á3Bc                 óN  ^^• UR                  5        Vs/ s HB  n[        U[        R                  5      (       d  M$  UR                  S:X  d  M6  UR
                  PMD     nnUR                  5        Vs/ s H0  n[        U[        R                  5      (       d  M$  UR
                  PM2     nn[        U5      [        U5      -
  m[        T5      S:”  a5  [        R                  " UU4S jSS9nU R                  X!R                  5      nS nU" U5      n	U" U5      nU Vs/ s H  oUU	;   d  M
  UPM     n
n[        U
5      [        U	5      :w  au  [        U	5      [        U
5      -
  nU VVs1 s H  u  pÍUiM	     nnn[        U5      S:X  a  SUR                  5        S3nOS	S
R                  U5       S3n[        SU S35      eU
 Vs/ s H  oéR                  U5      PM     nnU R                  U[!        U5      5      nUR                  5        Vs/ s H0  n[        U[        R                  5      (       d  M$  UR
                  PM2     n	nUR                  5        Vs/ s H0  n[        U[        R                  5      (       d  M$  UR
                  PM2     nnU Vs/ s H  oUU	;  d  M
  UPM     snm[        T5      S:”  aW  [!        U4S jUR                  5        5       5      nU R                  UU5      nU(       d  U R#                  X#R                  5      nU(       a_  [        R$                  R'                  U Vs/ s H4  nUR
                  U	;   a  UO[        R                  R)                  S5      PM6     sn5      nX24$ s  snf s  snf s  snf s  snnf s  snf s  snf s  snf s  snf s  snf )Nr   r   c                 ód   >• [        U [        R                  5      =(       a    U R                  T;   $ ©N)r
   Ústage3ÚAxisr   )ÚaÚsqueeze_axess    €r   Ú<lambda>Ú._squeeze_transpose_broadcast.<locals>.<lambda>C   s%   ø€ ´:¸aÄÇÁÓ3M×3hÐRS×RXÑRXÐ\hÑRhÐ3hr   F)Úkeep_childrenc                 ó  • 0 n/ nU R                  5        Hn  n[        U[        R                  5      (       d  M$  UR	                  UR
                  S5      nUR                  UR
                  U45        US-   XR
                  '   Mp     U$ r   )Únodesr
   r:   r;   Úgetr   Úappend)ÚexprÚcountsÚaxesr<   Úcs        r   Ú_to_axis_idsÚ2_squeeze_transpose_broadcast.<locals>._to_axis_idsG   sk   € ØˆØˆØ—‘–ˆAÜ˜!œVŸ[™[×)Ó)Ø—J‘J˜qŸv™v qÓ)�Ø—‘˜QŸV™V Q˜KÔ(Ø!" Q¡�—v‘v“ñ	 ð
 ˆr   zaxis z doeszaxes z, z doz
The input z3 not appear in the corresponding output expression.c              3   ó¢   >#   • U  HD  n[        U[        R                  5      (       d  M$  UR                  T;   a  S OUR                  v •  MF     g7f©r   N)r
   r:   r;   r   Úvalue)Ú.0r<   Úout_axes_broadcasts     €r   Ú	<genexpr>Ú/_squeeze_transpose_broadcast.<locals>.<genexpr>e   sQ   øé € ð  $LÒ\lÐWXÔpzÐ{|ô  E÷  Jñ  J÷  qKÓ$R¨¯©Ð3EÓ)E¡AÈ1Ï7É7Ô$RÒ\lùs
   ƒ#Aª%A)rB   r
   r:   r;   rM   r   Úsetr   Úremover-   r+   ÚpopÚjoinr   ÚindexÚ	transposer   Úbroadcast_toÚListÚcreateÚnew_unnamed)r.   Úexpr_inr/   Úexpr_outÚbroadcast_to_unitaryr<   Úsqueezable_in_axesÚout_axesrI   Úin_axesÚout_axes_intersectÚinvalid_axesr   ÚcountÚout_axisÚpermÚpre_broadcast_shaper   rO   r=   s                     @@r   Ú_squeeze_transpose_broadcastrh   =   s  ù€ à*1¯-©-¬/Óiª/ Q¼ZÈÌ6Ï;É;×=W›&Ð\]×\cÑ\cÐghÑ\h›&˜!Ÿ&œ&©/ÐÐiØ (§¡Ô 0ÓOÒ 0˜1´J¸qÄ&Ç+Á+×4N“�—”Ñ 0€HÐOÜÐ)Ó*¬S°«]Ñ:€LÜ
ˆ<Ó˜1ÓÜ—-’- Ô)hÐx}Ñ~ˆØ×"Ñ" 6¯=©=Ó9ˆòñ ˜7Ó#€GÙ˜HÓ%€HÙ%-Ó>¢X °g±Ÿ!¡XÐÐ>Ü
ÐÓ¤# g£,Ó.Ü˜7“|¤cÐ*<Ó&=Ñ=ˆÙ0<Ô=²¡ ›±ˆÑ=Üˆ|Ó Ó!Ø" <×#3Ñ#3Ó#5Ð"6°eÐ<‰Là" 4§9¡9¨\Ó#:Ð";¸3Ð?ˆLÜ˜: l ^Ð3fÐgÓhÐhá4FÓGÒ4F¨�M‰M˜(Ö#Ñ4F€DÐGØ× Ñ  ¬¨t«Ó5€Fð  'Ÿ}™}œÓMš˜!´*¸QÄÇÁ×2L‹vˆq�vŒv™€GÐMØ (§¡Ô 0ÓOÒ 0˜1´J¸qÄ&Ç+Á+×4N“�—”Ñ 0€HÐOÙ%-ÓB¢X ¸'Ñ1AŸ!¡XÑBÐÜ
ÐÓ Ó"Ü#ô  $LÐ\d×\jÑ\jÔ\ló  $Ló  LÐØ×"Ñ" 6Ð+>Ó?ˆÞ#Ø×+Ñ+¨F·N±NÓCˆFæÜ—;‘;×%Ñ%ÑrzÓ&{ÒrzÐjn°·	±	¸WÓ0D©Ì&Ï+É+×JaÑJaÐbcÓJdÒ(dÑrzÑ&{Ó|ˆØÐÐùò[ jùÚOùò& ?ùó >ùò Hùò NùÚOùÚBùò '|s^   •#M9¼M9ÁM9Á2#M>ÂM>Ä	NÄ*NÅ&NÇNÈ#NÈ3NÉ#NÉ>NÊ	NÊ!NÌ4;N"c                 ó&   • [        S U  5       5      $ )Nc              3   ó4   #   • U  H  oS :w  d  M
  Uv •  M     g7frL   r   )rN   Úss     r   rP   Ú!_squeeze_shape.<locals>.<genexpr>p   s   é € Ð,šE�q¨!¡V—‘šEùs   ‚	�	)r   ©r+   s    r   Ú_squeeze_shapern   o   s   € ÜÑ,™EÓ,Ó,Ð,r   c                 óž   • [        UR                  5      [        U5      :w  a  [        SUR                   SU 35      eU R                  X5      $ )NzExpected tensor with shape z$ to have the same squeezed shape as )rn   r+   r   r-   )r.   r/   r+   s      r   Ú_squeeze_unsqueezerp   s   sI   € Ü�f—l‘lÓ#¤~°eÓ'<Ó<ÜÐ6°v·|±|°nÐDhÐinÐhoÐpÓqÐqØ×Ñ˜VÓ+Ð+r   c                 óð   • [        U5      S:X  a  Uc  U$ [        XU5      $ S /[        U5      -  n[        [        [	        U5      5      5       H  u  pVU R                  X5      u  oU'   M     [        XUS9nU$ )Nr   r3   )r   r1   Úreversedr   Ú	enumerateÚdivmodr6   )r.   r/   Úravel_shaper   Úout_indicesÚirk   s          r   Ú_unravelrx   y   s}   € ä
ˆ;Ó˜1ÓØ‰<ØˆMä˜i°Ó6Ð6à�&œ3˜{Ó+Ñ+€KÜœœi¨Ó4Ó5Ö6‰ˆØ!*×!1Ñ!1°&Ó!<Ñˆ˜A“ñ 7ô ˜°dÑ;€KàÐr   c                 ó<   • U S:X  a  gU S:X  a  gU S:X  a  gU S-    S3$ )Nr   Ú1str   Ú2ndé   Ú3rdÚthr   )rw   s    r   Ú_to_ord_strr   Š   s0   € ØˆAƒvØØ	
ˆa‹ØØ	
ˆa‹Øà�a‘%�˜ˆ|Ðr   c                 ón   ^ ^^^^• T(       a  Tc  [        S5      eUm[        T 5      UUUUU 4S j5       nU$ )Nz:classical must be provided if allow_squeeze_unsqueeze=Truec            	      ól	  >^• Tn[        U5      (       a;  [        U[        5      (       d&  [        U[        R                  5      (       d  U" 5       nT" U 0 UD6n[        U[        R                  5      (       Ga^  [        T5      S:X  a  U/nGOÙ[        R                  R                  R                  U[        R                  R                  R                  R                  U[        R                  R                  R                  R                  5      S[        T5       35      n[        R                  R                  R                  U[        R                  R                  R                  [        R                  R                  R                  R                  U5      [        T5      5      S[        T5       35      n[        R                  " UU4S j5      nO�[        U[        5      (       aS  [        S U 5       5      (       a<  [        U5      [        T5      :w  a#  [        S[        T5       S[        U5       35      eO'[        S[        R                   " [        U5       35      e/ n[#        [%        UTSS95       GH  u  nu  nm[        U[        R                  R&                  R(                  [        R                  R&                  R*                  -  5      (       al  T	(       a  [,        O[        nU" UR.                  5      U" T5      :w  a'  [        S	[1        U5       S
T SUR.                   35      eT	(       a  [3        T
UT5      nGO6Ubi  [        R                  R                  R                  U[        R                  R                  R                  R                  Xb5      S	[1        U5       S35      nT	(       a  [        S5      e[        R                  R                  R                  U[        R                  R                  R                  [        R                  R                  R                  R                  UR.                  5      T5      S	[1        U5       S
T 35      n[        R                  " UU4S j5      nUR5                  U5        GM     Un[        U5      S:X  a  US   $ [        U5      $ )Nr   z:Expected the adapted function to return a tuple of length c                 ó¦   >• [        [        T5      5       Vs/ s H,  n[        R                  R                  R                  U 5      PM.     sn$ s  snf r9   )Úranger   ÚtracerÚ	signatureÚpythonÚValue)ÚoriginÚ_Úexpected_out_shapess     €r   r>   Ú/_ensure_output.<locals>.inner.<locals>.<lambda>±   s_   ø€ Ôv{Ô|ð  ATó  }Uô  wVó  GWò  wVÐqrÄv×GWÑGW×G^ÑG^×GdÑGdÐekÖGlñ  wVò  GWùò  GWs   ˜3Ac              3   óV   #   • U  H  n[        U[        R                  5      v •  M!     g 7fr9   )r
   r„   ÚTracer)rN   Úts     r   rP   Ú0_ensure_output.<locals>.inner.<locals>.<genexpr>²   s!   é € Ð3fÒZeÐUV´J¸qÄ&Ç-Á-×4PÐ4PÒZeùs   ‚')z, but got length zPExpected the adapted function to return a tracer or a tuple of tracers, but got F)Ústrictr   z@ return value of the adapted function to be a tensor with shape z, but got shape z4 return value of the adapted function to be a tensorz†allow_squeeze_unsqueeze=True cannot currently be used if return type of the adapted function is a general tracer object, not a tensor.c                 óT   >• [         R                  R                  R                  U TS9$ ©Nrm   ©r„   r…   r.   ÚTensor)rˆ   Úexpected_out_shapes    €r   r>   r‹   ×   s#   ø€ ¼F×<LÑ<L×<VÑ<V×<]Ñ<]Ð^dÐl~Ð<]Ñ<r   r   )Úcallabler
   r   r„   r�   r   r…   r†   Úassert_Úbuiltinsr   ÚequalÚcastÚallr   ÚpytreeÚmaprs   Úzipr.   r”   ÚConvertibleTensorrn   r+   r   rp   rD   )r    ÚkwargsÚexpected_typeÚtensors_outÚtensors_out2rw   r/   rŽ   r•   Úallow_squeeze_unsqueezer.   rŠ   Úexpected_type2Úops           @€€€€€r   ÚinnerÚ_ensure_output.<locals>.inner›   s6  ù€ à&ˆÜ�M×"Ñ"¬:°mÄT×+JÑ+JÔS]Ð^kÔms×mzÑmz×S{ÑS{Ù)›OˆMá˜$Ð) &Ñ)ˆÜ�k¤6§=¡=×1Ò1äÐ&Ó'¨1Ó,Ø*˜m’ä$×.Ñ.×5Ñ5×=Ñ=ØÜ×$Ñ$×+Ñ+×4Ñ4×?Ñ?ÀÌV×M]ÑM]×MdÑMd×MmÑMm×MsÑMsÓtØPÔQTÐUhÓQiÐPjÐkó�ô
 %×.Ñ.×5Ñ5×=Ñ=ØÜ×$Ñ$×+Ñ+×1Ñ1´&×2BÑ2B×2IÑ2I×2RÑ2R×2VÑ2VÐWbÓ2cÔehÐi|Óe}Ó~ØPÔQTÐUhÓQiÐPjÐkó�ô
 %Ÿkšk¨+ô  8Wó  X‘Ü˜¤U×+Ñ+´Ñ3fÑZeÓ3f×0fÑ0fä�;Ó¤3Ð':Ó#;Ó;Ü Ð#]Ô^aÐbuÓ^vÐ]wð  xIô  JMð  NYó  JZð  I[ð  "\ó  ]ð  ]ð <ô ÐoÔpv×pzÒpzÔ{ð  BMó  qNð  pOð  Pó  Qð  QàˆÜ/8¼¸[ÐJ]ÐfkÑ9l×/mÑ+ˆAÑ+�Ð*Ü˜&¤&×"2Ñ"2×"<Ñ"<×"CÑ"CÄf×FVÑFV×F`ÑF`×FrÑFrÑ"r×sÑsæ&=•NÄ5�Ù�V—\‘\“?¡aÐ(:Ó&;Ó;Ü$Ø#¤K°£NÐ#3Ð3sð  uGð  tHð H)Ø)/¯©¨ð8óð ö +Ü/°	¸6ÐCUÓV�Fùð !Ñ,Ü#×-Ñ-×4Ñ4×<Ñ<ØÜ×(Ñ(×/Ñ/×8Ñ8×CÑCÀFÓZØ#¤K°£NÐ#3Ð3gÐhó�Fö
 +Ü$ð aóð ô  ×)Ñ)×0Ñ0×8Ñ8ØÜ×$Ñ$×+Ñ+×1Ñ1´&×2BÑ2B×2IÑ2I×2RÑ2R×2XÑ2XÐY_×YeÑYeÓ2fÐhzÓ{Ø¤¨A£Ð/Ð/oð  qCð  pDð  Eó�ô
  Ÿš VÔ-ó  A�Ø×Ñ ×'ñ= 0nð> #ˆäˆ{Ó˜qÓ Ø˜q‘>Ð!ä˜Ó%Ð%r   )r   r   )r¦   rŠ   r¡   r¤   r.   r§   r¥   s   `` `` @r   Ú_ensure_outputr©   •   sC   ü€ ÞØÑÜÐYÓZÐZØ"€Nä�ƒ_÷B&ð B&ó ðB&ðH €Lr   c           	      óþ  • / nU  Hë  n[        U[        5      (       aŠ  US:X  aO  UR                  [        [        [
        [        R                  [        R                  [        R                  /5        Mm  US:X  a!  UR                  [        R                  5        M”  [        SU 35      e[        U[        R                  5      (       a  MÃ  [        U[        5      (       d   eUR                  U5        Mí     [!        U5      $ )NÚscalarÚnumpyzUnknown concrete type string: )r
   ÚstrÚextendr   ÚfloatÚboolr   r   ÚfloatingÚbool_rD   r   r   r„   r�   r   r   )Úconcrete_typesÚconcrete_types2rŽ   s      r   Ú_make_concrete_typesrµ   ã   s½   € Ø€OÛˆÜ�aœ×ÑØ�H‹}Ø×&Ñ&¬¬U´D¼"¿*¹*ÄbÇkÁkÔSU×S[ÑS[Ð'\Ö]Ø�g“Ø×&Ñ&¤r§z¡zÖ2ä Ð#AÀ!ÀÐ!EÓFÐFÜ˜œ6Ÿ=™=×)Ñ)Ùä˜a¤×&Ñ&Ð&Ð&Ø×"Ñ" 1Ö%ñ ô �Ó!Ð!r   c                 óæ   • [        U5      n[        X5      =(       dU    [        U [        R                  R                  R
                  5      =(       a     [        U R                  R                  U5      $ r9   )	rµ   r
   r„   r…   r.   rŸ   Ú
issubclassÚconcreter   )r!   Útypess     r   Ú	_has_typerº   õ   sa   € Ü  Ó'€EÜ�aÓ÷  H¤J¨q´&×2BÑ2B×2LÑ2L×2^Ñ2^Ó$_÷  %GÔdnÐop×oyÑoy×o~Ño~ð  AFó  eGð  Hr   c                 ó¤   • [        U [        [        -  [        -  [        R
                  -  [        R                  -  [        R                  -  5      $ r9   )r
   r   r¯   r°   r   r   r±   r²   ©r!   s    r   Ú
_is_scalarr½   ú   s3   € Ü�aœœu™¤tÑ+¬b¯j©jÑ8¼2¿;¹;ÑFÌÏÉÑQÓRÐRr   c                 ór  • [        U 5      (       a  g[        U [        R                  5      (       a  U R                  $ [        U [
        R                  R                  R                  [
        R                  R                  R                  -  5      (       a  U R                  $ [        S[        U 5       S35      e)Nr   z+Cannot determine shape of object with type Ú.)r½   r
   r   r   r+   r„   r…   r.   r”   rŸ   r   r   r¼   s    r   Ú
_get_shaperÀ   þ   s€   € Ü�!‡}�}ØÜ	�A”r—z‘z×	"Ñ	"Ø�w‰wˆÜ	�A”v×'Ñ'×1Ñ1×8Ñ8¼6×;KÑ;K×;UÑ;U×;gÑ;gÑg×	hÑ	hØ�w‰wˆäÐFÄtÈAÃwÀiÈqÐQÓRÐRr   c                 óL   ^^^• U m[        T5      m[        T5      mUUU4S jn U $ )Nc                 óÖ  >^• [        U / TQ[        R                  R                  R                  P75      (       a  U $ [        U [        R                  R                  R
                  5      (       a   [        U R                  R                  T5      (       a  U $ [        U R                  R                  T5      (       a1  U R                  mT" U 5      n [        R                  " U U4S j5      n U $ [        SU R                  R                   S35      e[        U / TQ75      (       a0  [        U 5      mT" U 5      n [        R                  " U U4S j5      n U $ [        S[        U 5       35      e)Nc                 óT   >• [         R                  R                  R                  U TS9$ r’   r“   ©rˆ   r+   s    €r   r>   Ú/_to_tensor.<locals>.to_tensor.<locals>.<lambda>  s#   ø€ ´&×2BÑ2B×2LÑ2L×2SÑ2SÐTZÐbgÐ2SÑ2hr   zAn object of type z cannot be used as a tensorc                 óT   >• [         R                  R                  R                  U TS9$ r’   r“   rÄ   s    €r   r>   rÅ     s#   ø€ ¬f×.>Ñ.>×.HÑ.H×.OÑ.OÐPVÐ^cÐ.OÑ.dr   zExpected a tensor, but got )r
   r„   r…   r.   r”   rŸ   r·   r¸   r   r+   rš   r   rÀ   )r!   r+   Ú
_to_tensorÚconvertÚforwards    @€€€r   Ú	to_tensorÚ_to_tensor.<locals>.to_tensor  s  ù€ Ü�aÐF˜7ÐF¤F×$4Ñ$4×$>Ñ$>×$EÑ$EÑF×GÑGØˆHÜ˜œ6×+Ñ+×5Ñ5×GÑG×HÑHÜ˜!Ÿ*™*Ÿ/™/¨7×3Ñ3Ø�Ü˜AŸJ™JŸO™O¨W×5Ñ5ØŸ™�Ù˜q“M�Ü—K’K Ô#hÓi�Ø�ä Ð#5°a·j±j·o±oÐ5FÐFaÐ!bÓcÐcÜ˜˜;˜W™;×'Ñ'Ü˜q“MˆEÙ˜1“ˆAÜ—’˜AÔdÓeˆAØˆHäÐ:¼4À»7¸)ÐDÓEÐEr   )rµ   )rÊ   rÉ   rÈ   rÇ   s    ``@r   rÇ   rÇ   	  s*   ú€ Ø€JÜ" 7Ó+€GÜ" 7Ó+€G÷Fð* Ðr   c                 ó*   ^ ^^• UUU 4S jnT Ul         U$ )Nc                  ó@   >• T ST S3nTb  UST-   -  n[        U5      e)Nz# operation is not supported by the z	 backend.Ú r   )r    r    Úmessage2ÚbackendÚmessager   s      €€€r   r¦   Ú_unsupported_op.<locals>.op'  s5   ø€ Ø�VÐ>¸w¸iÀyÐQˆØÑØ˜˜g™Ñ%ˆHÜ(¨Ó2Ð2r   )Ú__name__)r   rÐ   rÑ   r¦   s   ``` r   Ú_unsupported_oprÔ   &  s   ú€ ÷3ð €B„KØ€Ir   r3   )F)NFNr9   )!Úeinx._src.namedtensor.stage3Ú_srcÚnamedtensorr:   r¬   r   Ú	functoolsÚeinx._src.tracerr„   Úeinx._src.util.pytreeÚutilrœ   Úeinx._src.util.functoolsr   Úeinx._src.frontend.errorsr   r   r   r&   r1   r6   rh   rn   rp   rx   r   r©   rµ   rº   r½   rÀ   rÇ   rÔ   r   r   r   Ú<module>rÞ      s€   ðß -Ó -Û Û ß !Ð !ß &Ó &Ý 0Ý @ôjôjòò0ò5ô/òd-ò,òò"ôKò\"ò$Hò
SòSòõ:r   