Ë
    øÿæit  ã            
       óæ   — d dl mZmZmZ ddlmZmZmZmZm	Z	 ddl
mZmZ dedededed	ef
d
„Zdeded	efd„Zdeded	efd„Zdefd„ZeZdee   ded	eeee   f   fd„Zdedee   ded	ee   fd„Zy)é    )ÚListÚSequenceÚTupleé   )ÚEinopsErrorÚ	ReductionÚTensorÚ_apply_recipe_array_apiÚ_prepare_transformation_recipe)Úanalyze_patternÚprodÚtensorÚpatternÚ	reductionÚaxes_lengthsÚreturnc                 ó  — t        | t        «      r>t        | «      dk(  rt        d«      ‚| d   j	                  «       }|j                  | «      } n| j	                  «       }	 t        |j                  «       «      }t        ||t        |«      | j                  ¬«      }t        ||| ||¬«      S # t        $ rR}d|› d|› d�}t        | t        «      s|d| j                  › d	�z  }n|d
z  }|d|› d�z  }t        |d|› �z   «      d ‚d }~ww xY w)Nr   z(Einops can't be applied to an empty list)Ú
axes_namesÚndim)Úreciper   Úreduction_typer   z Error while processing z-reduction pattern "z".z
 Input tensor shape: z. z
 Input is list. zAdditional info: Ú.z
 )Ú
isinstanceÚlistÚlenÚ	TypeErrorÚ__array_namespace__ÚstackÚtupleÚitemsr   r   r
   r   Úshape)	r   r   r   r   ÚxpÚhashable_axes_lengthsr   ÚeÚmessages	            úe/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/einops/array_api.pyÚreducer'      s%  € Ü�&œ$ÔÜˆv‹;˜!ÒÜÐFÓGÐGØ�A‰Y×*Ñ*Ó,ˆØ—‘˜&Ó!‰à×'Ñ'Ó)ˆð9Ü % l×&8Ñ&8Ó&:Ó ;ÐÜ/°¸ÌuÐUaÓObÐio×itÑitÔuˆÜ&ØØØØ$Ø.ô
ð 	
øô ò 9Ø,¨Y¨KÐ7KÈGÈ9ÐTVÐWˆÜ˜&¤$Ô'ØÐ0°·±°¸bÐAÑA‰GàÐ+Ñ+ˆGØÐ& | n°AÐ6Ñ6ˆÜ˜' c¨!¨ IÑ-Ó.°DÐ8ûð9ús   Á A
B+ Â+	DÂ4ADÄDc                 ó    — t        | |fddi|¤ŽS )Nr   Úrepeat©r'   ©r   r   r   s      r&   r)   r)   #   s   € Ü�&˜'ÑF¨XÐF¸ÑFÐFó    c                 ó    — t        | |fddi|¤ŽS )Nr   Ú	rearranger*   r+   s      r&   r.   r.   '   s   € Ü�&˜'ÑI¨[ÐI¸LÑIÐIr,   c                 ó,   — dd l }|j                  | «      S )Nr   )ÚnumpyÚfrom_dlpack)r   Únps     r&   Úasnumpyr3   +   s   € Ûà�>‰>˜&Ó!Ð!r,   Útensorsc                 ó¤  — t        |d«      \  }}}| d   j                  «       }g }g }t        | «      D ]‡  \  }}	|	j                  }
t	        |
«      |k  rt        d|› d|
› d|› d|› d�	«      ‚t	        |
«      |z
  }|j                  |
|| «       |j                  |j                  |	g |
d | ¢d‘|
|d  ¢­«      «       Œ‰ |j                  ||¬	«      |fS )
NÚpackr   zpacked tensor #z' (enumeration starts with 0) has shape z, while pattern z assumes at least z axeséÿÿÿÿ)Úaxis)	r   r   Ú	enumerater!   r   r   ÚappendÚreshapeÚconcat)r4   r   Ún_axes_beforeÚn_axes_afterÚmin_axesr"   Úreshaped_tensorsÚpacked_shapesÚir   r!   Úaxis_after_packed_axess               r&   r6   r6   4   s  € Ü,;¸GÀVÓ,LÑ)€M�< Ø	�‰×	'Ñ	'Ó	)€Bà%'ÐØ!#€MÜ˜wÖ'‰	ˆˆ6Ø—‘ˆÜˆu‹:˜Ò ÜØ! ! Ð$KÈEÈ7ð S!Ø!( 	Ð);¸H¸:ÀUðLóð ô "% U£¨lÑ!:ÐØ×Ñ˜U =Ð1GÐHÔIØ×Ñ §
¡
¨6Ð3p°U¸>¸MÐ5JÐ3pÈBÐ3pÐQVÐWmÐWnÐQoÑ3pÓ qÕrð (ð �9‰9Ð%¨Mˆ9Ó:¸MÐIÐIr,   rA   c                 óÌ  — | j                  «       }t        |d¬«      \  }}}| j                  }t        |«      |dz   |z   k7  rt	        d|› d|› �«      ‚|}|D �	cg c]  }	d|	v rdn
t        |	«      ‘Œ }
}	t        d„ |
D «       «      }|dkD  rt	        d|› d|› d	�«      ‚d
gt        |«      z  ||   gz   }|d
k(  r%t        |
d d «      D ]  \  }}||   |z   ||dz   <   Œ nf|
j                  d«      }t        |«      D ]  }||   |
|   z   ||dz   <   Œ t        |dz   t        |
«      «      d d d…   D ]  }||dz      |
|   z
  ||<   Œ |d | }||dz   d  }t        d d «      f|z  }	 t        |«      D ��cg c];  \  }}|j                  | g |¢t        ||   ||dz      «      ‘d‘­   g |¢|¢|¢­«      ‘Œ= c}}S c c}	w c c}}w # t        $ r}t        d|› d|d   › d|› �«      |‚d }~ww xY w)NÚunpack)Úopnamer   zunpack(..., z)) received input of wrong dim with shape r7   c              3   ó&   K  — | ]	  }|d k(  –— Œ y­w)r7   N© )Ú.0Úxs     r&   Ú	<genexpr>zunpack.<locals>.<genexpr>U   s   è ø€ Ð!LÑ3K¨a ! r¥'Ñ3Kùs   ‚z) received more than one -1 in z and can't infer dimensionsr   .zError during unpack(..., "z!"): could not split axis of size z into requested )r   r   r!   r   r   r   Úsumr9   ÚindexÚrangeÚslicer;   Ú	ExceptionÚRuntimeError)r   rA   r   r"   r=   r>   r?   Úinput_shapeÚunpacked_axisÚp_shapeÚlengths_of_composed_axesÚn_unknown_composed_axesÚsplit_positionsrB   rJ   Úunknown_composed_axisÚjÚshape_startÚ	shape_endÚslice_fillerÚelement_shaper$   s                         r&   rE   rE   H   s³  € Ø	×	#Ñ	#Ó	%€BÜ,;¸GÈHÔ,UÑ)€M�< ð —,‘,€KÜ
ˆ;Ó˜=¨1Ñ,¨|Ñ;Ò;Ü˜L¨¨	Ð1ZÐ[fÐZgÐhÓiÐià&€MáanÓ*oÑanÐV]°°w±©2ÄDÈÃMÑ+QÐanÐÐ*oä!Ñ!LÑ3KÓ!LÓLÐØ Ò"ÜØ˜7˜)Ð#BÀ=À/ÐQlÐmó
ð 	
ð �cœC Ó.Ñ.°+¸mÑ2LÐ1MÑM€OØ !Ò#ÜÐ6°s¸Ð;Ö<‰DˆAˆqØ%4°QÑ%7¸!Ñ%;ˆO˜A ™EÒ"ñ =ð &>×%CÑ%CÀBÓ%GÐÜÐ,Ö-ˆAØ%4°QÑ%7Ð:RÐSTÑ:UÑ%UˆO˜A ™EÒ"ð .äÐ,¨qÑ0´#Ð6NÓ2OÓPÑQUÐSUÐQUÔVˆAØ!0°°Q±Ñ!7Ð:RÐSTÑ:UÑ!UˆO˜AÒð Wð ˜n˜}Ð-€KØ˜M¨AÑ-Ð/Ð0€IÜ˜$ Ó%Ð'¨-Ñ7€Lðô %.¨mÔ$<ô
ñ %=Ñ ��=ð �J‰JàÐ^˜Ð^¤u¨_¸QÑ-?ÀÐQRÐUVÑQVÑAWÓ'XÐ^ÐZ]Ñ^Ñ_Ø:�+Ð: Ð:°	Ñ:õð
 %=ò
ð 	
ùò; +pùó:
øô ò äØ(¨¨	Ð1RÐSbÐceÑSfÐRgØ˜}˜oð/ó
ð ð	ûðús1   ÁF2Å F= Å.A F7Æ.F= Æ7F= Æ=	G#ÇGÇG#N)Útypingr   r   r   Úeinopsr   r   r	   r
   r   Úpackingr   r   ÚstrÚintr'   r)   r.   r3   ÚShaper6   rE   rH   r,   r&   Ú<module>rd      sæ   ðß (Ñ (ç kÕ kß *ð9�6ð 9 Cð 9°Ið 9Èsð 9ÐW]ó 9ð8G�6ð G Cð G¸Fó GðJ�fð J sð J¸vó Jð"�Fó "ð 	€ðJ�(˜6Ñ"ð J¨Sð J°U¸6À4ÈÁ;Ð;NÑ5Oó Jð(5�6ð 5¨$¨u©+ð 5Àð 5ÈÈVÉô 5r,   