§
    $�’j©  ã                   ó*  — d dl Z d dlmZmZmZmZmZ d dlZddl	T ddl
m	Z	 ddl
mZ e	j        ZdZd„ Zg d	¢Zd
„ Z eddgdd¬¦  «        Z eddd¬¦  «         eddd¬¦  «         eddd¬¦  «         eddd¬¦  «         eddd¬¦  «         ed¬¦  «         edddgdd¬¦  «        dœZe	j        D ]bZ ee	e¦  «        Z eeedz   ¦  «        Ze                     ee¦  «        Z eer  eee¦  «        e¦  «        ne¦  «        Ze e¦   «         e<   ŒcdS )é    N)Úis_cupyÚis_jaxÚscipy_namespace_forÚSCIPY_ARRAY_APIÚxp_capabilitiesé   )Ú*)Ú_ndimage_api)Ú_delegatorsÚndimagec                 ó  ‡— t          | t          j        t          j        z  ¦  «        r‰                     | ¦  «        S t          | t
          t          z  ¦  «        r$ t          | ¦  «        ˆfd„| D ¦   «         ¦  «        S | S )z4Convert arrays/scalars hiding in the sequence `arg`.c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S ©N)Ú_maybe_convert_arg)Ú.0ÚxÚxps     €úYC:\Projects\DSCons\.venv\Lib\site-packages\scipy\ndimage\_support_alternative_backends.pyú	<genexpr>z%_maybe_convert_arg.<locals>.<genexpr>   s.   øè è € Ð@Ð@°qÕ+¨A¨rÑ2Ô2Ð@Ð@Ð@Ð@Ð@Ð@ó    )Ú
isinstanceÚnpÚndarrayÚgenericÚasarrayÚlistÚtupleÚtype)Úargr   s    `r   r   r      st   ø€ å�#•r”z¥B¤JÑ.Ñ/Ô/ð Ø�zŠz˜#‰ŒÐÝ	�C�¥™Ñ	&Ô	&ð Ø�t�C‰yŒyÐ@Ð@Ð@Ð@¸CÐ@Ñ@Ô@Ñ@Ô@Ð@àˆ
r   )Údistance_transform_bfÚdistance_transform_cdtÚfind_objectsÚgeometric_transformÚvectorized_filterc                 ó   ‡ ‡— ˆ ˆfd„}|S )Nc                 óL   •‡ — t          j        ‰ ¦  «        ˆˆ ˆfd„¦   «         }|S )Nc                  ó¶  •‡	—  ‰
| i |¤ŽŠ	t          ‰	¦  «        rG‰j        t          vr9dd l}|                     d‰› �¦  «        }t          |‰j        ¦  «        } || i |¤ŽS t          ‰	¦  «        rG‰j        dk    r<t          ‰	¦  «        }t          |‰¦  «        }t          |‰j        ¦  «        } || i |¤ŽS  ‰| i |¤Ž}t          |t          j
        t          j        z  ¦  «        r‰	                     |¦  «        S t          |t          ¦  «        r|S t          |t          ¦  «        r ˆ	fd„|                     ¦   «         D ¦   «         S |€|S t!          |‰	¦  «        S )Nr   zcupyx.scipy.Úmap_coordinatesc                 ór   •— i | ]3\  }}|                      ¦   «         t          ˆfd „|D ¦   «         ¦  «        “Œ4S )c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r   )r   )r   Úvvr   s     €r   r   zIdelegate_xp.<locals>.inner.<locals>.wrapper.<locals>.<dictcomp>.<genexpr>E   s-   øè è € Ð'CÐ'C¸2¨¯
ª
°2©¬Ð'CÐ'CÐ'CÐ'CÐ'CÐ'Cr   )Úitemr   )r   ÚkÚvr   s      €r   ú
<dictcomp>z?delegate_xp.<locals>.inner.<locals>.wrapper.<locals>.<dictcomp>D   sT   ø€ ð ð ð á˜A˜að Ÿš™œ¥%Ð'CÐ'CÐ'CÐ'CÀÐ'CÑ'CÔ'CÑ"CÔ"Cðð ð r   )r   Ú__name__ÚCUPY_BLOCKLISTÚ	importlibÚimport_moduleÚgetattrr   r   r   r   r   r   r   ÚintÚdictÚitemsr   )ÚargsÚkwdsr2   Úcupyx_moduleÚ
cupyx_funcÚspxÚ
jax_moduleÚjax_funcÚresultr   Ú	delegatorÚfuncÚmodule_names            @€€€r   Úwrapperz+delegate_xp.<locals>.inner.<locals>.wrapper'   sœ  øø€ à�˜DÐ) DÐ)Ð)ˆBõ �r‰{Œ{ð !:˜tœ}µNÐBÐBà Ð Ð Ð Ø(×6Ò6Ð7SÀkÐ7SÐ7SÑTÔT�Ý$ \°4´=ÑAÔA�
Ø!�z 4Ð0¨4Ð0Ð0Ð0Ý˜‘”ð : ¤Ð1BÒ BÐ BÝ)¨"Ñ-Ô-�Ý$ S¨+Ñ6Ô6�
Ý" :¨t¬}Ñ=Ô=�Ø�x Ð.¨Ð.Ð.Ð.ð ˜˜tÐ, tÐ,Ð,�å˜f¥b¤jµ2´:Ñ&=Ñ>Ô>ð :àŸ:š: fÑ-Ô-Ð-Ý ­Ñ,Ô,ð :Ø!�MÝ ­Ñ-Ô-ð :ðð ð ð à#)§<¢<¡>¤>ðñ ô ð ð �^à!�Mõ .¨f°bÑ9Ô9Ð9r   )Ú	functoolsÚwraps)rA   rC   r@   rB   s   ` €€r   Úinnerzdelegate_xp.<locals>.inner&   sD   øø€ Ý	Œ˜Ñ	Ô	ð%	:ð %	:ð %	:ð %	:ð %	:ð %	:ñ 
Ô	ð%	:ðL ˆr   © )r@   rB   rF   s   `` r   Údelegate_xprH   %   s*   øø€ ð(ð (ð (ð (ð (ð (ðR €Lr   TÚcupyF)Úcpu_onlyÚ
exceptionsÚallow_dask_computeÚjax_jit)rJ   rL   rM   )Úout_of_scopez	jax.numpy)r#   r"   r    r!   r$   Úgenerate_binary_structurer(   Ú
_signature)rD   Úscipy._lib._array_apir   r   r   r   r   Únumpyr   r
   Ú r   Ú__all__ÚMODULE_NAMEr   r1   rH   Údefault_capabilitiesÚcapabilities_dictÚ	func_namer4   Ú	bare_funcr@   ÚgetÚcapabilitiesÚfÚvarsrG   r   r   ú<module>r^      ss  ðØ Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø
Ô
€ð €ðð ð ðð ð €ð*ð *ð *ðX '�Ø˜v˜h¸4Èðñ ô Ð ð
 +˜?Ø¨$¸ðñ ô ð $�OØ¨$¸ðñ ô ð -˜_Ø¨$¸ðñ ô ð .˜oØ¨$¸ðñ ô ð )˜Ø¨$¸ðñ ô ð "1 ¸dÐ!CÑ!CÔ!CØ&�Ø 6¨;Ð"7Ø¨ðñ ô ð#ð Ð ð0 Ô%ð ð €IØ�˜ iÑ0Ô0€IØ�˜ Y°Ñ%=Ñ>Ô>€Ià$×(Ò(¨Ð4HÑIÔI€Làˆàð	*Ð+ˆˆ�I˜{Ñ+Ô+¨IÑ6Ô6Ð6Ø )ñ	ô 	€Að
 €D€D�F„Fˆ9ÑÐðð r   