Ë
    üÇ:j{` ã            	       ó\&  — d Z ddlZddlmZ ddlZddlZddlZddlZ	ddl
mZmZ ddlmZmZmZ ddlmZmZmZmZmZmZmZmZ ddlmZmZmZmZ ddlm Z m!Z!m"Z"m#Z# dd	l$m%Z% dd
lm&Z& ddl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- ddl.m/Z/ d„ Z0 e0«       Z1e&d„ «       Z2e&d„ «       Z3 ee	jh                  ejj                  «       edejj                  «      d„ «       «       Z6ed„ «       Z7d„ Z8 ee	jh                  ejj                  ejr                  ejt                  «       ee	jh                  ejj                  ejv                  ejt                  «       edejj                  ejr                  ejt                  «       edejj                  ejv                  ejt                  «      d„ «       «       «       «       Z< ee	jh                  ejj                  ejt                  «       edejj                  ejt                  «      d„ «       «       Z= ee	jh                  ejj                  ejr                  «       ee	jh                  ejj                  ejv                  «       edejj                  ejr                  «       edejj                  ejv                  «      d„ «       «       «       «       Z>d„ Z? ee	j€                  «       eejj                  d«      d„ «       «       ZA ee	j„                  «       eejj                  d«      d„ «       «       ZC ee	jˆ                  «       eejj                  d«      d„ «       «       ZE ee	jŒ                  «       eejj                  d«      d„ «       «       ZG ee	j�                  «       eejj                  d «      d!„ «       «       ZI ee	j”                  «       eejj                  d"«      d#„ «       «       ZKed$„ «       ZLed%„ «       ZMed&„ «       ZN ee	jž                  «       ee	j                   «       eejj                  d'«      d(„ «       «       «       ZQ ee	j¤                  «       ee	j¦                  «       eejj                  d)«      d*„ «       «       «       ZTed+„ «       ZUed,„ «       ZVed-„ «       ZW ee	j°                  «       eejj                  d.«      �dd/„«       «       ZYed0„ «       ZZed1„ «       Z[ed2„ «       Z\d3„ Z] ee	j¼                  «       eejj                  d4«      �dd5„«       «       Z_ ee	jÀ                  «       eejj                  d6«      d7„ «       «       Zae�dd9„«       Zb ee	jÆ                  «       eejj                  d:«      �dd;„«       «       Zd ee	jÊ                  «       eejj                  d<«      d=„ «       «       Zf ee	jÎ                  «      �dd>„«       Zhd?„ Zi ee	jÔ                  «      d@„ «       Zk ee	jØ                  «      dA„ «       Zm ee	jÜ                  «      dB„ «       Zn ee	jÞ                  «      dC„ «       Zo ee	jà                  «      dD„ «       ZqdE„ Zr ee	jæ                  «      �ddF„«       Zs ee	jè                  «      �ddG„«       ZtedH„ «       ZuedI„ «       ZvedJ„ «       ZwdK„ Zx e exeud8¬L«      «      Zy e exevd8¬L«      «      Zz e exeudM¬L«      «      Z{ e exevdM¬L«      «      Z|edN„ «       Z} ee	jü                  «      �ddO„«       Z~ ee	jþ                  «      dP„ «       Z€ ee	�j                  «      dQ„ «       Z‚ ee	�j                  «      dR„ «       Z„ ee	�j
                  «      dS„ «       Z† ee	�j                  «      dT„ «       Zˆ ee	�j                  «      dU„ «       ZŠ ee	�j                  «      dV„ «       ZŒ ee	�j                  «      dW„ «       ZŽ ee	�j                  «      dX„ «       Z�edY„ «       Z‘dZ„ Z’d[„ Z“d\„ Z” ee“«      d]„ «       Z• ee”«      d^„ «       Z–d_„ Z— ee—«      d`„ «       Z˜ ee	�j2                  «      da„ «       Zšedbk  r  eejj                  dc«      eš«       edd„ «       Z›�dde„Zœ e eœeu«      «      Z� e eœe›«      «      Zž e eœe›dM¬f«      «      ZŸdg„ Z  e e e�«      «      Z¡ e e ež«      «      Z¢ e e eŸ«      «      Z£edh„ «       Z¤edi„ «       Z¥ ee	�jL                  «      dj„ «       Z§edk„ «       Z¨edl„ «       Z©edm„ «       Zªedn„ «       Z«edo„ «       Z¬edp„ «       Z­dq„ Z® ee	�j^                  «      dr„ «       Z° ee	�jb                  «      ds„ «       Z² ee	�jf                  «      dt„ «       Z´ ee	�jj                  «      du„ «       Z¶ ee	�jn                  «      dv„ «       Z¸edw„ «       Z¹edx„ «       Zºedy„ «       Z» ee	�jx                  «      dz„ «       Z½ ee	�j|                  «      d{„ «       Z¿ed|„ «       ZÀ ee	�j‚                  «      �dd}„«       ZÂed~„ «       ZÃe�dd„«       ZÄ ee	�jŠ                  «      �dd€„«       ZÆ ee	�jŽ                  «      �dd�„«       ZÈ ee	�j’                  «      �dd‚„«       ZÊe�ddƒ„«       ZË ee	�j˜                  «      �dd„„«       ZÍ ee	�jœ                  «      �dd…„«       ZÏ ee	�j                   «      �dd†„«       ZÑd‡„ ZÒ eeÒ«      dˆ„ «       ZÓd‰„ ZÔ ee	�jª                  «      �ddŠ„«       ZÖd‹„ Z× ee×«      dŒ„ «       ZØd�„ ZÙ eeÙ«      dŽ„ «       ZÚ�dd�„ZÛed�k  r ee	�j¸                  «      �dd‘„«       ZÝedbk\  r ee	�j¼                  «      �dd’„«       Zßed“„ «       Zàed”„ «       Zá ee	�jÄ                  «      �dd•„«       Zã ee	�jÈ                  «      d–„ «       Zåd—Zæed˜„ «       Zçed™„ «       Zèedš„ «       Zé ee	�jÔ                  «      d›„ «       Zëedœ„ «       Zìed�„ «       Zídž„ Zî eeî«      dŸ„ «       Zïed „ «       Zð ed¡„ «      Zñd¢„ Zòd£„ Zóed¤„ «       Zô ed¥„ «      Zõed¦„ «       Zöd§„ Z÷ed¨„ «       Zøed©„ «       Zù ee	�jô                  «      �ddª„«       Zû ee	�jø                  «      �dd«„«       Zý ee	�jü                  «      d¬„ «       Zÿ ee	�j                   «      d­„ «       �Zed®„ «       �Zed¯„ «       �Zed°„ «       �Zed±„ «       �Zed²„ «       �Z ed³„ «      �Zd´„ �Z e�e«      dµ„ «       �Z	 ee	�j                  «      �dd¶„«       �Zd·„ �Ze&d¸„ «       �Zed¹„ «       �Z ee	�j                  «       ee	�j                   «      �ddº„«       «       �Zedbk  r  ee	�j$                  «      �e«        ee	�j&                  «      d»„ «       �Z ee	�j*                  «      �dd¼„«       �Z ee	�j.                  ejj                  «       ed½ejj                  «      d¾„ «       «       �Zd¿„ �ZedÀ„ «       �ZedÁ„ «       �ZdÂ„ �Z ee	�j:                  «      dÃ„ «       �Z ee	�j:                  «      dÄ„ «       �Z ee	�j@                  «      dÅ„ «       �Z! ee	�jD                  «      dÆ„ «       �Z# ee�jH                  «      dÇ„ «       �Z% ee	�jL                  «      �ddÈ„«       �Z' edÉ„ «      �Z( edÊ„ «      �Z) ee	�jT                  «      dË„ «       �Z+ ee	�jX                  «      �ddÌ„«       �Z- ee	�j\                  «      dÍ„ «       �Z/ ee	�j`                  «      �ddÎ„«       �Z1dÏ„ �Z2 ee	�jf                  «      �ddÐ„«       �Z4 ee«      �Z5 ee«      �Z6edÑ„ «       �Z7edÒ„ «       �Z8edÓ„ «       �Z9edÔ„ «       �Z:edÕ„ «       �Z;dÖ„ �Z< �e=d×dØh«      �Z>dÙ„ �Z? ee	�j€                  «      �ddÚ„«       �Z@ ee	�j‚                  «      �ddÛ„«       �ZB�eC�ZD ee	�jŠ                  «      �ddÜ„«       �ZFdÝ�ZG edÞ�eG«      �ZHdß�ZI edà�eI«      �ZJdá�ZK edâ�eK«      �ZLdã„ �ZM �eM«        dä„ �ZN ee	�j”                  «      då„ «       �ZO ee	�j˜                  «      dæ„ «       �ZPdç„ �ZQdè„ �ZRdé„ �ZS e�eS«      dê„ «       �ZT ee	�jª                  «      �ddë„«       �ZV ee	�j®                  «      �ddì„«       �ZX ee	�j²                  «      �ddí„«       �ZZedbk  r' ee	�j¶                  «      e	�j¸                  fdî„«       �Z] ee	�j¼                  «      dï„ «       �Z_ ee	�jÀ                  «      �ddð„«       �Za ee	�jÄ                  «      dñ„ «       �Zc ee	�jÈ                  «      �ddò„«       �Ze ee	�jÌ                  «      �ddó„«       �Zgedô„ «       �Zhedõ„ «       �Ziedö„ «       �Zjed÷„ «       �Zkdø„ �Zl  ee	�jÚ                  «       �el�eh«      «         ee	�jÜ                  «       �el�ei«      «         ee	�jÞ                  «       �el�ej«      «         ee	�jà                  «       �el�ek«      «        e	�jâ                  g dù¢«      �Zr e	�jâ                  g dú¢«      �Zsedû„ «       �Ztedü„ «       �Zuedý„ «       �Zv ee	�jî                  «      dþ„ «       �Zxedÿ„ «       �Zy�d „ �Zz e�ez«      �d„ «       �Z{ ee	�jø                  «      �d„ «       �Z}e�d„ «       �Z~�d„ �Z e�e«      �d„ «       �Z€ ee	�j                  «      �d�d„«       �Z‚ ee	�j                  «      �d�d„«       �Z„e�d�d„«       �Z… ee	�j                  «      �d�d	„«       �Z‡�d�d
„�Zˆed�k  r  ee	�j                  «      �eˆ«        ee	�j                  «      �d�d„«       �Z‹y(  z5
Implementation of math operations on Array objects.
é    N)Ú
namedtuple)ÚtypesÚcgutils)ÚoverloadÚoverload_methodÚregister_jitable)Úas_dtypeÚtype_can_asarrayÚtype_is_scalarÚnumpy_versionÚis_nonelikeÚcheck_is_integerÚ	lt_floatsÚ
lt_complex)Úlower_builtinÚimpl_ret_borrowedÚimpl_ret_new_refÚimpl_ret_untracked)Ú
make_arrayÚ	load_itemÚ
store_itemÚ_empty_nd_impl)Úensure_blas)Ú	intrinsic)ÚRequireLiteralValueÚTypingErrorÚNumbaValueErrorÚNumbaNotImplementedErrorÚNumbaTypeErrorÚNumbaDeprecationWarning)Útuple_setitemc                  ó8   — 	 t        «        y# t        $ r Y yw xY w©NFT)r   ÚImportError© ó    úg/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/numba/np/arraymath.pyÚ_check_blasr(       s%   € ðÜŒð øô ò Ùðús   ‚
 �	˜c                 ó”   ‡‡‡— t        |«      dz
  Št        j                  t        j                  ‰«      Š ‰‰|«      }ˆˆˆfd„}||fS )a  
    This routine converts shape list where the axis dimension has already
    been popped to a tuple for indexing of the same size.  The original shape
    tuple is also required because it contains a length field at compile time
    whereas the shape list does not.
    é   c           	      óZ  •— | j                  ‰«      }t        j                  |«      }|\  }}d„ }t        ‰«      D ]m  }	| j	                  t
        j                  |	«      }
| j                  ||t        j                  ‰t
        j                  «      ||
g«      }|j                  |||	«      }Œo |S )Nc                 ó   — | |   S ©Nr%   )ÚaÚis     r'   Úarray_indexerzB_create_tuple_result_shape.<locals>.codegen.<locals>.array_indexerE   s   € Ø�Q‘4ˆKr&   )	Úget_value_typer   Úget_null_valueÚrangeÚget_constantr   ÚintpÚcompile_internalÚinsert_value)ÚcgctxÚbuilderÚ	signatureÚargsÚlltuptyÚtupÚin_shapeÚ_r0   r/   ÚdataidxÚdataÚndÚ
shape_listÚtuptys               €€€r'   Úcodegenz+_create_tuple_result_shape.<locals>.codegen=   s©   ø€ Ø×&Ñ& uÓ-ˆä×$Ñ$ WÓ-ˆð ‰ˆ�1ò	ô �r“ò 	5ˆAØ×(Ñ(¬¯©°QÓ7ˆGà×)Ñ)¨'°=Ü*/¯*©*°ZÄÇÁÓ*LØ+3°WÐ*=ó?ˆDð ×&Ñ& s¨D°!Ó4‰Cð	5ð ˆ
r&   )Úlenr   ÚUniTupler5   )ÚtyctxrC   Úshape_tupleÚfunction_sigrE   rB   rD   s    `   @@r'   Ú_create_tuple_result_shaperK   ,   sF   ú€ ô 
ˆ[Ó	˜AÑ	€Bä�N‰Nœ5Ÿ:™: rÓ*€Eá˜ [Ó1€Löð* ˜Ð Ð r&   c                 ó~  ‡	‡
‡— t        |t        j                  «      st        d«      ‚|j                  Š	t        |«      Š
‰	‰
k\  rdŠ	‰	}‰
|z
  dz
  }g }|t        j                  g|z  z  }|t        j                  gz  }|t        j                  g|z  z  }t        j                  |«      Š ‰|||«      }ˆ	ˆ
ˆfd„}||fS )aH  
    Generates a tuple that can be used to index a specific slice from an
    array for sum with axis.  shape_tuple is the size of the dimensions of
    the input array.  'value' is the value to put in the indexing tuple
    in the axis dimension and 'axis' is that dimension.  For this to work,
    axis has to be a const.
    z axis argument must be a constantr   r*   c                 ón  •— | j                  ‰«      }t        j                  |«      }|\  }}}d„ }| j                  ||t	        j
                  «       g «      }	t        d‰«      D ]  }
|j                  ||	|
«      }Œ |j                  ||‰«      }t        ‰dz   ‰«      D ]  }
|j                  ||	|
«      }Œ |S )Nc                  ó   — t        d d «      S r-   )Úslicer%   r&   r'   Úcreate_full_slicez<_gen_index_tuple.<locals>.codegen.<locals>.create_full_slice…   s   € Ü˜˜tÓ$Ð$r&   r   r*   )r1   r   r2   r6   r   Úslice2_typer3   r7   )r8   r9   r:   r;   r<   r=   r?   Ú	value_argrP   Ú
slice_datar/   Ú
axis_valuerB   rD   s              €€€r'   rE   z!_gen_index_tuple.<locals>.codegen|   sÓ   ø€ Ø×&Ñ& uÓ-ˆä×$Ñ$ WÓ-ˆð !ÑˆˆI�qò	%ð ×+Ñ+¨GÐ5FÜ,1×,=Ñ,=Ó,?Ø,.ó0ˆ
ô �q˜*Ó%ò 	;ˆAØ×&Ñ& s¨J¸Ó:‰Cð	;ð ×"Ñ" 3¨	°:Ó>ˆô �z A‘~ rÓ*ò 	;ˆAØ×&Ñ& s¨J¸Ó:‰Cð	;àˆ
r&   )	Ú
isinstancer   ÚLiteralr   Úliteral_valuerF   rQ   r5   ÚTuple)rH   rI   ÚvalueÚaxisÚbeforeÚafterÚ
types_listrJ   rE   rT   rB   rD   s            @@@r'   Ú_gen_index_tupler^   U   sÌ   ú€ ô �dœEŸM™MÔ*Ü!Ð"DÓEÐEà×#Ñ#€Jä	ˆ[Ó	€Bð �RÒØˆ
ð €FØ�‰K˜!‰O€Eà€JØ”5×$Ñ$Ð%¨Ñ.Ñ.€JØ”5—:‘:�,Ñ€JØ”5×$Ñ$Ð%¨Ñ-Ñ-€Jô �K‰K˜
Ó#€Eá˜ e¨TÓ2€Löð> ˜Ð Ð r&   z	array.sumc           	      ó´   ‡— |j                  d«      Šˆfd„}| j                  ||||t        |j                   ¬«      ¬«      }t        | ||j                   |«      S )Nr   c                 óf   •— ‰}t        j                  | «      D ]  }||j                  «       z  }Œ |S r-   ©ÚnpÚnditerÚitem)ÚarrÚcÚvÚzeros      €r'   Úarray_sum_implz!array_sum.<locals>.array_sum_impl¦   ó3   ø€ ØˆÜ—‘˜3“ò 	ˆAØ�—‘“‰M‰Að	àˆr&   ©rf   ©Úlocals©Úreturn_typer6   Údictr   ©Úcontextr9   Úsigr;   ri   Úresrh   s         @r'   Ú	array_sumru   ¡   óY   ø€ ð �?‰?˜1Ó€Dôð ×
"Ñ
" 7¨N¸CÀÜ*.°·±Ô*Að #ó C€Cä˜W g¨s¯©ÀÓDÐDr&   c                 ó   — | S r-   r%   )re   rg   s     r'   Ú_array_sum_axis_noprx   ±   s   € à€Jr&   c                 ó   ‡ ‡‡‡— ˆˆ ˆˆfd„}|S )Nc                 óÊ  •— | j                   }‰s|dk  s|dkD  rt        d«      ‚||k\  rt        d«      ‚t        | j                  «      }||   }|j	                  |«       t        || j                  «      }t        j                  |‰t        ‰«      «      }t        |«      D ]¸  }‰r t        | j                  |‰«      }|| |   z  }Œ%|dk(  r t        | j                  |d«      }	|| |	   z  }ŒJ|dk(  r t        | j                  |d«      }
|| |
   z  }Œo|dk(  r t        | j                  |d«      }|| |   z  }Œ”|dk(  sŒšt        | j                  |d«      }|| |   z  }Œº  ‰|d«      S )a(  
        function that performs sums over one specific axis

        The third parameter to gen_index_tuple that generates the indexing
        tuples has to be a const so we can't just pass "axis" through since
        that isn't const.  We can check for specific values and have
        different instances that do take consts.  Supporting axis summation
        only up to the fourth dimension for now.

        typing/arraydecl.py:sum_expand defines the return type for sum with
        axis. It is one dimension less than the input array.
        r   é   zHNumba does not support sum with axis parameter outside the range 0 to 3.zaxis is out of bounds for arrayr*   é   )ÚndimÚ
ValueErrorÚlistÚshapeÚpoprK   rb   ÚfullÚtyper3   r^   )re   rZ   r}   ÚashapeÚaxis_lenÚashape_without_axisÚresultÚ
axis_indexÚindex_tuple_genericÚindex_tuple1Úindex_tuple2Úindex_tuple3Úindex_tuple4Úconst_axis_valÚis_axis_constÚoprh   s                €€€€r'   Úinnerz gen_sum_axis_impl.<locals>.inner·   sƒ  ø€ ð �x‰xˆáà�aŠx˜4 !š8Ü ð "Gó Hð Hð
 �4Š<ÜÐ>Ó?Ð?ô �c—i‘i“ˆà˜$‘<ˆà�
‰
�4Ôä8¸ÀÇÁÓKÐä—‘Ð,¨d´D¸³JÓ?ˆô   ›/ò 	0ˆJÙä&6°s·y±yÀ*Ø7Eó'GÐ#à˜#Ð1Ñ2Ñ2‘ð
 ˜1’9Ü#3°C·I±I¸zÈ1Ó#M�LØ˜c ,Ñ/Ñ/‘FØ˜Q’YÜ#3°C·I±I¸zÈ1Ó#M�LØ˜c ,Ñ/Ñ/‘FØ˜Q’YÜ#3°C·I±I¸zÈ1Ó#M�LØ˜c ,Ñ/Ñ/‘FØ˜Q“YÜ#3°C·I±I¸zÈ1Ó#M�LØ˜c ,Ñ/Ñ/‘Fð+	0ñ, �&˜!‹}Ðr&   r%   )r�   rŽ   r�   rh   r‘   s   ```` r'   Úgen_sum_axis_implr’   ¶   s   û€ ÷<ðz €Lr&   c                 ó–  ‡— |j                   } t        |d|«      d«      }t        |dd «      €t        j                  }nt        }|j
                  \  }}}	d}
d}t        |t        j                  «      rŽ|j                  }|dk  r|j                  |z   }|dk  s||j                  kD  rt        d«      ‚| j                  j                  |«      }| j                  ||«      }|d   ||d   f}|j                  |||	g¬«      }d}
t!        |
|||«      }t#        |«      Šˆfd	„}| j%                  ||||«      }t'        | ||j                   |«      S )
NÚdtyper   r}   Fz'axis' entry is out of boundsr|   ©r;   Tc                 ó   •—  ‰| |«      S r-   r%   )re   rZ   r”   Úcompileds      €r'   Úarray_sum_impl_axisz1array_sum_axis_dtype.<locals>.array_sum_impl_axis  ó   ø€ Ù˜˜TÓ"Ð"r&   )ro   Úgetattrrb   Útakerx   r;   rU   r   rV   rW   r}   r~   Útyping_contextÚresolve_value_typer4   Úreplacer’   r   r6   r   )rr   r9   rs   r;   Úrettyrh   r�   Úty_arrayÚty_axisÚty_dtyper�   rŽ   Úaxis_valÚgen_implr˜   rt   r—   s                   @r'   Úarray_sum_axis_dtyper¥   ÷   sO  ø€ ð
 �O‰O€EØ)Œ7�5˜' 5Ó)¨!Ó,€Dô ˆu�f˜dÓ#Ð+Ü�W‰W‰ä ˆØ$'§H¡HÑ!€Xˆw˜Ø€MØ€NÜ�'œ5Ÿ=™=Ô)à ×.Ñ.ˆà˜AÒØ%Ÿ]™]¨^Ñ;ˆNØ˜AÒ °(·-±-Ò!?ÜÐ<Ó=Ð=à×(Ñ(×;Ñ;¸NÓKˆØ×'Ñ'¨°Ó@ˆà�A‰w˜ $ q¡'Ð)ˆà�k‰k ¨'°8Ð<ˆkÓ=ˆØˆä  °ÀÀDÓI€HÜ Ó)€Hô#ð ×
"Ñ
" 7Ð,?ÀÀdÓ
K€CÜ˜G W¨c¯o©o¸sÓCÐCr&   c           	      ó´   ‡— |j                  d«      Šˆfd„}| j                  ||||t        |j                   ¬«      ¬«      }t        | ||j                   |«      S )Nr   c                 óf   •— ‰}t        j                  | «      D ]  }||j                  «       z  }Œ |S r-   ra   )re   r”   rf   rg   rh   s       €r'   ri   z'array_sum_dtype.<locals>.array_sum_impl'  rj   r&   rk   rl   rn   rq   s         @r'   Úarray_sum_dtyper¨   "  rv   r&   c                 ó–  ‡— |j                   } t        |d|«      d«      }t        |dd «      €t        j                  }nt        }|j
                  \  }}d}	d}
t        |t        j                  «      r�|j                  }
|
dk  r|j                  |
z   }
|
dk  s|
|j                  kD  rd|
› d�}t        |«      ‚| j                  j                  |
«      }| j                  ||
«      }|d   |f}|j                  ||g¬«      }d}	t!        |	|
||«      }t#        |«      Šˆfd	„}| j%                  ||||«      }t'        | ||j                   |«      S )
Nr”   r   r}   Fz'axis' entry (z) is out of boundsr•   Tc                 ó   •—  ‰| |«      S r-   r%   )re   rZ   r—   s     €r'   r˜   z+array_sum_axis.<locals>.array_sum_impl_axisW  r™   r&   )ro   rš   rb   r›   rx   r;   rU   r   rV   rW   r}   r   rœ   r�   r4   rž   r’   r   r6   r   )rr   r9   rs   r;   rŸ   rh   r�   r    r¡   r�   rŽ   Úmsgr£   r¤   r˜   rt   r—   s                   @r'   Úarray_sum_axisr¬   2  sT  ø€ ð
 �O‰O€EØ)Œ7�5˜' 5Ó)¨!Ó,€Dô ˆu�f˜dÓ#Ð+Ü�W‰W‰ä ˆØŸ(™(Ñ€XˆwØ€MØ€NÜ�'œ5Ÿ=™=Ô)à ×.Ñ.ˆà˜AÒØ%Ÿ]™]¨^Ñ;ˆNØ˜AÒ °(·-±-Ò!?Ø" >Ð"2Ð2DÐEˆCÜ! #Ó&Ð&à×(Ñ(×;Ñ;¸NÓKˆØ×'Ñ'¨°Ó@ˆà�A‰w˜Ð ˆà�k‰k ¨'Ð2ˆkÓ3ˆØˆä  °ÀÀDÓI€HÜ Ó)€Hô#ð ×
"Ñ
" 7Ð,?ÀÀdÓ
K€CÜ˜G W¨c¯o©o¸sÓCÐCr&   c                 ó®   — | j                   t        j                  k(  r&t        j                  |«      j	                  | «      }|S | j                  |«      }|S r-   )rƒ   rb   Útimedelta64Úint64Úview)r”   rY   Úacc_inits      r'   Úget_accumulatorr²   ^  sF   € Ø‡z�z”R—^‘^Ò#Ü—8‘8˜E“?×'Ñ'¨Ó.ˆð €Oð —:‘:˜eÓ$ˆØ€Or&   Úprodc                 ó   ‡— t        | t        j                  «      r(t        | j                  «      }t        |d«      Šˆfd„}|S t        | t        j                  t        j                  f«      r!t        | «      j                  d«      Šˆfd„}|S y )Nr*   c                 óf   •— ‰}t        j                  | «      D ]  }||j                  «       z  }Œ |S r-   ra   ©r.   rf   rg   r±   s      €r'   Úarray_prod_implz#array_prod.<locals>.array_prod_impln  s3   ø€ ØˆAÜ—Y‘Y˜q“\ò �Ø�Q—V‘V“X‘‘ðàˆHr&   c                 ó   •— ‰| z  S r-   r%   )r.   r±   s    €r'   Úscalar_prod_implz$array_prod.<locals>.scalar_prod_implx  s   ø€ Ø˜a‘<Ðr&   )	rU   r   ÚArrayr	   r”   r²   ÚNumberÚBooleanrƒ   )r.   r”   r·   r¹   r±   s       @r'   Ú
array_prodr½   f  sw   ø€ ô �!”U—[‘[Ô!Ü˜Ÿ™Ó!ˆä" 5¨!Ó,ˆô	ð ÐÜ	�AœŸ™¤e§m¡mÐ4Ô	5Ü˜A“;×#Ñ# AÓ&ˆô	 ð  Ðð 
6r&   Úcumsumc                 óž  ‡‡— t        | t        j                  «      r±| j                  t        j                  v }| j                  t        j
                  k(  }|r1| j                  j                  t        j                  j                  k  s|rt        t        j                  «      Šnt        | j                  «      Št        ‰d«      Šˆˆfd„}|S y )Nr   c                 óš   •— t        j                  | j                  ‰«      }‰}t        | j                  «      D ]  \  }}||z  }|||<   Œ |S r-   ©rb   ÚemptyÚsizeÚ	enumerateÚflat©r.   Úoutrf   Úidxrg   r±   r”   s        €€r'   Úarray_cumsum_implz'array_cumsum.<locals>.array_cumsum_implŒ  óQ   ø€ Ü—(‘(˜1Ÿ6™6 5Ó)ˆCØˆAÜ# A§F¡FÓ+ò ‘��QØ�Q‘�Ø��C’ðð ˆJr&   ©
rU   r   rº   r”   Úsigned_domainÚbool_Úbitwidthr5   r	   r²   )r.   Ú
is_integerÚis_boolrÉ   r±   r”   s       @@r'   Úarray_cumsumrÑ   ~  s”   ù€ ô �!”U—[‘[Ô!Ø—W‘W¤× 3Ñ 3Ð3ˆ
Ø—'‘'œUŸ[™[Ñ(ˆÙ˜1Ÿ7™7×+Ñ+¬e¯j©j×.AÑ.AÒAÙÜœUŸZ™ZÓ(‰Eä˜QŸW™WÓ%ˆEä" 5¨!Ó,ˆõ	ð !Ð ð' "r&   Úcumprodc                 óž  ‡‡— t        | t        j                  «      r±| j                  t        j                  v }| j                  t        j
                  k(  }|r1| j                  j                  t        j                  j                  k  s|rt        t        j                  «      Šnt        | j                  «      Št        ‰d«      Šˆˆfd„}|S y )Nr*   c                 óš   •— t        j                  | j                  ‰«      }‰}t        | j                  «      D ]  \  }}||z  }|||<   Œ |S r-   rÁ   rÆ   s        €€r'   Úarray_cumprod_implz)array_cumprod.<locals>.array_cumprod_impl¥  rÊ   r&   rË   )r.   rÏ   rÐ   rÕ   r±   r”   s       @@r'   Úarray_cumprodrÖ   —  s”   ù€ ô �!”U—[‘[Ô!Ø—W‘W¤× 3Ñ 3Ð3ˆ
Ø—'‘'œUŸ[™[Ñ(ˆÙ˜1Ÿ7™7×+Ñ+¬e¯j©j×.AÑ.AÒAÙÜœUŸZ™ZÓ(‰Eä˜QŸW™WÓ%ˆEä" 5¨!Ó,ˆõ	ð "Ð!ð' "r&   Úmeanc                 ó&  ‡‡— t        | t        j                  t        j                  f«      rd„ }|S t        | t        j                  t        j
                  f«      r!t        | «      j                  d«      Šˆfd„}|S t        | t        j                  «      r{| j                  t        j                  t        t        j                  g«      z  v }|rt        t        j                  «      }nt        | j                  «      }t        |d«      Šˆfd„}|S y )Nc                 ó2   — t        j                  | «      dz   S )Nç        )rb   Úfloat64©r.   s    r'   Ú_scalar_meanz array_mean.<locals>._scalar_meanµ  s   € Ü—:‘:˜a“= 3Ñ&Ð&r&   r   c                 ó   •— | ‰z   S r-   r%   )r.   Ú
typed_zeros    €r'   rÝ   z array_mean.<locals>._scalar_mean»  s   ø€ Ø�z‘>Ð!r&   c                 ó€   •— ‰}t        j                  | «      D ]  }||j                  «       z  }Œ || j                  z  S r-   )rb   rc   rd   rÃ   r¶   s      €r'   Úarray_mean_implz#array_mean.<locals>.array_mean_implÇ  s>   ø€ ð ˆAÜ—Y‘Y˜q“\ò �Ø�Q—V‘V“X‘‘ðà�q—v‘v‘:Ðr&   )rU   r   ÚIntegerr¼   ÚFloatÚComplexr	   rƒ   rº   r”   Úinteger_domainÚ	frozensetrÍ   rÛ   r²   )r.   rÝ   Ú	is_numberr”   rá   r±   rß   s        @@r'   Ú
array_meanrè   °  sÊ   ù€ ô �!”e—m‘m¤U§]¡]Ð3Ô4ò	'àÐÜ	�AœŸ™¤U§]¡]Ð3Ô	4Ü˜a“[×%Ñ% aÓ(ˆ
ô	"àÐÜ	�A”u—{‘{Ô	#Ø—G‘Gœu×3Ñ3´iÄÇÁÀÓ6NÑNÐNˆ	ÙÜœUŸ]™]Ó+‰Eä˜QŸW™WÓ%ˆEä" 5¨!Ó,ˆô	ð ÐØr&   Úvarc                 óB   — t        | t        j                  «      rd„ }|S y )Nc                 óú   — | j                  «       }d}t        j                  | «      D ]C  }|j                  «       |z
  }|t        j                  |t        j
                  |«      z  «      z  }ŒE || j                  z  S ©Nr   )r×   rb   rc   rd   ÚrealÚconjrÃ   )r.   ÚmÚssdrg   Úvals        r'   Úarray_var_implz!array_var.<locals>.array_var_impl×  sj   € à—‘“ˆAð ˆCÜ—Y‘Y˜q“\ò 3�Ø—v‘v“x !‘|�Ø”r—w‘w˜s¤R§W¡W¨S£\Ñ1Ó2Ñ2‘ð3ð ˜Ÿ™‘<Ðr&   ©rU   r   rº   )r.   rò   s     r'   Ú	array_varrô   Ó  s$   € ô �!”U—[‘[Ô!ò		 ð Ðð "r&   Ústdc                 óB   — t        | t        j                  «      rd„ }|S y )Nc                 ó(   — | j                  «       dz  S ©Nç      à?)ré   rÜ   s    r'   Úarray_std_implz!array_std.<locals>.array_std_implé  s   € Ø—5‘5“7˜c‘>Ð!r&   ró   )r.   rú   s     r'   Ú	array_stdrû   å  s$   € ô �!”U—[‘[Ô!ò	"ð Ðð	 "r&   c                 ó   — | |k  S r-   r%   ©r.   Úmin_vals     r'   Úmin_comparatorrÿ   ï  ó   € àˆw‰;Ðr&   c                 ó   — | |kD  S r-   r%   rý   s     r'   Úmax_comparatorr  ô  r   r&   c                  ó   — y©NFr%   rÜ   s    r'   Úreturn_falser  ù  s   € àr&   Úminc                 ó@  ‡‡— t        | t        j                  t        j                  f«      rd„ }|S t        | t        j                  «      sy t        | j
                  t        j                  t        j                  f«      rt        j                  Št        Šn€t        | j
                  t        j                  «      rt        Šd„ }t        |«      ŠnGt        | j
                  t        j                  «      rt        j                  Št        Šnt        Št        Šˆˆfd„}|S )Nc                 ó   — | S r-   r%   rÜ   s    r'   Ú
scalar_minznpy_min.<locals>.scalar_min  ó   € ØˆHr&   c                 óž   — | j                   |j                   k  ry| j                   |j                   k(  r| j                  |j                  k  ryy©NTF©rí   Úimagrý   s     r'   Ú	comp_funcznpy_min.<locals>.comp_func  ó;   € Ø�v‰v˜Ÿ™Ò$ØØ—‘˜7Ÿ<™<Ò'Ø—6‘6˜GŸL™LÒ(ØØr&   c                 ó  •— | j                   dk(  rt        d«      ‚t        j                  | «      }t	        |«      j                  d«      } ‰|«      r|S |D ]*  }|j                  «       } ‰|«      r|c S  ‰||«      sŒ)|}Œ, |S )Nr   zDzero-size array to reduction operation minimum which has no identity©rÃ   r~   rb   rc   Únextr›   rd   )r.   ÚitÚ	min_valuer°   rg   Ú
comparatorÚpre_return_funcs        €€r'   Úimpl_minznpy_min.<locals>.impl_min!  ó�   ø€ Ø�6‰6�QŠ;Üð =ó >ð >ô �Y‰Y�q‹\ˆÜ˜“H—M‘M !Ó$ˆ	Ù˜9Ô%ØÐàò 	ˆDØ—	‘	“ˆAÙ˜qÔ!Ø’Ù˜!˜YÕ'Ø‘	ð	ð Ðr&   )rU   r   r»   r¼   rº   r”   Ú
NPDatetimeÚNPTimedeltarb   Úisnatrÿ   rä   r  r   rã   Úisnan)r.   r	  r  r  r  r  s       @@r'   Únpy_minr  þ  óÃ   ù€ ô
 �!”e—l‘l¤5§=¡=Ð1Ô2ò	àÐä�aœŸ™Ô%Øä�!—'‘'œE×,Ñ,¬e×.?Ñ.?Ð@ÔAÜŸ(™(ˆÜ#‰
Ü	�A—G‘GœUŸ]™]Ô	+Ü&ˆò	ô & iÓ0‰
Ü	�A—G‘GœUŸ[™[Ô	)ÜŸ(™(ˆÜ#‰
ä&ˆÜ#ˆ
õð$ €Or&   Úmaxc                 ó@  ‡‡— t        | t        j                  t        j                  f«      rd„ }|S t        | t        j                  «      sy t        | j
                  t        j                  t        j                  f«      rt        j                  Št        Šn€t        | j
                  t        j                  «      rt        Šd„ }t        |«      ŠnGt        | j
                  t        j                  «      rt        j                  Št        Šnt        Št        Šˆˆfd„}|S )Nc                 ó   — | S r-   r%   rÜ   s    r'   Ú
scalar_maxznpy_max.<locals>.scalar_max<  r
  r&   c                 óž   — | j                   |j                   kD  ry| j                   |j                   k(  r| j                  |j                  kD  ryyr  r  )r.   Úmax_vals     r'   r  znpy_max.<locals>.comp_funcI  r  r&   c                 ó  •— | j                   dk(  rt        d«      ‚t        j                  | «      }t	        |«      j                  d«      } ‰|«      r|S |D ]*  }|j                  «       } ‰|«      r|c S  ‰||«      sŒ)|}Œ, |S )Nr   zDzero-size array to reduction operation maximum which has no identityr  )r.   r  Ú	max_valuer°   rg   r  r  s        €€r'   Úimpl_maxznpy_max.<locals>.impl_maxY  r  r&   )rU   r   r»   r¼   rº   r”   r  r  rb   r  r  rä   r  r   rã   r  )r.   r#  r  r(  r  r  s       @@r'   Únpy_maxr)  6  r  r&   c                 óJ  — | j                   dk(  rt        d«      ‚t        j                  | «      }t	        |«      j                  d«      }d}t        j                  |«      r|S d}|D ]9  }|j                  «       }t        j                  |«      r|c S ||k  r|}|}|dz  }Œ; |S ©Nr   ú*attempt to get argmin of an empty sequencer*   ©rÃ   r~   rb   rc   r  r›   r  rd   )Úarryr  r  Úmin_idxrÈ   r°   rg   s          r'   Úarray_argmin_impl_datetimer0  n  óž   € à‡y�y�A‚~ÜÐEÓFÐFÜ	�‰�4‹€BÜ�R“—‘˜aÓ €IØ€GÜ	‡x�x�	ÔØˆà
€CØò ˆØ�I‰I‹KˆÜ�8‰8�AŒ;ØŠJØˆyŠ=ØˆIØˆGØˆq‰‰ðð €Nr&   c                 ó  — | j                   dk(  rt        d«      ‚| j                  D ]  }|}d} n t        j                  «      rS d}| j                  D ])  }t        j                  |«      r|c S ||k  r|}|}|dz  }Œ+ S r+  ©rÃ   r~   rÅ   rb   r  ©r.  rg   r  r/  rÈ   s        r'   Úarray_argmin_impl_floatr5  „  ó•   € à‡y�y�A‚~ÜÐEÓFÐFØ�Y‰Yò ˆØˆ	ØˆÙðô 
‡x�x�	ÔØˆà
€CØ�Y‰Yò ˆÜ�8‰8�AŒ;ØŠJØˆyŠ=ØˆIØˆGØˆq‰‰ðð €Nr&   c                 ó¾   — | j                   dk(  rt        d«      ‚| j                  D ]  }|}d} n t        d«      ‚d}| j                  D ]  }||k  r|}|}|dz  }Œ |S )Nr   r,  Úunreachabler*   )rÃ   r~   rÅ   ÚRuntimeErrorr4  s        r'   Úarray_argmin_impl_genericr:  š  s   € à‡y�y�A‚~ÜÐEÓFÐFØ�Y‰Yò *ˆØˆ	ØˆÙð*ô
 ˜=Ó)Ð)à
€CØ�Y‰Yò ˆØˆyŠ=ØˆIØˆGØˆq‰‰ð	ð
 €Nr&   Úargminc                 ó   ‡— t        | j                  t        j                  t        j                  f«      rt
        Šn1t        | j                  t        j                  «      rt        Šnt        Št        |«      rdˆfd„	}|S t        | |‰«      }|S )Nc                 ó   •—  ‰| «      S r-   r%   ©r.   rZ   Úflatten_impls     €r'   Úarray_argmin_implz'array_argmin.<locals>.array_argmin_impl¹  ó   ø€ Ù “?Ð"r&   r-   )rU   r”   r   r  r  r0  rã   r5  r:  r   Ú%build_argmax_or_argmin_with_axis_impl)r.   rZ   r@  r?  s      @r'   Úarray_argminrC  ®  ów   ø€ ô �!—'‘'œE×,Ñ,¬e×.?Ñ.?Ð@ÔAÜ1‰Ü	�A—G‘GœUŸ[™[Ô	)Ü.‰ä0ˆä�4Ôõ	#ð Ðô BØˆt�\ó
Ðð Ðr&   c                 óJ  — | j                   dk(  rt        d«      ‚t        j                  | «      }t	        |«      j                  d«      }d}t        j                  |«      r|S d}|D ]9  }|j                  «       }t        j                  |«      r|c S ||kD  r|}|}|dz  }Œ; |S ©Nr   z*attempt to get argmax of an empty sequencer*   r-  )r.  r  r'  Úmax_idxrÈ   r°   rg   s          r'   Úarray_argmax_impl_datetimerH  Â  r1  r&   c                 ó  — | j                   dk(  rt        d«      ‚| j                  D ]  }|}d} n t        j                  «      rS d}| j                  D ])  }t        j                  |«      r|c S ||kD  r|}|}|dz  }Œ+ S rF  r3  ©r.  rg   r'  rG  rÈ   s        r'   Úarray_argmax_impl_floatrK  Ø  r6  r&   c                 ó¨   — | j                   dk(  rt        d«      ‚| j                  D ]  }|}d} n d}| j                  D ]  }|kD  r|}|}|dz  }Œ S rF  )rÃ   r~   rÅ   rJ  s        r'   Úarray_argmax_impl_genericrM  î  st   € à‡y�y�A‚~ÜÐEÓFÐFØ�Y‰Yò ˆØˆ	ØˆÙðð
 €CØ�Y‰Yò ˆØˆyŠ=ØˆIØˆGØˆq‰‰ð	ð
 €Nr&   c                 ó�   ‡‡‡— t        |d«       t        j                  Št        t	        | j
                  «      «      Šdˆˆˆfd„	}|S )z|
    Given a function that implements the logic for handling a flattened
    array, return the implementation function.
    rZ   c                 óÎ  •— |dk  r| j                   |z   }|dk  s|| j                   k\  rt        d«      ‚| j                   dk(  r ‰	| «      S ‰}t        || j                   dz
  «      D ]  }t        |||dz   «      }Œ t        || j                   dz
  |«      }| j	                  |«      }|j
                  d   }|j                  «       }|j                  | j                  k(  sJ ‚|j                  |z  dk(  sJ ‚t        j                  |j                  |z  ‰
«      }t        |j                  «      D ]  } ‰	|||z  |dz   |z   «      ||<   Œ |j                  |j
                  d d «      S )Nr   zaxis is out of boundsr*   éÿÿÿÿ)r}   r~   r3   r!   Ú	transposer€   ÚravelrÃ   rb   rÂ   Úreshape)r.   rZ   Útmpr/   Útranspose_indexÚtransposed_arrrï   ÚraveledrÇ   r?  rŸ   Útuple_buffers            €€€r'   Úimplz3build_argmax_or_argmin_with_axis_impl.<locals>.impl
  sf  ø€ Ø�!Š8Ø—6‘6˜D‘=ˆDà�!Š8�t˜qŸv™v’~ÜÐ4Ó5Ð5ð �6‰6�QŠ;Ù “?Ð"ð ˆÜ�t˜QŸV™V a™ZÓ(ò 	/ˆAÜ  Q¨¨A©Ó.‰Cð	/ä'¨¨Q¯V©V°a©Z¸Ó>ˆØŸ™ _Ó5ˆð × Ñ  Ñ$ˆØ ×&Ñ&Ó(ˆØ�|‰|˜qŸv™vÒ%Ð%Ð%Ø×"Ñ" QÑ&¨!Ò+Ð+Ð+Ü�h‰h�~×*Ñ*¨aÑ/°Ó7ˆÜ�s—x‘x“ò 	>ˆAÙ! '¨!¨a©%°°Q±¸!±Ð"<Ó=ˆC�ŠFð	>ð �{‰{˜>×/Ñ/°°Ð4Ó5Ð5r&   r-   )r   r   r5   Útupler3   r}   )r.   rZ   r?  rY  rŸ   rX  s     ` @@r'   rB  rB     s6   ú€ ô
 �T˜6Ô"Ü�J‰J€Eäœ˜qŸv™v›Ó'€L÷6ð> €Kr&   Úargmaxc                 ó   ‡— t        | j                  t        j                  t        j                  f«      rt
        Šn1t        | j                  t        j                  «      rt        Šnt        Št        |«      rdˆfd„	}|S t        | |‰«      }|S )Nc                 ó   •—  ‰| «      S r-   r%   r>  s     €r'   Úarray_argmax_implz'array_argmax.<locals>.array_argmax_impl7  rA  r&   r-   )rU   r”   r   r  r  rH  rã   rK  rM  r   rB  )r.   rZ   r^  r?  s      @r'   Úarray_argmaxr_  ,  rD  r&   Úallc                 ó    — t        | t        j                  t        j                  f«      rd„ }|S t        | t        j                  «      rd„ }|S y )Nc                 ó   — t        | «      S r-   ©ÚboolrÜ   s    r'   Ú
scalar_allznp_all.<locals>.scalar_allF  ó   € Ü˜“7ˆNr&   c                 ó\   — t        j                  | «      D ]  }|j                  «       rŒ y yr#   ra   ©r.   rg   s     r'   Úflat_allznp_all.<locals>.flat_allL  s*   € Ü—Y‘Y˜q“\ò !�Ø—v‘v•xÙ ð!ð r&   ©rU   r   r»   r¼   rº   )r.   re  ri  s      r'   Únp_allrk  @  sE   € ô
 �!”e—l‘l¤E§M¡MÐ2Ô3ò	àÐô �!”U—[‘[Ô!ò	ð
 ˆàr&   Fc                 óH  — t        j                  | «      }t        j                  |«      }|s|s|r|sy|r|r|syyt        j                  | «      st        j                  |«      r| |k(  S t        j                  | |z
  «      ||t        j                  |dz  «      z  z   kD  ryy)NFç      ð?T©rb   r  ÚisinfÚabs)Úa_vÚb_vÚrtolÚatolÚ	equal_nanÚ	a_v_isnanÚ	b_v_isnans          r'   Ú_allclose_scalarsrx  V  s�   € ä—‘˜“€IÜ—‘˜“€Iñ ™IÙ™yØñ ‘YÙØð ô �8‰8�CŒ=œBŸH™H SœMØ˜#‘:Ðä�6‰6�#˜‘)Ó˜t d¬R¯V©V°C¸#±IÓ->Ñ&>Ñ>Ò>Øàr&   Úallclosec                 ó(  — t        | «      st        d«      ‚t        |«      st        d«      ‚t        |t        t        j
                  f«      st        d«      ‚t        |t        t        j
                  f«      st        d«      ‚t        |t        t        j                  f«      st        d«      ‚t        | t        j                  «      }t        |t        j                  «      }|r
|r	 	 d
d„}|S |r
|s	 	 d
d„}|S |s
|r	 	 d
d„}	|	S |s|s	 	 d
d	„}
|
S y y )Nú)The first argument "a" must be array-likeú*The second argument "b" must be array-likeú2The third argument "rtol" must be a floating pointú3The fourth argument "atol" must be a floating pointú0The fifth argument "equal_nan" must be a booleanc                 ó"   — t        | ||||¬«      S )N©rs  rt  ru  )rx  ©r.   Úbrs  rt  ru  s        r'   Únp_allclose_impl_scalar_scalarz3np_allclose.<locals>.np_allclose_impl_scalar_scalarŠ  s   € ä$ Q¨°¸4Ø/8ô:ð :r&   c                 ó¢   — t        j                  |«      }t        j                  |«      D ]"  }t        | |j	                  «       |||¬«      rŒ" y y©Nr�  FT©rb   Úasarrayrc   rx  rd   )r.   rƒ  rs  rt  ru  Úbvs         r'   Únp_allclose_impl_scalar_arrayz2np_allclose.<locals>.np_allclose_impl_scalar_array�  sG   € ä—
‘
˜1“ˆAÜ—i‘i “lò !�Ü(¨¨B¯G©G«I¸DÀtØ3<ö>á ð!ð r&   c                 ó¢   — t        j                  | «      } t        j                  | «      D ]"  }t        |j	                  «       ||||¬«      rŒ" y yr†  r‡  )r.   rƒ  rs  rt  ru  Úavs         r'   Únp_allclose_impl_array_scalarz2np_allclose.<locals>.np_allclose_impl_array_scalarš  sG   € ä—
‘
˜1“ˆAÜ—i‘i “lò !�Ü(¨¯©«°A¸DÀtØ3<ö>á ð!ð r&   c                 ó$  — t        j                  | «      } t        j                  |«      }t        j                  | |«      \  }}t        j                  ||f«      D ]3  \  }}t	        |j                  «       |j                  «       |||¬«      rŒ3 y yr†  )rb   rˆ  Úbroadcast_arraysrc   rx  rd   )	r.   rƒ  rs  rt  ru  Úa_aÚb_brŒ  r‰  s	            r'   Únp_allclose_impl_array_arrayz1np_allclose.<locals>.np_allclose_impl_array_array¤  sz   € ä—
‘
˜1“ˆAÜ—
‘
˜1“ˆAÜ×*Ñ*¨1¨aÓ0‰HˆC�äŸ)™) S¨# JÓ/ò !‘��BÜ(¨¯©«°B·G±G³IÀDØ.2¸iöIá ð!ð
 r&   ©gñhãˆµøä>g:Œ0âŽyE>F)	r
   r   rU   Úfloatr   rã   rd  r¼   r»   )r.   rƒ  rs  rt  ru  Úis_a_scalarÚis_b_scalarr„  rŠ  r�  r’  s              r'   Únp_allcloser—  p  s(  € ô ˜AÔÜÐEÓFÐFä˜AÔÜÐFÓGÐGä�dœU¤E§K¡KÐ0Ô1Üð +ó ,ð 	,ô �dœU¤E§K¡KÐ0Ô1Üð +ó ,ð 	,ô �i¤$¬¯©Ð!6Ô7Üð $ó %ð 	%ô ˜Q¤§¡Ó-€KÜ˜Q¤§¡Ó-€Ká‘{ØBGØ5:ó	:ð .Ð-Ù	™[ØAFØ49ó	ð -Ð,Ù™[ØAFØ49ó	ð -Ð,Ù¡Ø@EØ38ó	ð ,Ð+ð "-ˆ[r&   Úanyc                 ó    — t        | t        j                  t        j                  f«      rd„ }|S t        | t        j                  «      rd„ }|S y )Nc                 ó   — t        | «      S r-   rc  rÜ   s    r'   Ú
scalar_anyznp_any.<locals>.scalar_any¹  rf  r&   c                 ó\   — t        j                  | «      D ]  }|j                  «       sŒ y yr  ra   rh  s     r'   Úflat_anyznp_any.<locals>.flat_any¿  s*   € Ü—Y‘Y˜q“\ò  �Ø—6‘6•8Ùð ð r&   rj  )r.   r›  r�  s      r'   Únp_anyrž  ´  sE   € ô �!”e—l‘l¤E§M¡MÐ2Ô3ò	àÐô �!”U—[‘[Ô!ò	ð
 ˆàr&   c                 ó–   — |� t        |t        j                  «      sdd„}|S |�t        |t        j                  «      rdd„}|S dd„}|S )Nc                 ó   — t        d«      ‚)Nz)Numba does not support average with axis.)Ú	TypeError)r.   rZ   Úweightss      r'   Únp_average_implz#np_average.<locals>.np_average_implÌ  s   € ÜÐGÓHÐHr&   c                 óV   — t        j                  | «      }t        j                  |«      S r-   )rb   rˆ  r×   )r.   rZ   r¢  re   s       r'   r£  z#np_average.<locals>.np_average_implÐ  s   € Ü—j‘j “m�Ü—w‘w˜s“|Ð#r&   c                 ób  — t        j                  | «      }t        j                  |«      }|j                  |j                  k7  r|j                  dk7  rt	        d«      ‚t        j
                  |«      }|dk(  rt        d«      ‚t        j
                  t        j                  ||«      «      |z  }|S )Nr*   z81D weights expected when shapes of a and weights differ.rÚ   z)Weights sum to zero, can't be normalized.)rb   rˆ  r€   r}   r¡  ÚsumÚZeroDivisionErrorÚmultiply)r.   rZ   r¢  re   ÚsclÚavgs         r'   r£  z#np_average.<locals>.np_average_implÔ  s˜   € Ü—j‘j “m�ÜŸ*™* WÓ-�à—9‘9 §¡Ò-Ø—|‘| qÒ(Ü'ð4ó5ð 5ô —f‘f˜W“o�Ø˜#’:Ü+ØCóEð Eô —f‘fœRŸ[™[¨¨gÓ6Ó7¸#Ñ=�Ø�
r&   ©NN)rU   r   ÚNoneType)r.   rZ   r¢  r£  s       r'   Ú
np_averager­  É  sQ   € àÐ¤
¨4´·±Ô @ó	Ið4 Ðð/ ˆ?œj¨´%·.±.ÔAó$ð, Ðó%ð$ Ðr&   c                 ó’   — t        | t        j                  t        j                  f«      rt        j
                  S t        d„ «       }|S )z$
    A generic isnan() function
    c                  ó   — yr  r%   ©Úxs    r'   Ú_trivial_isnanz!get_isnan.<locals>._trivial_isnanð  s   € àr&   )rU   r   rã   rä   rb   r  r   )r”   r²  s     r'   Ú	get_isnanr³  é  s<   € ô �%œ%Ÿ+™+¤u§}¡}Ð5Ô6Ü�x‰xˆä	ñ	ó 
ð	àÐr&   c                 ó    — t        | «      rd„ S y )Nc                 óF   — t        j                  | «      j                  dk7  S rì   ©rb   rˆ  r  r°  s    r'   ú<lambda>znp_iscomplex.<locals>.<lambda>ú  ó   € œŸ™ A›×+Ñ+¨qÑ0€ r&   ©r
   r°  s    r'   Únp_iscomplexrº  ö  ó   € ä˜Ôá0Ð0Ør&   c                 ó    — t        | «      rd„ S y )Nc                 óF   — t        j                  | «      j                  dk(  S rì   r¶  r°  s    r'   r·  znp_isreal.<locals>.<lambda>  r¸  r&   r¹  r°  s    r'   Ú	np_isrealr¾  þ  r»  r&   c                 ó  ‡— t        | «      }t        | t        j                  «      rt        | j                  «      }t        j                  |t
        j                  «      Št        | t        j                  «      rˆfd„}|S ˆfd„}|S )Nc                 ó   •— | €y‰S r  r%   ©r±  Úiscmplxs    €r'   rY  ziscomplexobj.<locals>.impl  s   ø€ ØˆyØØˆNr&   c                 ó   •— ‰S r-   r%   rÁ  s    €r'   rY  ziscomplexobj.<locals>.impl  s   ø€ ØˆNr&   )Údetermine_dtyperU   r   ÚOptionalrƒ   rb   Ú
issubdtypeÚcomplexfloating)r±  ÚdtrY  rÂ  s      @r'   ÚiscomplexobjrÉ    se   ø€ ô 
˜Ó	€BÜ�!”U—^‘^Ô$Ü˜QŸV™VÓ$ˆÜ�m‰m˜B¤× 2Ñ 2Ó3€Gä�!”U—^‘^Ô$ô	ð €Kô	à€Kr&   c                 ó   — d„ }|S )Nc                 ó.   — t        j                  | «       S r-   )rb   rÉ  r°  s    r'   rY  zisrealobj.<locals>.impl  s   € Ü—?‘? 1Ó%Ð%Ð%r&   r%   ©r±  rY  s     r'   Ú	isrealobjrÍ    s   € ò
&à€Kr&   c                 ó(   ‡— t        | «      Šˆfd„}|S )Nc                 ó   •— ‰S r-   r%   )Úelementrt   s    €r'   rY  znp_isscalar.<locals>.impl(  s   ø€ Øˆ
r&   )r   )rÐ  rY  rt   s     @r'   Únp_isscalarrÑ  $  s   ø€ ä
˜Ó
!€Côà€Kr&   c                 ó:   ‡— t        |«      rdˆfd„	}|S dˆfd„	}|S )Nc                 óˆ   •— t        j                  t        j                  | «       ‰t        j                  | «      «      «      S r-   ©rb   Úlogical_andro  Úsignbit©r±  rÇ   Úfns     €r'   rY  zis_np_inf_impl.<locals>.impl1  s)   ø€ Ü—>‘>¤"§(¡(¨1£+©r´"·*±*¸Q³-Ó/@ÓAÐAr&   c                 óŠ   •— t        j                  t        j                  | «       ‰t        j                  | «      «      |«      S r-   rÔ  r×  s     €r'   rY  zis_np_inf_impl.<locals>.impl4  s+   ø€ Ü—>‘>¤"§(¡(¨1£+©r´"·*±*¸Q³-Ó/@À#ÓFÐFr&   r-   ©r   )r±  rÇ   rØ  rY  s     ` r'   Úis_np_inf_implrÛ  -  s'   ø€ ô �3Ôõ	Bð €Kõ	Gð €Kr&   c                 ó4   — t        d„ «      }t        | ||«      S )Nc                 ó   — | S r-   r%   r°  s    r'   r·  zisneginf.<locals>.<lambda><  s   €  A€ r&   ©r   rÛ  r×  s      r'   Úisneginfrß  :  s   € ä	™+Ó	&€BÜ˜!˜S "Ó%Ð%r&   c                 ó4   — t        d„ «      }t        | ||«      S )Nc                 ó   — |  S r-   r%   r°  s    r'   r·  zisposinf.<locals>.<lambda>B  s   €  Q B€ r&   rÞ  r×  s      r'   Úisposinfrâ  @  s   € ä	™,Ó	'€BÜ˜!˜S "Ó%Ð%r&   c                 ó   — | |k  S r-   r%   ©r.   rƒ  s     r'   Ú	less_thanrå  F  ó   € àˆq‰5€Lr&   c                 ó   — | |kD  S r-   r%   rä  s     r'   Úgreater_thanrè  K  ræ  r&   c                 ó8   — | j                   dk(  rt        d«      ‚y )Nr   z3zero-size array to reduction operation not possible)rÃ   r~   rÜ   s    r'   Úcheck_arrayrê  P  s   € à‡v�v�‚{ÜÐNÓOÐOð r&   c                 ó$   ‡ — |rˆ fd„}|S ˆ fd„}|S )Nc                 ó
  •— t        j                  | «      }t        |«       t        j                  |«      }t	        |«      j                  d«      }|D ]­  }|j                  «       }t        j                  |j                  «      r"t        j                  |j                  «      s|}ŒT ‰|j                  |j                  «      r|}Œt|j                  |j                  k(  sŒŽ ‰|j                  |j                  «      sŒ¬|}Œ¯ |S rì   )
rb   rˆ  rê  rc   r  r›   rd   r  rí   r  ©r.   re   r  Ú
return_valr°   rg   Úcomparison_ops         €r'   rY  z!nan_min_max_factory.<locals>.implX  s»   ø€ Ü—*‘*˜Q“-ˆCÜ˜ÔÜ—‘˜3“ˆBÜ˜b›Ÿ™ qÓ)ˆJØò 	+�Ø—I‘I“K�Ü—8‘8˜JŸO™OÔ,´R·X±X¸a¿f¹fÔ5EØ!"‘Já$ Q§V¡V¨Z¯_©_Ô=Ø%&™
ØŸ™ :§?¡?Ó2Ù(¨¯©°·±ÕAØ)*™Jð	+ð Ðr&   c                 ó  •— t        j                  | «      }t        |«       t        j                  |«      }t	        |«      j                  d«      }|D ]4  }|j                  «       }t        j                  |«      rŒ) ‰||«      rŒ3|}Œ6 |S rì   )rb   rˆ  rê  rc   r  r›   rd   r  rí  s         €r'   rY  z!nan_min_max_factory.<locals>.impli  ss   ø€ Ü—*‘*˜Q“-ˆCÜ˜ÔÜ—‘˜3“ˆBÜ˜b›Ÿ™ qÓ)ˆJØò '�Ø—I‘I“K�Ü—x‘x •{Ù(¨°QÕ7Ø%&™
ð	'ð
 Ðr&   r%   )rï  Úis_complex_dtyperY  s   `  r'   Únan_min_max_factoryrò  V  s   ø€ Ùô	ð: €Kô
	ð €Kr&   )rñ  Tc                 óZ  — t        j                  | «      rt        j                  |«      r|S t        j                  | «      r t        j                  |«      r| dkD  |dkD  k(  S t        j                  | «      st        j                  |«      ryt        | |z
  «      ||t        |«      z  z   k  S )Nr   Frn  )r±  Úyrs  rt  ru  s        r'   Ú_isclose_itemrõ  †  s}   € ä	‡x�x�„{”r—x‘x ”{ØÐÜ	�‰�!ŒœŸ™ !œØ�A‘˜1˜q™5Ñ!Ð!Ü	�‰�!ŒœŸ™ œØä�1�q‘5‹z˜T D¬3¨q«6¡MÑ1Ñ1Ð1r&   c                 óÄ  — t        | «      st        d«      ‚t        |«      st        d«      ‚t        |t        t        j
                  f«      st        d«      ‚t        |t        t        j
                  f«      st        d«      ‚t        |t        t        j                  f«      st        d«      ‚t        | t        j                  «      r t        |t        j                  «      rd
d„}|S t        | t        j                  «      r t        |t        j                  «      rd
d„}|S t        | t        j                  «      r t        |t        j                  «      rd
d„}|S d
d	„}|S )Nr{  r|  r}  r~  r  c                 ó  — | j                  d«      }|}t        j                  t        |«      t        j                  «      }t        t        |«      «      D ]  }t        ||   ||||«      ||<   Œ |j                  | j                  «      S ©NrP  ©rS  rb   ÚzerosrF   rÍ   r3   rõ  r€   ©	r.   rƒ  rs  rt  ru  r±  rô  rÇ   r/   s	            r'   Úisclose_implzisclose.<locals>.isclose_impl§  sr   € Ø—	‘	˜"“ˆAØˆAÜ—(‘(œ3˜q›6¤2§8¡8Ó,ˆCÜœ3˜s›8“_ò G�Ü& q¨¡t¨Q°°d¸IÓF��A’ðGà—;‘;˜qŸw™wÓ'Ð'r&   c                 ó  — | }|j                  d«      }t        j                  t        |«      t        j                  «      }t        t        |«      «      D ]  }t        |||   |||«      ||<   Œ |j                  |j                  «      S rø  rù  rû  s	            r'   rü  zisclose.<locals>.isclose_impl°  sr   € ØˆAØ—	‘	˜"“ˆAÜ—(‘(œ3˜q›6¤2§8¡8Ó,ˆCÜœ3˜s›8“_ò G�Ü& q¨!¨A©$°°d¸IÓF��A’ðGà—;‘;˜qŸw™wÓ'Ð'r&   c                 óè  — t        j                  | j                  |j                  «      }t        j                  | |«      }t        j                  ||«      }t        j                  t        |«      t         j                  ¬«      }t        t        j                  ||f«      «      D ]6  \  }	\  }
}t        |
j                  «       |j                  «       |||«      ||	<   Œ8 t        j                  ||«      S ©N©r”   )rb   Úbroadcast_shapesr€   Úbroadcast_torú  rF   rÍ   rÄ   rc   rõ  rd   )r.   rƒ  rs  rt  ru  r€   Úa_Úb_rÇ   r/   rŒ  r‰  s               r'   rü  zisclose.<locals>.isclose_impl¹  sµ   € Ü×'Ñ'¨¯©°·±Ó9ˆEÜ—‘  EÓ*ˆBÜ—‘  EÓ*ˆBä—(‘(œ3˜r›7¬"¯(©(Ô3ˆCÜ(¬¯©°B¸°8Ó)<Ó=ò 2‘�‘8�B˜Ü& r§w¡w£y°"·'±'³)¸TÀ4Ø'0ó2��A’ð2ô —?‘? 3¨Ó.Ð.r&   c                 ó    — t        | ||||«      S r-   )rõ  r‚  s        r'   rü  zisclose.<locals>.isclose_implÅ  s   € Ü   A t¨T°9Ó=Ð=r&   r“  )
r
   r   rU   r”  r   rã   rd  r¼   rº   r»   )r.   rƒ  rs  rt  ru  rü  s         r'   Úiscloser  ’  s)  € ä˜AÔÜÐEÓFÐFä˜AÔÜÐFÓGÐGä�dœU¤E§K¡KÐ0Ô1Üð +ó ,ð 	,ô �dœU¤E§K¡KÐ0Ô1Üð +ó ,ð 	,ô �i¤$¬¯©Ð!6Ô7Üð $ó %ð 	%ô �!”U—[‘[Ô!¤j°´E·L±LÔ&Aó	(ðB Ðô3 
�A”u—|‘|Ô	$¬°A´u·{±{Ô)Có	(ð0 Ðô! 
�A”u—{‘{Ô	#¬
°1´e·k±kÔ(Bó		/ð Ðó	>ð Ðr&   c                 óx   — t        | «      }t        j                  |t        j                  «      rt        S t
        S r-   )rÄ  rb   rÆ  rÇ  Úcomplex_nanminÚreal_nanmin©r.   rÈ  s     r'   Ú	np_nanminr  Ë  ó,   € ä	˜Ó	€BÜ	‡}�}�Rœ×+Ñ+Ô,ÜÐäÐr&   c                 óx   — t        | «      }t        j                  |t        j                  «      rt        S t
        S r-   )rÄ  rb   rÆ  rÇ  Úcomplex_nanmaxÚreal_nanmaxr
  s     r'   Ú	np_nanmaxr  Ô  r  r&   c                 ór   ‡— t        | t        j                  «      sy t        | j                  «      Šˆfd„}|S )Nc                 óÎ   •— d}d}t        j                  | «      D ]3  }|j                  «       } ‰|«      rŒ||j                  «       z  }|dz  }Œ5 t        j                  ||«      S ©NrÚ   r   r*   )rb   rc   rd   Údivide)r.   rf   Úcountr°   rg   r  s        €r'   Únanmean_implz np_nanmean.<locals>.nanmean_implã  sa   ø€ ØˆØˆÜ—I‘I˜a“Lò 	ˆDØ—	‘	“ˆAÙ˜•8Ø�Q—V‘V“X‘�Ø˜‘
‘ð		ô �y‰y˜˜EÓ"Ð"r&   ©rU   r   rº   r³  r”   )r.   r  r  s     @r'   Ú
np_nanmeanr  Ý  s/   ø€ ä�aœŸ™Ô%ØÜ�a—g‘gÓ€Eô	#ð Ðr&   c                 ór   ‡— t        | t        j                  «      sy t        | j                  «      Šˆfd„}|S )Nc                 óT  •— t        j                  | «      }d}d}t        j                  | «      D ]a  }|j                  «       } ‰|«      rŒ|j                  «       |z
  }|t        j                  |t        j
                  |«      z  «      z  }|dz  }Œc t        j                  ||«      S r  )rb   Únanmeanrc   rd   rí   rî   r  )r.   rï   rð   r  r°   rg   rñ   r  s          €r'   Únanvar_implznp_nanvar.<locals>.nanvar_impl÷  s�   ø€ ä�J‰J�q‹Mˆð ˆØˆÜ—I‘I˜a“Lò 	ˆDØ—	‘	“ˆAÙ˜•8Ø—v‘v“x !‘|�Ø”r—w‘w˜s¤R§W¡W¨S£\Ñ1Ó2Ñ2�Ø˜‘
‘ð	ô �y‰y˜˜eÓ$Ð$r&   r  )r.   r  r  s     @r'   Ú	np_nanvarr  ñ  s/   ø€ ä�aœŸ™Ô%ØÜ�a—g‘gÓ€Eô%ð  Ðr&   c                 óB   — t        | t        j                  «      sy d„ }|S )Nc                 ó2   — t        j                  | «      dz  S rø   )rb   ÚnanvarrÜ   s    r'   Únanstd_implznp_nanstd.<locals>.nanstd_impl  s   € Ü�y‰y˜‹|˜sÑ"Ð"r&   ró   )r.   r!  s     r'   Ú	np_nanstdr"  
  s    € ä�aœŸ™Ô%Øò#ð Ðr&   c                 ó  ‡‡— t        | t        j                  «      sy t        | j                  t        j                  «      rt        j
                  }n| j                  } |d«      Št        | j                  «      Šˆˆfd„}|S )Nr   c                 ó|   •— ‰}t        j                  | «      D ]   }|j                  «       } ‰|«      rŒ||z  }Œ" |S r-   ra   )r.   rf   r°   rg   r  rh   s       €€r'   Únansum_implznp_nansum.<locals>.nansum_impl   sA   ø€ ØˆÜ—I‘I˜a“Lò 	ˆDØ—	‘	“ˆAÙ˜•8Ø�Q‘‘ð	ð ˆr&   ©rU   r   rº   r”   râ   r5   r³  )r.   rŸ   r%  r  rh   s      @@r'   Ú	np_nansumr'    s\   ù€ ä�aœŸ™Ô%ØÜ�!—'‘'œ5Ÿ=™=Ô)Ü—
‘
‰à—‘ˆÙ�‹8€DÜ�a—g‘gÓ€Eõð Ðr&   c                 ó  ‡‡— t        | t        j                  «      sy t        | j                  t        j                  «      rt        j
                  }n| j                  } |d«      Št        | j                  «      Šˆˆfd„}|S )Nr*   c                 ó|   •— ‰}t        j                  | «      D ]   }|j                  «       } ‰|«      rŒ||z  }Œ" |S r-   ra   )r.   rf   r°   rg   r  Úones       €€r'   Únanprod_implz np_nanprod.<locals>.nanprod_impl6  sA   ø€ ØˆÜ—I‘I˜a“Lò 	ˆDØ—	‘	“ˆAÙ˜•8Ø�Q‘‘ð	ð ˆr&   r&  )r.   rŸ   r+  r  r*  s      @@r'   Ú
np_nanprodr,  +  s\   ù€ ä�aœŸ™Ô%ØÜ�!—'‘'œ5Ÿ=™=Ô)Ü—
‘
‰à—‘ˆÙ
�‹(€CÜ�a—g‘gÓ€Eõð Ðr&   c                 óü   ‡‡‡— t        | t        j                  «      sy t        | j                  t        j                  t        j
                  f«      rd„ S | j                  Št        ‰«      Š ‰d«      Šˆˆˆfd„}|S )Nc                 ó,   — t        j                  | «      S r-   )rb   rÒ   rÜ   s    r'   r·  znp_nancumprod.<locals>.<lambda>H  s   € œŸ™ A›€ r&   r*   c                 ó¬   •— t        j                  | j                  ‰«      }‰}t        | j                  «      D ]  \  }} ‰|«       r||z  }|||<   Œ |S r-   rÁ   )r.   rÇ   rf   rÈ   rg   Úis_nanr*  rŸ   s        €€€r'   Únancumprod_implz&np_nancumprod.<locals>.nancumprod_implN  sZ   ø€ Ü—(‘(˜1Ÿ6™6 5Ó)ˆCØˆAÜ# A§F¡FÓ+ò ‘��QÙ˜1“I‘:Ø˜‘F�AØ��C’ðð ˆJr&   ©rU   r   rº   r”   r¼   râ   r³  )r.   r1  r0  r*  rŸ   s     @@@r'   Únp_nancumprodr3  A  s^   ú€ ä�aœŸ™Ô%Øä�!—'‘'œEŸM™M¬5¯=©=Ð9Ô:á&Ð&à—‘ˆÜ˜5Ó!ˆÙ�A‹hˆö	ð Ðr&   c                 óü   ‡‡‡— t        | t        j                  «      sy t        | j                  t        j                  t        j
                  f«      rd„ S | j                  Št        ‰«      Š ‰d«      Šˆˆˆfd„}|S )Nc                 ó,   — t        j                  | «      S r-   )rb   r¾   rÜ   s    r'   r·  znp_nancumsum.<locals>.<lambda>a  s   € œŸ™ 1›€ r&   r   c                 ó¬   •— t        j                  | j                  ‰«      }‰}t        | j                  «      D ]  \  }} ‰|«       r||z  }|||<   Œ |S r-   rÁ   )r.   rÇ   rf   rÈ   rg   r0  rŸ   rh   s        €€€r'   Únancumsum_implz$np_nancumsum.<locals>.nancumsum_implg  sZ   ø€ Ü—(‘(˜1Ÿ6™6 5Ó)ˆCØˆAÜ# A§F¡FÓ+ò ‘��QÙ˜1“I‘:Ø˜‘F�AØ��C’ðð ˆJr&   r2  )r.   r7  r0  rŸ   rh   s     @@@r'   Únp_nancumsumr8  Z  s^   ú€ ä�aœŸ™Ô%Øä�!—'‘'œEŸM™M¬5¯=©=Ð9Ô:á%Ð%à—‘ˆÜ˜5Ó!ˆÙ�Q‹xˆö	ð Ðr&   c                 óN   — t        | «      }t        |«      dk(  rt        d«      ‚|S )Nr   z&zero-size array reduction not possible)Ú_asarrayrF   r~   ©r.   re   s     r'   Úprepare_ptp_inputr<  s  s'   € ä
�1‹+€CÜ
ˆ3ƒx�1‚}ÜÐAÓBÐBàˆ
r&   c                 óT   ‡ — t        |t        j                  «      rˆ fd„}|S ˆ fd„}|S )Nc                 ó¶   •—  ‰|j                   | j                   «      r|S |j                   | j                   k(  r ‰|j                  | j                  «      r|S | S r-   r  ©Úcurrent_valrñ   r�   s     €r'   rY  z+_compute_current_val_impl_gen.<locals>.implƒ  sM   ø€ Ù�#—(‘(˜K×,Ñ,Ô-Ø�
Ø—(‘(˜k×.Ñ.Ò.Ù˜3Ÿ8™8 [×%5Ñ%5Ô6Ø�
ØÐr&   c                 ó   •—  ‰|| «      r|S | S r-   r%   r?  s     €r'   rY  z+_compute_current_val_impl_gen.<locals>.impl‹  s   ø€ Ù˜S +Ô.�3Ð?°KÐ?r&   )rU   r   rä   )r�   r@  rñ   rY  s   `   r'   Ú_compute_current_val_impl_genrB  |  s(   ø€ Ü�+œuŸ}™}Ô-ô	ð €Kô	@à€Kr&   c                  ó   — y r-   r%   ©r@  rñ   s     r'   Ú_compute_a_maxrE  �  ó   € Ør&   c                  ó   — y r-   r%   rD  s     r'   Ú_compute_a_minrH  ”  rF  r&   c                 ó8   — t        t        j                  | |«      S r-   )rB  ÚoperatorÚgtrD  s     r'   Ú_compute_a_max_implrL  ˜  ó   € ä(¬¯©°kÀ3ÓGÐGr&   c                 ó8   — t        t        j                  | |«      S r-   )rB  rJ  ÚltrD  s     r'   Ú_compute_a_min_implrP  �  rM  r&   c                  ó   — y r-   r%   ©rñ   s    r'   Ú_early_returnrS  ¢  rF  r&   c                 óš   ‡— dŠt        | t        j                  «      rˆfd„}|S t        | t        j                  «      rˆfd„}|S ˆfd„}|S )Nr   c                 óþ   •— t        j                  | j                  «      rZt        j                  | j                  «      r&dt         j                  t         j                  dz  z   fS dt         j                  dz   fS d‰fS )NTù              ð?y                F)rb   r  rí   r  Únan©rñ   ÚUNUSEDs    €r'   rY  z _early_return_impl.<locals>.implª  s\   ø€ Ü�x‰x˜Ÿ™Ô!Ü—8‘8˜CŸH™HÔ%Ø¤§¡¬"¯&©&°2©+Ñ!5Ð5Ð5à¤§¡¨"¡Ð,Ð,à˜f�}Ð$r&   c                 óZ   •— t        j                  | «      rdt         j                  fS d‰fS r  )rb   r  rW  rX  s    €r'   rY  z _early_return_impl.<locals>.impl³  s&   ø€ Ü�x‰x˜Œ}ØœRŸV™V�|Ð#à˜f�}Ð$r&   c                 ó   •— d‰fS r  r%   rX  s    €r'   rY  z _early_return_impl.<locals>.impl¹  s   ø€ Ø˜&�=Ð r&   )rU   r   rä   rã   )rñ   rY  rY  s     @r'   Ú_early_return_implr\  ¦  sH   ø€ à€FÜ�#”u—}‘}Ô%ô	%ð" €Kô 
�CœŸ™Ô	%ô	%ð €Kô	!à€Kr&   c                 ó‚   — t        | d«      r/t        | j                  t        j                  «      rt        d«      ‚d„ }|S )Nr”   ú+Boolean dtype is unsupported (as per NumPy)c                 óä   — t        | «      }|j                  }|d   }|d   }t        |j                  «      D ]3  }||   }t	        |«      \  }}|r|c S t        ||«      }t        ||«      }Œ5 ||z
  S rì   )r<  rÅ   r3   rÃ   rS  rE  rH  )	r.   re   Úa_flatÚa_minÚa_maxr/   rñ   Útake_branchÚretvals	            r'   Únp_ptp_implznp_ptp.<locals>.np_ptp_implÆ  s‚   € Ü Ó"ˆà—‘ˆØ�q‘	ˆØ�q‘	ˆä�s—x‘x“ò 	/ˆAØ˜‘)ˆCÜ"/°Ó"4ÑˆK˜ÙØ’Ü" 5¨#Ó.ˆEÜ" 5¨#Ó.‰Eð	/ð �u‰}Ðr&   )ÚhasattrrU   r”   r   r¼   r   )r.   re  s     r'   Únp_ptprg  ¾  s9   € ô ˆq�'ÔÜ�a—g‘gœuŸ}™}Ô-ÜÐKÓLÐLòð" Ðr&   )r|   r   Úptpc                 ód   — t        j                  | «      ryt        j                  |«      ry| |k  S r#   )rb   r  rä  s     r'   Únan_aware_less_thanrj  á  s'   € ä	‡x�x�„{Øä�8‰8�AŒ;Øà�q‘5ˆLr&   c                 ó   ‡ ‡— dˆˆ fd„	}|S )Nc                 óþ  •— ||z   dz	  } ‰	| |   | |   «      r$| |   | |   c| |<   | |<   ‰r||   ||   c||<   ||<    ‰	| |   | |   «      r$| |   | |   c| |<   | |<   ‰r||   ||   c||<   ||<    ‰	| |   | |   «      r$| |   | |   c| |<   | |<   ‰r||   ||   c||<   ||<   | |   }| |   | |   c| |<   | |<   ‰r||   ||   c||<   ||<   |}|dz
  }	 ||k  r# ‰	| |   |«      r|dz  }||k  r ‰	| |   |«      rŒ||k\  r# ‰	|| |   «      r|dz  }||k\  r ‰	|| |   «      rŒ||k\  rn/| |   | |   c| |<   | |<   ‰r||   ||   c||<   ||<   |dz  }|dz  }Œ…| |   | |   c| |<   | |<   ‰r||   ||   c||<   ||<   |S ©Nr*   r%   )
ÚAÚlowÚhighÚIÚmidÚpivotr/   ÚjÚargpartitionÚ	pivotimpls
           €€r'   Ú
_partitionz&_partition_factory.<locals>._partitioní  sG  ø€ Ø�T‰z˜aÑˆñ �Q�s‘V˜Q˜s™VÔ$Ø˜s™V Q s¡VˆNˆAˆc‰F�A�c‘FÙØ!" 3¡¨¨3©���#‘˜˜#™Ù�Q�t‘W˜a ™fÔ%Ø ™f a¨¡gˆOˆAˆd‰G�Q�s‘VÙØ"# C¡&¨!¨D©'���$‘˜˜3™Ù�Q�s‘V˜Q˜s™VÔ$Ø˜s™V Q s¡VˆNˆAˆc‰F�A�c‘FÙØ!" 3¡¨¨3©���#‘˜˜#™Ø�#‘ˆà˜C™& ! D¡'ˆˆˆ$‰��3‘ÙØ ™f a¨¡gˆOˆAˆd‰G�Q�s‘VØˆØ�1‰HˆØØ�d’(™y¨¨1©¨uÔ5Ø�Q‘�ð �d’(™y¨¨1©¨uÕ5à�s’(™y¨°°!±Ô5Ø�Q‘�ð �s’(™y¨°°!±Õ5à�AŠvØØ˜1™˜q ™tˆJˆAˆa‰D�!�A‘$ÙØ˜q™T 1 Q¡4�
��!‘�a˜‘dØ�‰FˆAØ�‰FˆAð ð ˜$™  1¡ˆˆˆ!‰ˆa�‰gÙØ˜d™G Q q¡TˆMˆAˆa‰D�!�D‘'Øˆr&   r-   r%   )rv  ru  rw  s   `` r'   Ú_partition_factoryrx  ì  s   ù€ ö,ðZ Ðr&   )ru  c                 ó   ‡ — dˆ fd„	}|S )Nc                 ó†   •—  ‰| |||«      }||k7  r,||k  r|dz   } ‰| |||«      }n|dz
  } ‰| |||«      }||k7  rŒ,| |   S )zJ
        Select the k'th smallest element in array[low:high + 1].
        r*   r%   )r.  Úkro  rp  rÈ   r/   Úpartitionimpls         €r'   Ú_selectz _select_factory.<locals>._select&  si   ø€ ñ ˜$  T¨3Ó/ˆØ�1ŠfØ�1ŠuØ˜!‘e�Ù! $¨¨T°3Ó7‘à˜1‘u�Ù! $¨¨T°3Ó7�ð �1‹fð �A‰wˆr&   r-   r%   )r|  r}  s   ` r'   Ú_select_factoryr~  %  s   ø€ õð €Nr&   c                 óÒ   — 	 ||kD  sJ ‚t        | ||«      }||k  r|dz   }n:||dz   kD  r|dz
  }n,||k(  rt        | |dz   |dz   |«       nt        | |||dz
  «       nŒZ| |   | |dz      fS )z©
    Select the k'th and k+1'th smallest elements in array[low:high + 1].

    This is significantly faster than doing two independent selections
    for k and k+1.
    r*   )rw  r}  )r.  r{  ro  rp  r/   s        r'   Ú_select_twor€  ;  s˜   € ð Ø�cŠzÐˆzÜ�t˜S $Ó'ˆØˆqŠ5Ø�a‘%‰CØ��Q‘ŠYØ�q‘5‰DØ�!ŠVÜ�D˜!˜a™%  Q¡¨Ô-Øä�D˜!˜S ! a¡%Ô(Øð ð �‰7�D˜˜Q™‘KÐÐr&   c                 ó~   — d}|dz
  }|dz	  }|dz  dk(  rt        | |dz
  ||«      \  }}||z   dz  S t        | |||«      S )zt
    The main logic of the median() call.  *temp_arry* must be disposable,
    as this function will mutate it.
    r   r*   r|   )r€  r}  )Ú	temp_arryÚnro  rp  Úhalfr.   rƒ  s          r'   Ú_median_innerr…  T  s]   € ð €CØˆq‰5€DØ�‰6€DØˆ1�u�‚zÜ˜9 d¨Q¡h°°TÓ:‰ˆˆ1Ø�A‘˜‰{Ðä�y $¨¨TÓ2Ð2r&   c                 óŠ   ‡— t        | t        j                  «      sy t        | j                  «      j
                  dv Šˆfd„}|S )NÚmMc                 óˆ   •— | j                  «       }|j                  d   }‰s|dk(  rt        j                  S t	        ||«      S rì   )Úflattenr€   rb   rW  r…  )r.   r‚  rƒ  Úis_datetimes      €r'   Úmedian_implznp_median.<locals>.median_implk  s=   ø€ ð —I‘I“Kˆ	Ø�O‰O˜AÑˆÙ˜q AšvÜ—6‘6ˆMÜ˜Y¨Ó*Ð*r&   )rU   r   rº   r	   r”   Úchar)r.   r‹  rŠ  s     @r'   Ú	np_medianr�  d  s:   ø€ ä�aœŸ™Ô%Øä˜1Ÿ7™7Ó#×(Ñ(¨DÐ0€Kô+ð Ðr&   c                 óØ  — t        | «      }|dk(  r4t        j                  t        |«      | d   t        j                  ¬«      }|S t        j                  t        |«      t        j                  ¬«      }t        t        |«      «      D �]ß  }||   }|dk(  rht        j                  | «      }t        j                  t        j                  | «      «       �rŽt        j                  |«       �rwt        j                  }�ne|dk(  røt        j                  | «      }t        j                  t        j                  | «      «       �r!t        j                  | t        j                  k(  «      }t        j                  | t        j                   k(  «      }|||z   z
  }	|	dk(  rt        j                  }|dk(  r|dk(  rt        j                  }|dkD  rt        j                  }|	dk(  rƒ|dkD  r~|dk7  ryt        j                  }nhd|dz
  t        j                  |d«      z  z   }
t        j                  |
«      }|
|z
  }t!        | t#        |dz
  «      d|dz
  ¬«      \  }}|d|z
  z  ||z  z   }|||<   �Œâ |S )Nr*   r   r   éd   r|   ç      Y@)r{  ro  rp  )rF   rb   r‚   rÛ   rÂ   r3   r   r`  ÚisfiniterW  r  r¦  ÚinfÚtrue_divideÚmathÚfloorr€  Úint)r.   Úqrƒ  rÇ   r/   Ú
percentilerñ   Únum_pos_infÚnum_neg_infÚ
num_finiteÚrankÚfrï   ÚlowerÚuppers                  r'   Ú_collect_percentiles_innerr   v  sú  € ô 	ˆA‹€AàˆA‚vä�g‰g”c˜!“f˜a ™d¬"¯*©*Ô5ˆðT €JôQ �h‰h”s˜1“v¤R§Z¡ZÔ0ˆÜ”s˜1“v“ó %	ˆAØ˜1™ˆJð ˜SÒ Ü—f‘f˜Q“i�ä—F‘Fœ2Ÿ;™; q›>Ó*Ò*ÜŸ™ CÓ(Ò(Ü Ÿf™fšð ˜q’Ü—f‘f˜Q“i�ä—F‘Fœ2Ÿ;™; q›>Ó*Ò*Ü"$§&¡&¨¬b¯f©f©Ó"5�KÜ"$§&¡&¨¬r¯v©v¨g©Ó"6�KØ!" k°KÑ&?Ñ!@�JØ! Q’Ü Ÿf™f˜Ø" aÒ'¨A°ªFÜ Ÿf™f˜Ø" Q’Ü Ÿf™f˜Ø! Q’Ø&¨š?Ø*¨aÒ/Ü&(§f¡f¡ð ˜A ™E¤R§^¡^°JÀÓ%FÑFÑF�Ü—J‘J˜tÓ$�Ø˜1‘H�Ü*¨1´°A¸±E³
ÀÈÈQÉÔP‘��uØ˜q 1™u‘o¨°©	Ñ1�ØˆC�‹FðK%	ðN €Jr&   c                 ó®   — |r| |    } t        | «      dk(  ryt        j                  |«      ryt        | «      dk(  r| d   }t        j                  |«      S y)Nr   Fr*   T)rF   rb   r˜  r‘  )r.   Únan_maskÚskip_nanrñ   s       r'   Ú_can_collect_percentilesr¤  «  sS   € áØˆxˆi‰LˆÜˆq‹6�QŠ;Øä�6‰6�(ÔØä
ˆ1ƒv�‚{Ø�‰dˆÜ�{‰{˜3ÓÐàr&   c                 óŒ  — d}| j                   dk(  rX| j                  dk  rIt        | j                  «      D ]/  }| |   dk  s!| |   |kD  st        j                  | |   «      sŒ,d} |S  |S t        j
                  t        j                  | «      «      s0t        j
                  | dk  «      st        j
                  | |kD  «      rd}|S )NTr*   é
   rÚ   F)r}   rÃ   r3   rb   r  r˜  )r—  Úq_upper_boundÚvalidr/   s       r'   Úcheck_validr©  ¼  s­   € à€Eð 	‡v�v�‚{�q—v‘v ’{Ü�q—v‘v“ò 	ˆAØ�‰t�cŠz˜Q˜q™T MÒ1´R·X±X¸aÀ¹dµ^Ø�Øð
 €Lð	ð €Lô �6‰6”"—(‘(˜1“+Ô¤"§&¡&¨¨S©¤/´R·V±V¸AÀÑ<MÔ5NØˆEà€Lr&   c                 ó4   — t        | d¬«      st        d«      ‚y )Nr�  ©r§  z)Percentiles must be in the range [0, 100]©r©  r~   ©r—  s    r'   Úpercentile_is_validr®  Í  s   € ä�q¨Õ.ÜÐDÓEÐEð /r&   c                 ó4   — t        | d¬«      st        d«      ‚y )Nrm  r«  z%Quantiles must be in the range [0, 1]r¬  r­  s    r'   Úquantile_is_validr°  Ó  s   € ä�q¨Õ,ÜÐ@ÓAÐAð -r&   c                 ó²  — t        j                  |t         j                  ¬«      j                  «       } ||«       ||z  }t        j                  | t         j                  ¬«      j                  «       }t        j                  |«      }t        |||«      r||    }t        ||«      }|S t        j                  t        |«      t         j                  «      }|S rÿ  )
rb   rˆ  rÛ   r‰  r  r¤  r   r‚   rF   rW  )r.   r—  Úcheck_qÚfactorr£  r‚  r¢  rÇ   s           r'   Ú_collect_percentilesr´  Ù  s¤   € ä
�
‰
�1œBŸJ™JÔ'×/Ñ/Ó1€AÙˆA„JØ	ˆF‰
€Aä—
‘
˜1¤B§J¡JÔ/×7Ñ7Ó9€IÜ�x‰x˜	Ó"€Hä 	¨8°XÔ>Ø˜x˜iÑ(ˆ	Ü(¨°AÓ6ˆð €Jô �g‰g”c˜!“fœbŸf™fÓ%ˆà€Jr&   c                 óJ  ‡‡‡— t        | «      }t        j                  |t        j                  «      rt	        d«      ‚ˆˆˆfd„}ˆˆˆfd„}t        |t        j                  t        j                  f«      r|S t        |t        j                  «      r|j                  dk(  r|S |S )zª
    The underlying algorithm to find percentiles and quantiles
    is the same, hence we converge onto the same code paths
    in this inner function implementation
    zNot supported for complex dtypec                 ó(   •— t        | |‰‰‰«      d   S rì   ©r´  ©r.   r—  r²  r³  r£  s     €€€r'   Únp_percentile_q_scalar_implz?_percentile_quantile_inner.<locals>.np_percentile_q_scalar_impl÷  s   ø€ Ü# A q¨'°6¸8ÓDÀQÑGÐGr&   c                 ó"   •— t        | |‰‰‰«      S r-   r·  r¸  s     €€€r'   Únp_percentile_implz6_percentile_quantile_inner.<locals>.np_percentile_implú  s   ø€ Ü# A q¨'°6¸8ÓDÐDr&   r   )rÄ  rb   rÆ  rÇ  r   rU   r   r»   r¼   rº   r}   )r.   r—  r£  r³  r²  rÈ  r¹  r»  s     ```   r'   Ú_percentile_quantile_innerr¼  ë  s~   ú€ ô 
˜Ó	€BÜ	‡}�}�Rœ×+Ñ+Ô,ÜÐ;Ó<Ð<öHöEô �!”e—l‘l¤E§M¡MÐ2Ô3Ø*Ð*Ü	�A”u—{‘{Ô	#¨¯©°!ªØ*Ð*à!Ð!r&   c                 ó*   — t        | |ddt        ¬«      S )NFrm  ©r£  r³  r²  ©r¼  r®  ©r.   r—  s     r'   Únp_percentilerÁ    s   € ä%Ø	ˆ1�u SÔ2Eôð r&   c                 ó*   — t        | |ddt        ¬«      S )NTrm  r¾  r¿  rÀ  s     r'   Únp_nanpercentilerÃ    s   € ä%Ø	ˆ1�t CÔ1Dôð r&   c                 ó*   — t        | |ddt        ¬«      S )NFr�  r¾  ©r¼  r°  rÀ  s     r'   Únp_quantilerÆ    s   € ä%Ø	ˆ1�u UÔ4Eôð r&   c                 ó*   — t        | |ddt        ¬«      S )NTr�  r¾  rÅ  rÀ  s     r'   Únp_nanquantilerÈ    s   € ä%Ø	ˆ1�t EÔ3Dôð r&   c                 ór   ‡— t        | t        j                  «      sy t        | j                  «      Šˆfd„}|S )Nc                 ó  •— t        j                  | j                  | j                  «      }d}t        j                  | «      D ]%  }|j                  «       } ‰|«      rŒ|||<   |dz  }Œ' |dk(  rt         j                  S t        ||«      S ©Nr   r*   )rb   rÂ   rÃ   r”   rc   rd   rW  r…  )r.   r‚  rƒ  r°   rg   r  s        €r'   Únanmedian_implz$np_nanmedian.<locals>.nanmedian_impl'  sz   ø€ ä—H‘H˜QŸV™V Q§W¡WÓ-ˆ	ØˆÜ—I‘I˜a“Lò 	ˆDØ—	‘	“ˆAÙ˜•8Ø �	˜!‘Ø�Q‘‘ð		ð �Š6Ü—6‘6ˆMä˜Y¨Ó*Ð*r&   r  )r.   rÌ  r  s     @r'   Únp_nanmedianrÍ  !  s/   ø€ ä�aœŸ™Ô%ØÜ�a—g‘gÓ€Eô+ð  Ðr&   c                 ó   — t        j                  | «      }t        j                  | j                  d d «      }|D ]A  }| |   j	                  «       }d}t        |«      dz
  }|D ]  }t        ||||«       |}Œ |||<   ŒC |S )NrP  r   r*   )rb   Ú
empty_likeÚndindexr€   ÚcopyrF   Ú_select_w_nan)	r.   Ú	kth_arrayrÇ   rÈ   Úsr.  ro  rp  Úkths	            r'   Únp_partition_impl_innerrÖ  :  sŽ   € ô
 �-‰-˜Ó
€Cä
�*‰*�Q—W‘W˜S˜b�\Ó
"€CØò 	ˆØ�‰t�y‰y‹{ˆØˆÜ�4‹y˜1‰}ˆàò 	ˆCÜ˜$  S¨$Ô/Ø‰Cð	ð ˆˆAŠð	ð €Jr&   c           	      ó^  — t        j                  | t         j                  ¬«      }t        j                  | j                  d d «      }|D ]`  }| |   j                  «       }t        j                  t        |«      «      }d}t        |«      dz
  }|D ]  }	t        ||	|||«       |	}Œ |||<   Œb |S )Nr   rP  r   r*   )	rb   rÏ  r5   rÐ  r€   rÑ  ÚarangerF   Ú_arg_select_w_nan)
r.   rÓ  rÇ   rÈ   rÔ  r.  Úidx_arryro  rp  rÕ  s
             r'   Únp_argpartition_impl_innerrÛ  O  s¨   € ô
 �-‰-˜¤§¡Ô
)€Cä
�*‰*�Q—W‘W˜S˜b�\Ó
"€CØò 
ˆØ�‰t�y‰y‹{ˆÜ—9‘9œS ›YÓ'ˆØˆÜ�4‹y˜1‰}ˆàò 	ˆCÜ˜d C¨¨d°HÔ=Ø‰Cð	ð ˆˆAŠð
ð €Jr&   c                 óÚ  — t        |«      j                  t        j                  «      }|j                  dk7  rt        d«      ‚t        j                  t        j                  |«      | j                  d   k\  «      rt        d«      ‚t        j                  |«      }t        j                  |«      D ]%  \  }}|dk  r|| j                  d   z   ||<   Œ!|||<   Œ' t        j                  |«      S )a�  
    Returns a sorted, unique array of kth values which serve
    as indexers for partitioning the input array, a.

    If the absolute value of any of the provided values
    is greater than a.shape[-1] an exception is raised since
    we are partitioning along the last axis (per Numpy default
    behaviour).

    Values less than 0 are transformed to equivalent positive
    index values.
    r*   zkth must be scalar or 1-DrP  zkth out of boundsr   )r:  Úastyperb   r¯   r}   r~   r˜  rp  r€   rÏ  ÚndenumerateÚunique)r.   rÕ  rÓ  rÇ   Úindexrñ   s         r'   Ú
valid_kthsrá  e  sÄ   € ô ˜“×$Ñ$¤R§X¡XÓ.€Ià‡~�~˜ÒÜÐ4Ó5Ð5ô 
‡v�vŒb�f‰f�YÓ 1§7¡7¨2¡;Ñ.Ô/ÜÐ,Ó-Ð-ä
�-‰-˜	Ó
"€Cä—n‘n YÓ/ò ‰
ˆˆsØ�Š7Ø˜qŸw™w r™{Ñ*ˆC�ŠJàˆC�ŠJð	ô �9‰9�S‹>Ðr&   c                 ó¼  — t        | t        j                  t        j                  t        j                  f«      st        d«      ‚t        | t        j                  «      r| j                  dk(  rd}t        |«      ‚t        |d|«      }t        dk\  rt        j                  }n t        j                  t        j                  f}t        ||«      st        d«      ‚d„ }|S )Nú(The first argument must be an array-liker   ú3The first argument must be at least 1-D (found 0-D)r”   ©r|   r{   úPartition index must be integerc                 ó†   — t        | «      }|j                  dk(  r|j                  «       S t        ||«      }t	        ||«      S rì   )r:  rÃ   rÑ  rá  rÖ  ©r.   rÕ  Úa_tmprÓ  s       r'   Únp_partition_implz'np_partition.<locals>.np_partition_impl›  s;   € Ü˜“ˆØ�:‰:˜Š?Ø—:‘:“<Ðä" 5¨#Ó.ˆIÜ*¨5°)Ó<Ð<r&   ©rU   r   rº   ÚSequencerX   r   r}   rš   r   râ   r¼   )r.   rÕ  r«   ÚkthdtÚ	kth_typesrê  s         r'   Únp_partitionrï  ˆ  s©   € ô �aœ%Ÿ+™+¤u§~¡~´u·{±{ÐCÔDÜÐGÓHÐHä�!”U—[‘[Ô! a§f¡f°¢kØCˆÜ˜SÓ!Ð!ä�C˜ #Ó&€EÜ˜ÒÜ—M‘M‰	ä—]‘]¤E§M¡MÐ2ˆ	Ü�e˜YÔ'äÐ>Ó?Ð?ò=ð Ðr&   c                 ó¼  — t        | t        j                  t        j                  t        j                  f«      st        d«      ‚t        | t        j                  «      r| j                  dk(  rd}t        |«      ‚t        |d|«      }t        dk\  rt        j                  }n t        j                  t        j                  f}t        ||«      st        d«      ‚d„ }|S )Nrã  r   rä  r”   rå  ræ  c                 ó¤   — t        | «      }|j                  dk(  r|j                  «       j                  d«      S t	        ||«      }t        ||«      S )Nr   r5   )r:  rÃ   rÑ  rÝ  rá  rÛ  rè  s       r'   Únp_argpartition_implz-np_argpartition.<locals>.np_argpartition_impl¹  sF   € Ü˜“ˆØ�:‰:˜Š?Ø—:‘:“<×&Ñ& vÓ.Ð.ä" 5¨#Ó.ˆIÜ-¨e°YÓ?Ð?r&   rë  )r.   rÕ  r«   rí  rî  rò  s         r'   Únp_argpartitionró  ¦  sª   € ô �aœ%Ÿ+™+¤u§~¡~´u·{±{ÐCÔDÜÐGÓHÐHä�!”U—[‘[Ô! a§f¡f°¢kØCˆÜ˜SÓ!Ð!ä�C˜ #Ó&€EÜ˜ÒÜ—M‘M‰	ä—]‘]¤E§M¡MÐ2ˆ	Ü�e˜YÔ'äÐ>Ó?Ð?ò@ð  Ðr&   c                 ó  — t        d| «      t        d|«      f}t        j                  |t        j                  ¬«      }t	        |d   «      D ]3  }t        t        d||z   dz   «      |d   «      }d||d |…f<   d|||d …f<   Œ5 |S )Nr   r   r*   )r   rb   rÂ   rÛ   r3   r  )ÚNÚMr{  r€   rÇ   r/   Úm_maxs          r'   Ú	_tri_implrø  Ç  s‰   € ä��1‹I”s˜1˜a“yÐ €EÜ
�(‰(�5¤§
¡
Ô
+€Cä�5˜‘8‹_ò ˆÜ”C˜˜1˜q™5 1™9Ó% u¨Q¡xÓ0ˆØˆˆAˆv�ˆvˆI‰ØˆˆAˆu‰vˆIŠðð
 €Jr&   c                 ó&   — t        |d«       dd„}|S )Nr{  c                 ó$   — |€| }t        | ||«      S r-   )rø  )rõ  rö  r{  s      r'   Útri_implznp_tri.<locals>.tri_implÚ  s   € Øˆ9ØˆAÜ˜˜A˜qÓ!Ð!r&   rì   )r   )rõ  rö  r{  rû  s       r'   Únp_trirü  Ô  s   € ô �Q˜Ôó"ð
 €Or&   c                 ó®   — | j                   dk(  sJ ‚t        | «      }t        j                  ||f| j                  ¬«      }t        |«      D ]  }| ||<   Œ	 |S )zq
    Takes a 1d array and tiles it to form a square matrix
    - i.e. a facsimile of np.tile(m, (len(m), 1))
    r*   r   )r}   rF   rb   rÂ   r”   r3   )rï   Úlen_mrÇ   r/   s       r'   Ú_make_squarerÿ  â  sX   € ð �6‰6�QŠ;Ðˆ;ä�‹F€EÜ
�(‰(�E˜5�>¨¯©Ô
1€Cä�5‹\ò ˆØˆˆAŠðð €Jr&   c                 ó  — t        j                  | j                  d   | j                  d   |¬«      j                  t         j                  «      }t        j
                  || t        j                  | | j                  ¬«      «      S ©NéþÿÿÿrP  ©rö  r{  r   ©rb   Útrir€   rÝ  ÚuintÚwhereÚ
zeros_liker”   ©rï   r{  Úmasks      r'   Únp_tril_impl_2dr  ó  sU   € ä�6‰6�!—'‘'˜"‘+ §¡¨¡°Ô2×9Ñ9¼"¿'¹'ÓB€DÜ�8‰8�D˜!œRŸ]™]¨1°A·G±GÔ<Ó=Ð=r&   c                 óz   — t        |d«       dd„}dd„}| j                  dk(  r|S | j                  dk(  rt        S |S )Nr{  c                 ó0   — t        | «      }t        ||«      S r-   )rÿ  r  ©rï   r{  Úm_2ds      r'   Únp_tril_impl_1dz my_tril.<locals>.np_tril_impl_1dÿ  ó   € Ü˜A‹ˆÜ˜t QÓ'Ð'r&   c                 óœ  — t        j                  | j                  d   | j                  d   |¬«      j                  t         j                  «      }t        j
                  | j                  d d «      }t        j                  | «      }t        j                  || j                  ¬«      }|D ]  }t        j                  || |   |«      ||<   Œ! |S r  ©
rb   r  r€   rÝ  r  rÐ  rÏ  r  r”   r  ©rï   r{  r
  rÈ   ÚzÚzero_optÚsels          r'   Únp_tril_impl_multiz#my_tril.<locals>.np_tril_impl_multi  s›   € Ü�v‰v�a—g‘g˜b‘k Q§W¡W¨R¡[°AÔ6×=Ñ=¼b¿g¹gÓFˆÜ�j‰j˜Ÿ™  "˜Ó&ˆÜ�M‰M˜!ÓˆÜ—=‘= ¨Q¯W©WÔ5ˆØò 	6ˆCÜ—X‘X˜d A c¡F¨HÓ5ˆAˆcŠFð	6àˆr&   r*   r|   ©r   )r   r}   r  )rï   r{  r  r  s       r'   Úmy_trilr  ù  sB   € ô �Q˜Ôó(óð 	‡v�v�‚{ØÐØ	
�‰�1ŠÜÐà!Ð!r&   c                 ól   — t        | d«       t        |d«       t        |«      st        |d«       dd„}|S )Nrƒ  r{  rï   c                 óX   — t        j                  t        j                  | ||¬«      «      S )N©r{  ©rb   Únonzeror  ©rƒ  r{  rï   s      r'   Únp_tril_indices_implz-np_tril_indices.<locals>.np_tril_indices_impl  s   € Ü�z‰zœ"Ÿ&™&  A¨Ô+Ó,Ð,r&   ©r   N©r   r   )rƒ  r{  rï   r!  s       r'   Únp_tril_indicesr$    s4   € ô �Q˜ÔÜ�Q˜ÔÜ�qŒ>Ü˜˜CÔ ó-àÐr&   c                 óZ   — t        |d«       | j                  dk7  rt        d«      ‚dd„}|S )Nr{  r|   úinput array must be 2-dc                 óf   — t        j                  | j                  d   || j                  d   ¬«      S ©Nr   r*   )r{  rï   )rb   Útril_indicesr€   ©re   r{  s     r'   Únp_tril_indices_from_implz7np_tril_indices_from.<locals>.np_tril_indices_from_impl+  ó%   € Ü�‰˜sŸy™y¨™|¨q°C·I±I¸a±LÔAÐAr&   r  ©r   r}   r   )re   r{  r+  s      r'   Únp_tril_indices_fromr.  "  ó1   € ô �Q˜Ôà
‡x�x�1‚}ÜÐ3Ó4Ð4óBà$Ð$r&   c                 ó  — t        j                  | j                  d   | j                  d   |dz
  ¬«      j                  t         j                  «      }t        j
                  |t        j                  | | j                  ¬«      | «      S ©Nr  rP  r*   r  r   r  r	  s      r'   Únp_triu_impl_2dr2  0  sY   € ä�6‰6�!—'‘'˜"‘+ §¡¨¡°°A±Ô6×=Ñ=¼b¿g¹gÓF€DÜ�8‰8�Dœ"Ÿ-™-¨°·±Ô9¸1Ó=Ð=r&   c                 óz   — t        |d«       dd„}dd„}| j                  dk(  r|S | j                  dk(  rt        S |S )Nr{  c                 ó0   — t        | «      }t        ||«      S r-   )rÿ  r2  r  s      r'   Únp_triu_impl_1dz my_triu.<locals>.np_triu_impl_1d;  r  r&   c                 ó¢  — t        j                  | j                  d   | j                  d   |dz
  ¬«      j                  t         j                  «      }t        j
                  | j                  d d «      }t        j                  | «      }t        j                  || j                  ¬«      }|D ]  }t        j                  ||| |   «      ||<   Œ! |S r1  r  r  s          r'   Únp_triu_impl_multiz#my_triu.<locals>.np_triu_impl_multi?  sŸ   € Ü�v‰v�a—g‘g˜b‘k Q§W¡W¨R¡[°A¸±EÔ:×AÑAÄ"Ç'Á'ÓJˆÜ�j‰j˜Ÿ™  "˜Ó&ˆÜ�M‰M˜!ÓˆÜ—=‘= ¨Q¯W©WÔ5ˆØò 	6ˆCÜ—X‘X˜d H¨a°©fÓ5ˆAˆcŠFð	6àˆr&   r*   r|   r  )r   r}   r2  )rï   r{  r5  r7  s       r'   Úmy_triur8  6  sB   € ô �Q˜Ôó(óð 	‡v�v�‚{ØÐØ	
�‰�1ŠÜÐà!Ð!r&   c                 ól   — t        | d«       t        |d«       t        |«      st        |d«       dd„}|S )Nrƒ  r{  rï   c           	      ód   — t        j                  dt        j                  | ||dz
  ¬«      z
  «      S )Nr*   r  r  r   s      r'   Únp_triu_indices_implz-np_triu_indices.<locals>.np_triu_indices_implY  s'   € Ü�z‰z˜!œbŸf™f Q¨¨Q°©UÔ3Ñ3Ó4Ð4r&   r"  r#  )rƒ  r{  rï   r;  s       r'   Únp_triu_indicesr<  P  s4   € ô �Q˜ÔÜ�Q˜ÔÜ�qŒ>Ü˜˜CÔ ó5àÐr&   c                 óZ   — t        |d«       | j                  dk7  rt        d«      ‚dd„}|S )Nr{  r|   r&  c                 óf   — t        j                  | j                  d   || j                  d   ¬«      S r(  )rb   Útriu_indicesr€   r*  s     r'   Únp_triu_indices_from_implz7np_triu_indices_from.<locals>.np_triu_indices_from_implg  r,  r&   r  r-  )re   r{  r@  s      r'   Únp_triu_indices_fromrA  ^  r/  r&   c                  ó   — y r-   r%   ©re   s    r'   Ú_prepare_arrayrD  l  rF  r&   c                 ó6   — | d t         j                  fv rd„ S d„ S )Nc                 ó,   — t        j                  d«      S )Nr%   ©rb   ÚarrayrC  s    r'   r·  z%_prepare_array_impl.<locals>.<lambda>s  s   € œ2Ÿ8™8 B›<€ r&   c                 ó4   — t        | «      j                  «       S r-   )r:  rR  rC  s    r'   r·  z%_prepare_array_impl.<locals>.<lambda>u  s   € œ8 C›=×.Ñ.Ó0€ r&   ©r   ÚnonerC  s    r'   Ú_prepare_array_implrL  p  s   € à
ˆt”U—Z‘ZÐ Ñ Ù'Ð'á0Ð0r&   c                 ó^  — | }	 t        |t        j                  t        j                  f«      rt	        |«      S t        |dd «      }|� |«       dk(  rt        j                  S t        |dd «      }|€t        d«      ‚t        |t        j                  «      r|j                  }nt	        |«      S Œ«)NÚ__len__r   r”   ztype has no dtype attr)rU   r   r»   r¼   r	   rš   rb   rÛ   r   rì  r”   )ÚinobjÚobjÚlrÈ  s       r'   Ú_dtype_of_compoundrR  x  s•   € Ø
€CØ
Ü�cœEŸL™L¬%¯-©-Ð8Ô9Ü˜C“=Ð Ü�C˜ DÓ)ˆØˆ=™Q›S AšXÜ—:‘:ÐÜ�S˜' 4Ó(ˆØˆ:Ü Ð!9Ó:Ð:Ü�cœ5Ÿ>™>Ô*Ø—)‘)‰Cä˜B“<Ðð r&   c                 óª  — t        | t        j                  «      r/t        | j                  t        j                  «      rt        d«      ‚t        | «      }d }t        |«      st        |«      }d }t        |«      st        |«      }|�#t        j                  ||«      sd}t        |«      ‚|�#t        j                  ||«      sd}t        |«      ‚dd„}|S )Nr^  z3dtype of to_begin must be compatible with input aryz1dtype of to_end must be compatible with input aryc                 ó  — t        |«      }t        | «      }t        |«      }|j                  }t        |«      dkD  r„t        j                  t        |«      t        |«      z   t        |«      z   dz
  |¬«      }t        |«      }t        |«      t        |«      z   dz
  }	||d | t        j
                  |«      |||	 |||	d  |S t        j                  t        |«      t        |«      z   |¬«      }t        |«      }||d | |||d  |S )Nr   r*   r   )rD  r”   rF   rb   rÂ   Údiff)
ÚaryÚto_endÚto_beginÚstartrr  ÚendÚ	out_dtyperÇ   Ú	start_idxÚmid_idxs
             r'   Únp_ediff1d_implz#np_ediff1d.<locals>.np_ediff1d_impl£  sø   € ä˜xÓ(ˆÜ˜SÓ!ˆÜ˜VÓ$ˆà—I‘Iˆ	ô ˆs‹8�aŠ<Ü—(‘(œC ›J¬¨S«Ñ1´C¸³HÑ<¸qÑ@Ø!*ô,ˆCä˜E›
ˆIÜ˜%“j¤3 s£8Ñ+¨aÑ/ˆGØ#ˆC�
�ˆOÜ%'§W¡W¨S£\ˆC�	˜'Ð"ØˆC��ˆMð ˆ
ô	 —(‘(œC ›J¬¨S«Ñ1¸)ÔDˆCÜ˜E›
ˆIØ#ˆC�
�ˆOØ!ˆC�	�
ˆOØˆ
r&   r«  )
rU   r   rº   r”   r¼   r   rR  r   rb   Úcan_cast)rV  rW  rX  Úary_dtÚto_begin_dtÚ	to_end_dtr«   r^  s           r'   Ú
np_ediff1drc  ‰  s½   € ô �#”u—{‘{Ô#Ü�c—i‘i¤§¡Ô/Ü Ð!NÓOÐOô
   Ó$€FØ€KÜ˜Ô!Ü(¨Ó2ˆØ€IÜ˜ÔÜ& vÓ.ˆ	àÐ¤r§{¡{°;ÀÔ'GØCˆÜ˜SÓ!Ð!àÐ¤R§[¡[°¸FÔ%CØAˆÜ˜SÓ!Ð!óð6 Ðr&   c                  ó   — y r-   r%   rC  s    r'   Ú_select_elementre  Á  rF  r&   c                 ó:   — t        | dd «      dk(  }|rd„ }|S d„ }|S )Nr}   r   c                 óX   — t        j                  d| j                  ¬«      }| |d d  |d   S )N©r*   r   r   )rb   rH  r”   )re   r±  s     r'   rY  z"_select_element_impl.<locals>.implÉ  s(   € Ü—‘˜ S§Y¡YÔ/ˆAØˆA‰aˆDØ�Q‘4ˆKr&   c                 ó   — | S r-   r%   rC  s    r'   rY  z"_select_element_impl.<locals>.implÏ  s   € ØˆJr&   )rš   )re   ÚzerodrY  s      r'   Ú_select_element_implrk  Å  s.   € ä�C˜ Ó&¨!Ñ+€EÙò	ð ˆò	àˆr&   c                  ó   — y r-   r%   )Údxr±  s     r'   Ú_get_drn  Ô  rF  r&   c                 ó,   — t        | «      rd„ }|S d„ }|S )Nc                 ó,   — t        j                  |«      S r-   ©rb   rˆ  ©r±  rm  s     r'   rY  zget_d_impl.<locals>.implÛ  s   € Ü—:‘:˜b“>Ð!r&   c                 óR   — t        j                  t        j                  | «      «      S r-   )rb   rU  rˆ  rr  s     r'   rY  zget_d_impl.<locals>.implÞ  s   € Ü—7‘7œ2Ÿ:™: a›=Ó)Ð)r&   rÚ  )r±  rm  rY  s      r'   Ú
get_d_implrt  Ø  s   € ä�1„~ò	"ð
 €Kò	*à€Kr&   c                 óà   — t        | t        j                  t        j                  f«      rt	        d«      ‚t        | t        j
                  «      r| j                  dk(  rt	        d«      ‚dd„}|S )z9Shared implementation for both np.trapz and np.trapezoid.zy cannot be a scalarr   zy cannot be 0Dc                 óÜ   — t        j                  | «      }t        ||«      }|dt        dd «      f   |dt        d d«      f   z   dz  }t        j                  ||z  d«      }t        |«      }|S )N.r*   rP  ç       @)rb   rˆ  rn  rO   r¦  re  )rô  r±  rm  ÚyarrÚdÚy_aveÚretÚ	processeds           r'   rY  z_trapz_impl.<locals>.implí  sm   € Ü�z‰z˜!‹}ˆÜ�1�b‹MˆØ�cœ5  D›>Ð)Ñ*¨T°#´u¸TÀ2³Ð2FÑ-GÑGÈ3ÑNˆÜ�f‰f�Q˜‘Y Ó#ˆÜ# CÓ(ˆ	ØÐr&   ©Nrm  )rU   r   r»   r¼   r   rº   r}   )rô  r±  rm  rY  s       r'   Ú_trapz_implr~  ã  sU   € ä�!”e—l‘l¤E§M¡MÐ2Ô3ÜÐ0Ó1Ð1Ü	�A”u—{‘{Ô	#¨¯©°!ªÜÐ*Ó+Ð+ó
ð €Kr&   )r|   é   c                 ó   — t        | ||«      S r-   ©r~  ©rô  r±  rm  s      r'   Únp_trapzrƒ  ú  ó   € ä˜1˜a Ó$Ð$r&   c                 ó   — t        | ||«      S r-   r�  r‚  s      r'   Únp_trapezoidr†  	  r„  r&   c                 ó~  — |j                   \  }}|t        | «      k(  sJ ‚||k(  sJ ‚|rGt        |«      D ]8  }|dk(  r
d|dd…|f<   Œt        j                  | |dd…|dz
  f   «      |dd…|f<   Œ: yt        |dz
  dd«      D ];  }||dz
  k(  r
d|dd…|f<   Œt        j                  | |dd…|dz   f   «      |dd…|f<   Œ= y)a*  
    Generate an N-column Vandermonde matrix from a supplied 1-dimensional
    array, x. Store results in an output matrix, out, which is assumed to
    be of the required dtype.

    Values are accumulated using np.multiply to match the floating point
    precision behaviour of numpy.vander.
    r   r*   NrP  )r€   rF   r3   rb   r¨  )r±  rõ  Ú
increasingrÇ   rï   rƒ  r/   s          r'   Ú
_np_vanderr‰  	  sÔ   € ð �9‰9�D€A€qØ”�A“Š;Ðˆ;Ø�Š6€Mˆ6áÜ�q“ò 	<ˆAØ�AŠvØ�’A�q�D’	äŸK™K¨¨3ªq°1°q±5¨z©?Ó;�’A�q�D’	ñ		<ô �q˜1‘u˜b "Ó%ò 	<ˆAØ�A˜‘EŠzØ�’A�q�D’	äŸK™K¨¨3ªq°1°q±5¨z©?Ó;�’A�q�D’	ñ		<r&   c                 óX   — | j                   dkD  rt        d«      ‚|dk  rt        d«      ‚y )Nr*   z.x must be a one-dimensional array or sequence.r   z#Negative dimensions are not allowed)r}   r~   )r±  rõ  s     r'   Ú_check_vander_paramsr‹  "	  s1   € à‡v�v�‚zÜÐIÓJÐJØˆ1‚uÜÐ>Ó?Ð?ð r&   c                 óz  ‡— |d t         j                  fvr%t        |t         j                  «      st	        d«      ‚dˆfd„	}dd„}t        | t         j
                  «      r1t        | j                  «      }t        j                  |t        «      Š|S t        | t         j                  t         j                  f«      r|S y )Nz,Second argument N must be None or an integerc                 ó¬   •— |€t        | «      }t        | |«       t        j                  t        | «      t	        |«      f‰¬«      }t        | |||«       |S rÿ  )rF   r‹  rb   rÂ   r–  r‰  )r±  rõ  rˆ  rÇ   r”   s       €r'   Únp_vander_implz!np_vander.<locals>.np_vander_impl0	  sM   ø€ Øˆ9Ü�A“ˆAä˜Q Ô"ô �h‰hœ˜A›¤ A£Ð'¨uÔ5ˆä�1�a˜ SÔ)Øˆ
r&   c                 óè   — |€t        | «      }t        j                  | «      }t        ||«       t        j                  t        | «      t        |«      f|j                  ¬«      }t        ||||«       |S rÿ  )rF   rb   rH  r‹  rÂ   r–  r”   r‰  )r±  rõ  rˆ  Úx_arrrÇ   s        r'   Únp_vander_seq_implz%np_vander.<locals>.np_vander_seq_impl<	  s]   € Øˆ9Ü�A“ˆAä—‘˜“ˆÜ˜U AÔ&ô �h‰hœ˜A›¤ A£Ð'¨u¯{©{Ô;ˆä�5˜!˜Z¨Ô-Øˆ
r&   r  )r   rK  rU   râ   r   rº   r	   r”   rb   Úpromote_typesr–  rX   rì  )r±  rõ  rˆ  rŽ  r‘  Úx_dtr”   s         @r'   Ú	np_vanderr”  *	  s�   ø€ à�”u—z‘zÐ"Ñ"Ü˜!œUŸ]™]Ô+ÜÐLÓMÐMõ
óô �!”U—[‘[Ô!Ü˜Ÿ™Ó ˆä× Ñ  ¤sÓ+ˆØÐÜ	�AœŸ™¤U§^¡^Ð4Ô	5Ø!Ð!ð 
6r&   c                 óÐ   — t        |t        j                  t        j                  f«      st	        d«      ‚d„ }t        | t        j
                  t        j                  f«      rd„ S |S )Nzshift must be an integerc                 ó  — t        j                  | «      }t        j                  |j                  |j                  ¬«      }|j
                  }t        |j                  «      D ]&  }||z   |j                  z  }||   |j
                  |<   Œ( |S rÿ  )rb   rˆ  rÂ   r€   r”   rÅ   r3   rÃ   )r.   Úshiftre   rÇ   Úarr_flatr/   rÈ   s          r'   Únp_roll_implznp_roll.<locals>.np_roll_implW	  ss   € Ü�j‰j˜‹mˆÜ�h‰h�s—y‘y¨¯	©	Ô2ˆð —8‘8ˆÜ�s—x‘x“ò 	(ˆAØ�u‘9 §¡Ñ(ˆCØ$ Q™KˆC�H‰H�SŠMð	(ð ˆ
r&   c                 ó,   — t        j                  | «      S r-   rq  )r.   r—  s     r'   r·  znp_roll.<locals>.<lambda>d	  s   € ¤§
¡
¨1£€ r&   )rU   r   râ   r¼   r   r»   )r.   r—  r™  s      r'   Únp_rollr›  R	  sO   € ä�eœeŸm™m¬U¯]©]Ð;Ô<ÜÐ4Ó5Ð5ò
ô �!”e—l‘l¤E§M¡MÐ2Ô3Ù-Ð-àÐr&   é   c                 ó  — d}|}| ||dz
     kD  r|S | |d   k  ry|dk  r'd}||k  r| ||   k\  r|dz  }||k  r	| ||   k\  rŒ|dz
  S ||dz
  kD  r|dz
  }|dk  rd}| ||   k  r7| ||dz
     k  r'|dz
  }|t         kD  rg| ||t         z
     k\  rX|t         z
  }nN|dz
  S | ||dz      k  r|S | ||dz      k  r|dz   S |dz   }||t         z
  dz
  k  r| ||t         z      k  r	|t         z   }||k  r!|||z
  dz	  z   }| ||   k\  r|dz   }n|}||k  rŒ!|dz
  S )Nr   r*   rP  r  r{   r|   )ÚLIKELY_IN_CACHE_SIZE)Úkeyre   ÚlengthÚguessÚiminÚimaxr/   Úimids           r'   Úbinary_search_with_guessr¥  o	  s­  € ð €DØ€Dð ˆS�˜!‘‰_ÒØˆØ	ˆs�1‰vŠØð �‚{ØˆØ�&Šj˜S C¨¡Fš]Ø�‰FˆAð �&Šj˜S C¨¡F›]à�1‰uˆàˆv˜‰zÒØ˜‘
ˆàˆq‚yØˆð ˆS�‰ZÒØ��U˜Q‘Y‘ÒØ˜1‘9ˆDð Ô+Ò+Ø˜3˜uÔ';Ñ;Ñ<Ò<ØÔ3Ñ3‘ð ˜1‘9Ðð ��U˜Q‘Y‘ÒØˆLð �S˜ ™‘^Ò#Ø˜q‘yÐ ð ˜q‘y�à˜VÔ&:Ñ:¸QÑ>Ò?Ø˜s 5Ô+?Ñ#?Ñ@Ò@Ø Ô#7Ñ7�Dð �Š+Ø˜˜t™¨Ñ)Ñ*ˆØ�#�d‘)ÒØ˜!‘8‰DàˆDð �‹+ð �!‰8€Or&   c                 óv	  — t        j                  | «      }t        j                  |«      }t        j                  |«      }t        |«      dk(  rt        d«      ‚t        |«      t        |«      k7  rt        d«      ‚|j                  dk(  r%t        j
                  |j                  |d   |¬«      S t        j                  |j                  |¬«      }|j                  }t        |«      }	|d   }
||	dz
     }|	dk(  rd|d   }|d   }t        |«      D ]J  }|j                  |   }||k  r|
|j                  |<   Œ'||kD  r||j                  |<   Œ<||j                  |<   ŒL |S d}|	|k  rt        j                  |	dz
  |¬«      }nt        j                  d|¬«      }|j                  ryt        |	dz
  «      D ]h  }d||dz      ||   z
  z  }||dz      j                  ||   j                  z
  |z  }||dz      j                  ||   j                  z
  |z  }|d|z  z   ||<   Œj t        |«      D �]�  }|j                  |   }t        j                  |«      r|}d}|d|z  z   |j                  |<   ŒBt        |||	|«      }|d	k(  r|
|j                  |<   Œe||	k(  r||j                  |<   Œz||	dz
  k(  r||   |j                  |<   Œ•||   |k(  r||   |j                  |<   Œ°|j                  r||   }ncd||dz      ||   z
  z  }||dz      j                  ||   j                  z
  |z  }||dz      j                  ||   j                  z
  |z  }|d|z  z   }|j                  |||   z
  z  ||   j                  z   }t        j                  |«      rq|j                  |||dz      z
  z  ||dz      j                  z   }t        j                  |«      r1||   j                  ||dz      j                  k(  r||   j                  }|j                  |||   z
  z  ||   j                  z   }t        j                  |«      rq|j                  |||dz      z
  z  ||dz      j                  z   }t        j                  |«      r1||   j                  ||dz      j                  k(  r||   j                  }|d|z  z   |j                  |<   �Œ’ |S )
Nr   úarray of sample points is emptyú#fp and xp are not of the same size.r*   ©Ú
fill_valuer”   r   rV  rÚ   rP  )rb   rˆ  rF   r~   rÃ   r‚   r€   rÂ   r3   rÅ   rí   r  r  r¥  )r±  ÚxpÚfpr”   Údzrm  ÚdyÚdresÚlenxÚlenxpÚlvalÚrvalÚxp_valÚfp_valr/   Úx_valrt  ÚslopesÚinv_dxrí   r  Úslopes                         r'   Únp_interp_impl_complex_innerrº  ´	  sw  € ô 
�‰�A‹€BÜ	�‰�B‹€BÜ	�‰�B‹€Bä
ˆ2ƒw�!‚|ÜÐ:Ó;Ð;ä
ˆ2ƒw”#�b“'ÒÜÐ>Ó?Ð?à	‡w�w�!‚|Ü�w‰w�r—x‘x¨B¨q©E¸Ô?Ð?ä�8‰8�B—H‘H EÔ*€Dà�7‰7€DÜ�‹G€EØˆa‰5€DØˆe�a‰i‰=€Dà�‚zØ�A‘ˆØ�A‘ˆä�t“ò 	&ˆAØ—G‘G˜A‘JˆEØ�vŠ~Ø#�—	‘	˜!’Ø˜’Ø#�—	‘	˜!’à%�—	‘	˜!’ð	&ðV €KðC ˆð �DŠ=Ü—X‘X˜u q™y°Ô7‰Fä—X‘X˜a uÔ-ˆFà�;Š;Ü˜5 1™9Ó%ò -�Ø˜b  Q¡™i¨"¨Q©%Ñ/Ñ0�Ø˜1˜q™5™	Ÿ™¨¨A©¯©Ñ3°vÑ=�Ø˜1˜q™5™	Ÿ™¨¨A©¯©Ñ3°vÑ=�Ø  2¨¡9Ñ,��q’	ð	-ô �t“ó 0	0ˆAØ—G‘G˜A‘JˆEä�x‰x˜ŒØ�Ø�Ø# b¨4¡iÑ/�—	‘	˜!‘Øä(¨°°E¸1Ó=ˆAà�BŠwØ#�—	‘	˜!’Ø�e’Ø#�—	‘	˜!’Ø�e˜a‘i’Ø! !™u�—	‘	˜!’Ø�A‘˜%’à! !™u�—	‘	˜!’à—;’;Ø" 1™I‘Eà " Q¨¡U¡)¨b°©eÑ"3Ñ4�FØ˜q 1™u™IŸN™N¨R°©U¯Z©ZÑ7¸6ÑA�DØ˜q 1™u™IŸN™N¨R°©U¯Z©ZÑ7¸6ÑA�DØ  2¨¡9Ñ,�Eð —z‘z U¨R°©U¡]Ñ3°b¸±e·j±jÑ@�Ü—8‘8˜D”>Ø Ÿ:™:¨°°A¸±E±Ñ):Ñ;¸bÀÀQÁ¹i¿n¹nÑL�DÜ—x‘x ”~¨"¨Q©%¯*©*¸¸1¸q¹5¹	¿¹Ò*FØ! !™uŸz™z˜à—z‘z U¨R°©U¡]Ñ3°b¸±e·j±jÑ@�Ü—8‘8˜D”>Ø Ÿ:™:¨°°A¸±E±Ñ):Ñ;¸bÀÀQÁ¹i¿n¹nÑL�DÜ—x‘x ”~¨"¨Q©%¯*©*¸¸1¸q¹5¹	¿¹Ò*FØ! !™uŸz™z˜à# b¨4¡iÑ/�—	‘	˜!“ða0	0ðd €Kr&   c                 ó¨  — t        j                  | t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        |«      dk(  rt	        d«      ‚t        |«      t        |«      k7  rt	        d«      ‚|j
                  dk(  r%t        j                  |j                  |d   |¬«      S t        j                  |j                  |¬«      }|j
                  }t        |«      }	|d   }
||	dz
     }|	dk(  rd|d   }|d   }t        |«      D ]J  }|j                  |   }||k  r|
|j                  |<   Œ'||kD  r||j                  |<   Œ<||j                  |<   ŒL |S d}|	|k  r|dd  |d d z
  |dd  |d d z
  z  }nt        j                  d|¬«      }t        |«      D �]€  }|j                  |   }t        j                  |«      r||j                  |<   Œ8t        |||	|«      }|dk(  r|
|j                  |<   Œ[||	k(  r||j                  |<   Œp||	dz
  k(  r||   |j                  |<   Œ‹||   |k(  r||   |j                  |<   Œ¦|j
                  r||   }n||dz      ||   z
  ||dz      ||   z
  z  }||||   z
  z  ||   z   |j                  |<   t        j                  |j                  |   «      s�Œ||||dz      z
  z  ||dz      z   |j                  |<   t        j                  |j                  |   «      s�Œ_||   ||dz      k(  s�Œo||   |j                  |<   �Œƒ |S )Nr   r   r§  r¨  r*   r©  rP  )rb   rˆ  rÛ   rF   r~   rÃ   r‚   r€   rÂ   r3   rÅ   r  r¥  )r±  r«  r¬  r”   r­  rm  r®  r¯  r°  r±  r²  r³  r´  rµ  r/   r¶  rt  r·  r¹  s                      r'   Únp_interp_impl_innerr¼  "
  s%  € ô 
�‰�AœRŸZ™ZÔ	(€BÜ	�‰�BœbŸj™jÔ	)€BÜ	�‰�BœbŸj™jÔ	)€Bä
ˆ2ƒw�!‚|ÜÐ:Ó;Ð;ä
ˆ2ƒw”#�b“'ÒÜÐ>Ó?Ð?à	‡w�w�!‚|Ü�w‰w�r—x‘x¨B¨q©E¸Ô?Ð?ä�8‰8�B—H‘H EÔ*€Dà�7‰7€DÜ�‹G€EØˆa‰5€DØˆe�a‰i‰=€Dà�‚zØ�A‘ˆØ�A‘ˆä�t“ò 	&ˆAØ—G‘G˜A‘JˆEØ�vŠ~Ø#�—	‘	˜!’Ø˜’Ø#�—	‘	˜!’à%�—	‘	˜!’ð	&ðn €Kð[ ˆð �DŠ=Ø˜˜�f˜r # 2˜wÑ&¨2¨a¨b¨6°B°s¸°GÑ+;Ñ<‰Fä—X‘X˜a uÔ-ˆFä�t“ó #	-ˆAØ—G‘G˜A‘JˆEä�x‰x˜ŒØ$�—	‘	˜!‘Øä(¨°°E¸1Ó=ˆAà�BŠwØ#�—	‘	˜!’Ø�e’Ø#�—	‘	˜!’Ø�e˜a‘i’Ø! !™u�—	‘	˜!’Ø�A‘˜%’à! !™u�—	‘	˜!’à—;’;Ø" 1™I‘Eà  A¡™Y¨¨A©Ñ.°2°a¸!±e±9¸rÀ!¹uÑ3DÑE�Eà$¨°°1±©Ñ6¸¸A¹Ñ>�—	‘	˜!‘ô —8‘8˜DŸI™I a™LÖ)Ø#(¨E°B°q¸1±u±IÑ,=Ñ#>ÀÀAÈÁEÁÑ#J�D—I‘I˜a‘LÜ—x‘x §	¡	¨!¡Ö-°"°Q±%¸2¸aÀ!¹e¹9Ô2DØ')¨!¡u˜Ÿ	™	 !›ðG#	-ðJ €Kr&   c                 ót  ‡‡	— t        |d«      r|j                  dkD  rt        d«      ‚t        |d«      r|j                  dkD  rt        d«      ‚d}t        |«      }t	        j
                  |t        j                  «      rt        |«      ‚t        |«      }t	        j                  |t        j                  «      Št	        j
                  ‰t        j                  «      rt        Š	nt        Š	ˆˆ	fd„}ˆˆ	fd„}t        | t        j                  «      r't        | t        j                  «      rt        |«      ‚|S |S )Nr}   r*   zxp must be 1Dzfp must be 1Dz:Cannot cast array data from complex dtype to float64 dtypec                 ó   •—  ‰| ||‰«      S r-   r%   ©r±  r«  r¬  r”   r‘   s      €€r'   Únp_interp_implz!np_interp.<locals>.np_interp_impl–
  s   ø€ Ù�Q˜˜B Ó&Ð&r&   c                 ó4   •—  ‰| ||‰«      j                   d   S rì   )rÅ   r¿  s      €€r'   Únp_interp_scalar_implz(np_interp.<locals>.np_interp_scalar_impl™
  s   ø€ Ù�Q˜˜B Ó&×+Ñ+¨AÑ.Ð.r&   )rf  r}   r   rÄ  rb   rÆ  rÇ  Úresult_typerÛ   rº  r¼  rU   r   r»   rä   )
r±  r«  r¬  Úcomplex_dtype_msgÚxp_dtÚfp_dtrÀ  rÂ  r”   r‘   s
           @@r'   Ú	np_interprÇ  {
  sö   ù€ ô ˆr�6Ô˜rŸw™w¨š{Ü˜/Ó*Ð*Üˆr�6Ô˜rŸw™w¨š{Ü˜/Ó*Ð*ð 	Eð ô ˜BÓ€EÜ	‡}�}�UœB×.Ñ.Ô/ÜÐ+Ó,Ð,ä˜BÓ€EÜ�N‰N˜5¤"§*¡*Ó-€Eä	‡}�}�UœB×.Ñ.Ô/Ü,‰ä$ˆõ'õ/ô �!”U—\‘\Ô"Ü�aœŸ™Ô'ÜÐ/Ó0Ð0Ø$Ð$àÐr&   c                 óô   — | j                   dk(  sJ ‚| j                  \  }}t        j                  |df| j                  ¬«      }t        |«      D ]&  }t        j                  | |d d …f   «      |z  ||df<   Œ( |S )Nr|   r*   r   r   )r}   r€   rb   rÂ   r”   r3   r¦  )r.   rï   rƒ  rÇ   r/   s        r'   Úrow_wise_averagerÉ  §
  ss   € à�6‰6�QŠ;Ðˆ;à�7‰7�D€A€qÜ
�(‰(�A�q�6 §¡Ô
)€Cä�1‹Xò (ˆÜ—F‘F˜1˜Q¢˜T™7“O aÑ'ˆˆAˆqˆDŠ	ð(ð €Jr&   c                 ó  — |€|rd}nd}| j                   d   |z
  }t        |d«      }| t        | «      z  } t        j                  | t        j
                  | j                  «      «      }|t        j                  d|«      z  }|S )Nr   r*   rÚ   )r€   r   rÉ  rb   Údotrî   ÚTr“  )ÚXÚbiasÚddofÚfactrf   s        r'   Únp_cov_impl_innerrÑ  ´
  s�   € ð €|ÙØ‰DàˆDð �7‰7�1‰:˜Ñ€Dô ˆt�S‹>€Dð Ô	˜!Ó	Ñ€Aô 	�‰ˆq”"—'‘'˜!Ÿ#™#“,Ó€AØŒ�‰˜˜4Ó	 Ñ €AØ€Hr&   c                   ó   — y r-   r%   r%   r&   r'   Ú_prepare_cov_input_innerrÓ  Í
  rF  r&   c                 ó>   — |d t         j                  fv rd„ }|S d„ }|S )Nc                 ó^   — t        j                  t        | «      «      }|s|j                  }|S r-   )rb   Ú
atleast_2dr:  rÌ  )rï   rô  Úrowvarr”   Úm_arrs        r'   rÓ  z9_prepare_cov_input_impl.<locals>._prepare_cov_input_innerÔ
  s%   € Ü—M‘M¤(¨1£+Ó.ˆEáØŸ™�àˆLr&   c                 ó¼  — t        j                  t        | «      «      }t        j                  t        |«      «      }|s<|j                  d   dk7  r|j                  }|j                  d   dk7  r|j                  }|j                  \  }}|j                  \  }}	||	k7  rt        d«      ‚t        j                  ||z   |f|¬«      }
||
d |…d d …f<   ||
| d …d d …f<   |
S )Nr   r*   z$m and y have incompatible dimensionsr   )rb   rÖ  r:  r€   rÌ  r~   rÂ   )rï   rô  r×  r”   rØ  Úy_arrÚm_rowsÚm_colsÚy_rowsÚy_colsrÇ   s              r'   rÓ  z9_prepare_cov_input_impl.<locals>._prepare_cov_input_innerÜ
  sÎ   € Ü—M‘M¤(¨1£+Ó.ˆEÜ—M‘M¤(¨1£+Ó.ˆEñ
 Ø—;‘;˜q‘> QÒ&Ø!ŸG™G�EØ—;‘;˜q‘> QÒ&Ø!ŸG™G�Eà"Ÿ[™[‰NˆF�FØ"Ÿ[™[‰NˆF�Fà˜ÒÜ Ð!GÓHÐHô —(‘(˜F V™O¨VÐ4¸EÔBˆCØ#ˆC���š�
‰OØ$ˆC��‘š!�ÑàˆJr&   rJ  )rï   rô  r×  r”   rÓ  s        r'   Ú_prepare_cov_input_implrß  Ñ
  s.   € àˆT”5—:‘:ÐÑò	ðD $Ð#ò5	ð4 $Ð#r&   c                 ób   — | j                   dk(  r | j                  d   dk(  rd}t        |«      ‚y y )Nr|   r   r*   zŸ2D array containing a single row is unsupported due to ambiguity in type inference. To use numpy.cov in this case simply pass the row as a 1D array, i.e. m[0].)r}   r€   r9  )rï   r«   s     r'   Ú_handle_m_dim_changerá  ù
  s6   € à‡v�v�‚{�q—w‘w˜q‘z Q’ð?ˆô ˜3ÓÐð	 '€{r&   c                 ó   — | S r-   r%   r°  s    r'   r·  r·    s   € ¨q€ r&   c                 óº  — t         j                  }t        | t        j                  «      rt        | j                  «      }|S t        | t        j                  t        j                  f«      rt        | «      }|S t        | t        j                  t        j                  f«      r®t        «       }| D ]?  }t        |d«      r |D �cg c]  }|j                  |«      ‘Œ c} Œ/|j                  |«       ŒA t        |«      dkD  r+t        j                  |D �cg c]  }t        |«      ‘Œ c}Ž }|S t        |«      dk(  rt        |j!                  «       «      }|S c c}w c c}w )Nr  r*   )rb   rÛ   rU   r   rº   r	   r”   r»   r¼   rG   rX   Úsetrf  ÚaddrF   r’  r�   )Ú
array_likeÚarray_like_dtÚcoltypesrñ   rg   Útys         r'   rÄ  rÄ    s  € Ü—J‘J€MÜ�*œeŸk™kÔ*Ü  ×!1Ñ!1Ó2ˆð Ðô 
�J¤§¡¬u¯}©}Ð =Ô	>Ü  Ó,ˆð Ðô 
�J¤§¡´·±Ð =Ô	>Ü“5ˆØò 	"ˆCÜ�s˜GÔ$Ø*-Ö. Q�—‘˜a•Ô.à—‘˜SÕ!ð		"ô
 ˆx‹=˜1ÒÜ×,Ñ,ÀhÖ.OÀ¬x¸­|Ò.OÐPˆMð Ðô �‹]˜aÒÜ$ X§\¡\£^Ó4ˆMàÐùò /ùò /Ps   ÃEÄEc                 ó²  — t        | t        j                  «      r*| j                  dkD  rt	        dj                  |«      «      ‚y t        | t        j                  «      ryt        | j                  d   t        j                  «      rQt        | j                  d   j                  d   t        j                  «      rdj                  |«      }t	        |«      ‚y y y )Nr|   z{0} has more than 2 dimensionsr   )rU   r   rº   r}   r   Úformatrì  rŸ  )ræ  Únamer«   s      r'   Úcheck_dimensionsrí    sª   € Ü�*œeŸk™kÔ*Ø�?‰?˜QÒÜ Ð!A×!HÑ!HÈÓ!NÓOÐOð ä	�J¤§¡Ô	/Ü�j—n‘n QÑ'¬¯©Ô8Ü˜*Ÿ.™.¨Ñ+×/Ñ/°Ñ2´E·N±NÔCØ6×=Ñ=¸dÓC�Ü$ SÓ)Ð)ð Dð 9ð 
0r&   c                 ó|   — t        j                  | «      st        d«      ‚| t        | «      z
  dk7  rt        d«      ‚y )Nz)Cannot convert non-finite ddof to integerr   zddof must be integral value)rb   r‘  r~   r–  )rÏ  s    r'   Ú_handle_ddofrï  %  s<   € ä�;‰;�tÔÜÐDÓEÐEØŒc�$‹iÑ˜1ÒÜÐ6Ó7Ð7ð r&   c                 ó   — | S r-   r%   r°  s    r'   r·  r·  -  s   € ¨a€ r&   c                 ó>   —  || «        ||«       t        | |||«      S r-   )rÓ  )rï   rô  r×  r”   rÏ  Ú_DDOF_HANDLERÚ_M_DIM_HANDLERs          r'   Ú_prepare_cov_inputrô  0  s%   € ñ �1ÔÙ�$ÔÜ# A q¨&°%Ó8Ð8r&   c                 óT  — |d t         j                  fv }t        | t         j                  «      r| j                  dk(  r|S t        | t         j
                  «      r_t        d„ | j                   D «       «      r|S t        | j                   «      dk(  r)t        | j                   d   t         j
                  «      r|S t        | t         j                  t         j                  f«      r|S t        | t         j                  «      r*t        | j                  d   t         j                  «      s|ryy)Nr*   c              3   óp   K  — | ].  }t        |t        j                  t        j                  f«      –— Œ0 y ­wr-   )rU   r   r»   r¼   )Ú.0r±  s     r'   ú	<genexpr>z)scalar_result_expected.<locals>.<genexpr>?  s,   è ø€ ò /Øô ˜!œeŸl™l¬E¯M©MÐ:×;ñ /ùs   ‚46r   TF)r   rK  rU   rº   r}   Ú	BaseTupler`  rF   r»   r¼   rì  rŸ  )Úmandatory_inputÚoptional_inputÚopt_is_nones      r'   Úscalar_result_expectedrý  8  sä   € Ø  T¬5¯:©:Ð$6Ð6€Kä�/¤5§;¡;Ô/°O×4HÑ4HÈAÒ4MØÐä�/¤5§?¡?Ô3Üñ /Ø'×-Ñ-ô/ô /àÐä�O×)Ñ)Ó*¨aÒ/Ü˜×4Ñ4°QÑ7¼¿¹ÔIØ"Ð"ä�/¤E§L¡L´%·-±-Ð#@ÔAØÐä�/¤5§>¡>Ô2Ü˜?×.Ñ.¨qÑ1´5·>±>ÔBÙØàr&   c                 ó‚   — t        j                  t        j                  | «      dkD  t        j                  | «      | «      S rm  )rb   r  ÚfabsÚsignr°  s    r'   Ú
_clip_corrr  R  s)   € ä�8‰8”B—G‘G˜A“J ‘N¤B§G¡G¨A£J°Ó2Ð2r&   c                 óf   — t        | j                  «      }t        | j                  «      }|d|z  z   S )NrV  )r  rí   r  )r±  rí   r  s      r'   Ú_clip_complexr  W  s-   € ä�a—f‘fÓ€DÜ�a—f‘fÓ€DØ�"�t‘)ÑÐr&   c                 ó.  ‡	‡
‡— t        | d«       t        |d«       |d t        j                  fv rt        Š	n]t	        |t        j
                  t        j                  f«      rt        Š	n,t	        |t        j                  «      rt        Š	nt        d«      ‚t        Š
t	        | t        j                  «      rt        Š
t        | «      }t        |«      }t        j                  ||t        j                   «      Šdˆ	ˆ
ˆfd„	}	 	 dˆ	ˆ
ˆfd„	}t#        | |«      r|S |S )Nrï   rô  z)ddof must be a real numerical scalar typec           	      óL  •— t        | ||‰|‰‰«      j                  ‰«      }t        j                  t        j                  |j
                  «      dk(  «      rBt        j                  |j
                  d   |j
                  d   ft        j                  ‰¬«      S t        |||«      S )Nr   r©  )	rô  rÝ  rb   r˜  rH  r€   r‚   rW  rÑ  )	rï   rô  r×  rÎ  rÏ  rÍ  rò  ró  r”   s	         €€€r'   Únp_cov_implznp_cov.<locals>.np_cov_impl}  sŠ   ø€ Ü˜q ! V¨U°D¸-Ø-ó/ß/5©v°e«}ð 	
ô �6‰6”"—(‘(˜1Ÿ7™7Ó# qÑ(Ô)Ü—7‘7˜AŸG™G A™J¨¯©°©
Ð3ÄÇÁØ!&ô(ð (ô % Q¨¨dÓ3Ð3r&   c           	      ó.  •— t        | |||‰	‰‰«      j                  ‰	«      }t        j                  t        j                  |j
                  «      dk(  «      rt        j                  }nt        |||«      j                  d   }t        j                  |«      S rì   )	rô  rÝ  rb   r˜  rH  r€   rW  rÑ  rÅ   )
rï   rô  r×  rÎ  rÏ  rÍ  Úvariancerò  ró  r”   s
          €€€r'   Únp_cov_impl_single_variablez+np_cov.<locals>.np_cov_impl_single_variable‡  sy   ø€ ä˜q ! V¨T°5¸-Ø-ó/ß/5©v°e«}ð 	
ô �6‰6”"—(‘(˜1Ÿ7™7Ó# qÑ(Ô)Ü—v‘v‰Hä(¨¨D°$Ó7×<Ñ<¸QÑ?ˆHä�x‰x˜Ó!Ð!r&   ©NTFN)rí  r   rK  Ú_handle_ddof_noprU   râ   r¼   rã   rï  r   Ú_handle_m_dim_noprº   rá  rÄ  rb   rÃ  rÛ   rý  )rï   rô  r×  rÎ  rÏ  Úm_dtÚy_dtr  r	  rò  ró  r”   s            @@@r'   Únp_covr  ^  sÞ   ú€ ô �Q˜ÔÜ�Q˜Ôð �”e—j‘jÐ!Ñ!Ü(‰ä�dœUŸ]™]¬E¯M©MÐ:Ô;Ü,‰MÜ˜œeŸk™kÔ*Ü(‰MäÐIÓJÐJô
 '€NÜ�!”U—[‘[Ô!Ü-ˆô ˜1Ó€DÜ˜1Ó€DÜ�N‰N˜4 ¤r§z¡zÓ2€E÷4ð BGØ)-÷
"ô ˜a Ô#Ø*Ð*àÐr&   c                 óî   ‡— t        | «      }t        |«      }t        j                  ||t        j                  «      }|t        j                  k(  rt
        Šnt        Šdˆfd„	}dd„}t        | |«      r|S |S )Nc                 ó(  •— t        j                  | ||«      }t        j                  |«      }t        j                  |j                  «      }t        |j                  d   «      D ]$  }||d d …fxx   |z  cc<   |d d …|fxx   |z  cc<   Œ&  ‰|«      S rì   )rb   ÚcovÚdiagÚsqrtrí   r3   r€   )r±  rô  r×  rf   ry  Ústddevr/   Úclip_fns          €r'   Únp_corrcoef_implz%np_corrcoef.<locals>.np_corrcoef_impl¥  s   ø€ Ü�F‰F�1�a˜Ó ˆÜ�G‰G�A‹JˆÜ—‘˜Ÿ™“ˆä�q—w‘w˜q‘zÓ"ò 	ˆAØˆa’ˆd‹G�vÑ‹GØŠa�ˆd‹G�vÑŒGð	ñ �q‹zÐr&   c                 ó:   — t        j                  | ||«      }||z  S r-   )rb   r  )r±  rô  r×  rf   s       r'   Ú np_corrcoef_impl_single_variablez5np_corrcoef.<locals>.np_corrcoef_impl_single_variable°  s   € Ü�F‰F�1�a˜Ó ˆØ�1‰uˆr&   ©NT)rÄ  rb   rÃ  rÛ   Ú
complex128r  r  rý  )	r±  rô  r×  r“  r  r”   r  r  r  s	           @r'   Únp_corrcoefr  ™  sg   ø€ ô ˜1Ó€DÜ˜1Ó€DÜ�N‰N˜4 ¤r§z¡zÓ2€Eà”—‘ÒÜ‰äˆõ	óô ˜a Ô#Ø/Ð/àÐr&   c                 ó–   ‡‡— t        | t        j                  t        j                  f«      }t	        | «      r|sd„ }|S dŠdŠˆˆfd„}|S )Nc                 ó
  — t        j                  | «      }|j                  dk(  r%t        j                  dt        j
                  ¬«      S t        j                  t        j                  t        j                  |«      «      «      S )Nr%   )r   r*   r   )	rb   rˆ  r€   rú  r   r5   rQ  Úvstackr  r;  s     r'   rY  znp_argwhere.<locals>.implÅ  sO   € Ü—*‘*˜Q“-ˆCØ�y‰y˜BŠÜ—x‘x ¬e¯j©jÔ9Ð9Ü—<‘<¤§	¡	¬"¯*©*°S«/Ó :Ó;Ð;r&   )r   r   )r*   r   c                 ó²   •— | �0t        | «      r%t        j                  ‰t        j                  ¬«      S t        j                  ‰t        j                  ¬«      S rÿ  )rd  rb   rú  r   r5   )r.   ÚfalseishÚtrueishs    €€r'   rY  znp_argwhere.<locals>.implÎ  s8   ø€ Øˆ}¤ a¤Ü—x‘x ¬u¯z©zÔ:Ð:ä—x‘x ´·
±
Ô;Ð;r&   )rU   r   r»   r¼   r
   )r.   Ú
use_scalarrY  r!  r"  s      @@r'   Únp_argwherer$  ¾  sL   ù€ ô
 ˜A¤§¡¬e¯m©mÐ<Ó=€JÜ˜Ô¡:ò	<ð €Kð ˆØˆõ	<ð €Kr&   c                 ó,   — t        | «      rd„ }|S d„ }|S )Nc                 ó‚   — t        j                  | «      }t        j                  t        j                  |«      «      d   S rì   )rb   rˆ  r  rR  r;  s     r'   rY  znp_flatnonzero.<locals>.implÛ  s+   € Ü—*‘*˜Q“-ˆCÜ—:‘:œbŸh™h s›mÓ,¨QÑ/Ð/r&   c                 ó¨   — | �t        | «      rdg}nt        d«      D �cg c]  }|‘Œ }}t        j                  |t        j
                  ¬«      S c c}w )Nr   r   )rd  r3   rb   rH  r   r5   )r.   rA   r±  s      r'   rY  znp_flatnonzero.<locals>.implß  sE   € Øˆ}¤ a¤Ø�s‘ä#(¨£8Ö,˜ašÐ,�Ð,Ü—8‘8˜D¬¯
©
Ô3Ð3ùò -s   Ÿ	Ar¹  )r.   rY  s     r'   Únp_flatnonzeror(  ×  s$   € ô ˜Ôò	0ð €Kò	4ð €Kr&   c                 óÆ  — | j                   dk(  rA| j                  d   }| j                  d   }d|z   }|r	||z  }||fS |t        ||«      z  }||fS t        j                  | j                  «      }t        j
                  t        j                  |«      dk(  «      st        d«      ‚dt        j                  |d d «      j                  «       z   }|j                  «       }||fS )Nr|   r   r*   z/All dimensions of input must be of equal lengthrP  )r}   r€   r  rb   rH  r`  rU  r~   rÒ   r¦  r³   )r.   Úwraprï   rƒ  ÚsteprZ  r€   s          r'   Ú_fill_diagonal_paramsr,  é  sÕ   € à‡v�v�‚{Ø�G‰G�A‰JˆØ�G‰G�A‰JˆØ�1‰uˆÙØ�a‘%ˆCð �ˆ9Ðð ”c˜!˜Q“i‘-ˆCð �ˆ9Ðô —‘˜Ÿ™Ó!ˆä�v‰v”b—g‘g˜e“n¨Ñ)Ô*ÜÐNÓOÐOà”B—J‘J˜u S b˜zÓ*×/Ñ/Ó1Ñ1ˆØ�j‰j‹lˆà�ˆ9Ðr&   c                 ód   — t        | |«      \  }}t        d||«      D ]  }|| j                  |<   Œ y rì   )r,  r3   rÅ   )r.   rñ   r*  rZ  r+  r/   s         r'   Ú_fill_diagonal_scalarr.  ÿ  s7   € ä% a¨Ó.�I€Cˆä�1�c˜4Ó ò ˆØˆ�‰ˆqŠ	ñr&   c                 ó˜   — t        | |«      \  }}d}t        |«      }t        d||«      D ]  }||   | j                  |<   |dz  }||z  }Œ  y rË  )r,  rF   r3   rÅ   )r.   rñ   r*  rZ  r+  ÚctrÚv_lenr/   s           r'   Ú_fill_diagonalr2    s[   € ä% a¨Ó.�I€CˆØ
€CÜ�‹H€Eä�1�c˜4Ó ò ˆØ˜‘Hˆ�‰ˆq‰	Øˆq‰ˆØ�E‰k‰ñr&   c                 ó:  — t        j                  | j                  «      }|j                  }|j                  }t        j
                  t        j                  |«       «      s0t        j
                  ||k  «      st        j
                  ||kD  «      rt        d«      ‚y ©Nz'Unable to safely conform val to a.dtype)rb   Úiinfor”   r  r   r˜  r‘  r~   )r.   rñ   r5  Úv_minÚv_maxs        r'   Ú_check_val_intr8    sp   € ä�H‰H�Q—W‘WÓ€EØ�I‰I€EØ�I‰I€Eô 
‡v�vŒr�{‰{˜3ÓÐÔ ¤B§F¡F¨3°©;Ô$7¼2¿6¹6À#ÈÁ+Ô;NÜÐBÓCÐCð <Or&   c                 ó  — t        j                  | j                  «      }|j                  }|j                  }|t        j
                  |«         }t        j                  ||k  «      st        j                  ||kD  «      rt        d«      ‚y r4  )rb   Úfinfor”   r  r   r‘  r˜  r~   )r.   rñ   r:  r6  r7  Úfinite_valss         r'   Ú_check_val_floatr<    sn   € ä�H‰H�Q—W‘WÓ€EØ�I‰I€EØ�I‰I€Eð ”b—k‘k #Ó&Ñ'€KÜ	‡v�vˆk˜EÑ!Ô"¤b§f¡f¨[¸5Ñ-@Ô&AÜÐBÓCÐCð 'Br&   c                 ó   — | S r-   r%   ©r±  rô  s     r'   r·  r·  +  s   € ¨1€ r&   c                  ó   — y r-   r%   r°  s    r'   r:  r:  .  rF  r&   c                 ó  ‡— t        | t        j                  «      rd„ S t        | t        j                  t        j                  f«      rd„ S t        | t        j
                  t        j                  f«      rt        | «      Šˆfd„S y )Nc                 ó   — | S r-   r%   r°  s    r'   r·  z_asarray_impl.<locals>.<lambda>5  s   € ˜€ r&   c                 ó,   — t        j                  | «      S r-   rG  r°  s    r'   r·  z_asarray_impl.<locals>.<lambda>7  s   € œŸ™ !›€ r&   c                 ó4   •— t        j                  | g‰¬«      S rÿ  rG  ©r±  ré  s    €r'   r·  z_asarray_impl.<locals>.<lambda>:  s   ø€ œŸ™ 1 #¨RÔ0€ r&   )rU   r   rº   rì  rX   r»   r¼   r	   rD  s    @r'   Ú_asarray_implrE  2  s_   ø€ ä�!”U—[‘[Ô!ÙÐÜ	�AœŸ™¬¯©Ð4Ô	5Ù$Ð$Ü	�AœŸ™¤e§m¡mÐ4Ô	5Ü�a‹[ˆÛ0Ð0ð 
6r&   c                 ó  ‡— | j                   dkD  rßt        | j                  t        j                  «      rt
        Šn1t        | j                  t        j                  «      rt        Šnt        Šdˆfd„	}dˆfd„	}t        |t        j                  t        j                  t        j                  f«      r|S t        |t        j                  t        j                  t        j                  f«      r|S y d| j                   z  }t        |«      ‚)Nr*   c                 ód   •— t        |«      j                  «       } ‰| |«       t        | ||«       y r-   )r:  r‰  r.  ©r.   rñ   r*  ÚtmpvalÚcheckers       €r'   Úscalar_implz%np_fill_diagonal.<locals>.scalar_implK  s+   ø€ Ü˜c“]×*Ñ*Ó,ˆFÙ�A�vÔÜ! ! S¨$Õ/r&   c                 ód   •— t        |«      j                  «       } ‰| |«       t        | ||«       y r-   )r:  r‰  r2  rH  s       €r'   Únon_scalar_implz)np_fill_diagonal.<locals>.non_scalar_implP  s+   ø€ Ü˜c“]×*Ñ*Ó,ˆFÙ�A�vÔÜ˜1˜f dÕ+r&   z4The first argument must be at least 2-D (found %s-D)©F)r}   rU   r”   r   râ   r8  rã   r<  Ú
_check_nopr¼   rX   rì  rº   r   )r.   rñ   r*  rK  rM  r«   rJ  s         @r'   Únp_fill_diagonalrP  =  s¹   ø€ ð 	‡v�v�‚zô �a—g‘gœuŸ}™}Ô-Ü$‰GÜ˜Ÿ™¤§¡Ô-Ü&‰Gä ˆGõ	0õ
	,ô
 �cœEŸK™K¬¯©¼¿¹ÐFÔGØÐÜ˜œeŸk™k¬5¯>©>¼5¿;¹;ÐGÔHØ"Ð"ð Ið EÀqÇvÁvÑMˆÜ˜#ÓÐr&   c                 ó"   — d| j                   fz  S )Nzllvm.rint.f%d)rÎ   )Útps    r'   Ú_np_round_intrinsicrS  ^  s   € à˜bŸk™k˜^Ñ+Ð+r&   c                 ó    —  ||«      }d„ }||fS )Nc                 ó:  — |\  }|j                   d   }| j                  |«      }|j                  }t        j                  j                  ||g«      }t        j                  ||t        |«      «      }	|j                  |	|f«      }
t        | ||j                  |
«      S rì   )r;   r1   ÚmoduleÚllvmliteÚirÚFunctionTyper   Úget_or_insert_functionrS  Úcallr   ro   )rr   r9   rs   r;   rñ   rR  ÚlltyrV  ÚfntyrØ  rt   s              r'   rE   z _np_round_float.<locals>.codegeng  s‹   € Ø‰ˆØ�X‰X�a‰[ˆØ×%Ñ% bÓ)ˆØ—‘ˆÜ�{‰{×'Ñ'¨¨t¨fÓ5ˆÜ×+Ñ+¨F°DÜ,?ÀÓ,CóEˆà�l‰l˜2 ˜vÓ&ˆÜ! '¨7°C·O±OÀSÓIÐIr&   r%   )Ú	typingctxrñ   rs   rE   s       r'   Ú_np_round_floatr_  c  s   € á
ˆc‹(€Cò	Jð �ˆ<Ðr&   c                 ó$  — t        j                  | «      st        j                  | «      r| S |dk\  rG|dkD  rd|dz
  z  }d}nd|z  }d}| |z  |z  }t        j                  |«      r| S t        |«      |z  |z  S d| z  }| |z  }t        |«      |z  S )Nr   é   g      $@g’ÕMÏð€Drm  )r”  ro  r  r_  )r±  ÚndigitsÚpow1Úpow2rô  s        r'   Úround_ndigitsre  u  s©   € ä‡z�z�!„}œŸ
™
 1œØˆð �!‚|Ø�RŠ<ð ˜G b™LÑ)ˆDØ‰Dà˜7‘?ˆDØˆDØ�‰X˜ÑˆÜ�:‰:�aŒ=ØˆHÜ Ó" TÑ)¨TÑ1Ð1ð ˜˜Ñ!ˆØ�‰HˆÜ˜qÓ! DÑ(Ð(r&   c                 óL  — t        | «      st        d«      ‚t        |t        j                  «      st        |«      sd}t        |«      ‚t        | t        j                  t        j                  t        j                  f«      rrt        |«      r`t        | t        j                  «      rd	d„}|S t        | t        j                  «      rd	d„}|S t        | t        j                  «      rd	d„}|S d	d„}|S y t        | t        j                  «      rt        |«      rd	d„}|S d	d„}|S y )
Nz#The argument "a" must be array-likez5The argument "out" must be an array if it is providedc                 ó:   — |dk(  rt        | «      S t        | |«      S rì   )r_  re  ©r.   ÚdecimalsrÇ   s      r'   rY  zimpl_np_round.<locals>.impl�  s!   € Ø 1’}Ü.¨qÓ1Ð1ä,¨Q°Ó9Ð9r&   c                 ó:   — |dk(  r| S t        t        | |«      «      S rì   )r–  re  rh  s      r'   rY  zimpl_np_round.<locals>.impl¤  s    € Ø 1’}Ø ˜ä"¤=°°HÓ#=Ó>Ð>r&   c                 óÒ   — |dk(  r+t        | j                  «      }t        | j                  «      }n,t        | j                  |«      }t        | j                  |«      }t	        ||«      S rì   )r_  rí   r  re  Úcomplex)r.   ri  rÇ   rí   r  s        r'   rY  zimpl_np_round.<locals>.impl«  sR   € Ø 1’}Ü.¨q¯v©vÓ6˜Ü.¨q¯v©vÓ6™ä,¨Q¯V©V°XÓ>˜Ü,¨Q¯V©V°XÓ>˜Ü" 4¨Ó.Ð.r&   c                 ó8   — t        j                  | |«      |d<   |S rì   )rb   Úroundrh  s      r'   rY  zimpl_np_round.<locals>.implµ  s   € ÜŸ™ ! XÓ.��A‘Ø�
r&   c                 óZ   — t        j                  | «      }t        j                  | ||«      S r-   )rb   rÏ  rn  rh  s      r'   rY  zimpl_np_round.<locals>.impl»  s#   € Ü—m‘m AÓ&�Ü—x‘x  8¨SÓ1Ð1r&   c                 óº   — | j                   |j                   k7  rt        d«      ‚t        j                  | «      D ]  \  }}t        j                  ||«      ||<   Œ  |S )Nzinvalid output shape)r€   r~   rb   rÞ  rn  )r.   ri  rÇ   rà  rñ   s        r'   rY  zimpl_np_round.<locals>.implÀ  sS   € Ø—7‘7˜cŸi™iÒ'Ü$Ð%;Ó<Ð<Ü"$§.¡.°Ó"3ò 9‘J�E˜3Ü!#§¡¨#¨xÓ!8�C˜’Jð9à�
r&   r"  )	r
   r   rU   r   rº   r   rã   râ   rä   )r.   ri  rÇ   r«   rY  s        r'   Úimpl_np_roundrq  �  sö   € ô ˜AÔÜÐ?Ó@Ð@ä�sœEŸK™KÔ(¬K¸Ô,<ØEˆÜ˜#ÓÐä�!”e—k‘k¤5§=¡=´%·-±-Ð@ÔAÜ�sÔÜ˜!œUŸ[™[Ô)ó:ð
 �Ü˜AœuŸ}™}Ô-ó?ð
 �Ü˜AœuŸ}™}Ô-ó/ð �óð ˆKð .ô 
�A”u—{‘{Ô	#Ü�sÔó2ð ˆKóð ˆKð 
$r&   c                 ó”   — t        | t        j                  «      rd„ }|S t        | t        j                  «      rd„ }|S t	        d«      ‚)Nc                 óf   — | dk(  rd} | t         j                  z  } t        j                  | «      | z  S )NrÚ   g#B’¡œÇ;)rb   ÚpiÚsinr°  s    r'   rY  zimpl_np_sinc.<locals>.implÐ  s-   € Ø�DŠyØ�Ø”—‘‰JˆAÜ—6‘6˜!“9˜q‘=Ð r&   c                 óš   — t        j                  | «      }t        j                  | «      D ]  \  }}t        j                  |«      ||<   Œ |S r-   )rb   r  rÞ  Úsinc)r±  rÇ   rà  rñ   s       r'   rY  zimpl_np_sinc.<locals>.impl×  sB   € Ü—-‘- Ó"ˆCÜ Ÿn™n¨QÓ/ò *‘
��sÜŸW™W S›\��E’
ð*àˆJr&   z,Argument "x" must be a Number or array-like.)rU   r   r»   rº   r   rÌ  s     r'   Úimpl_np_sincrx  Í  sB   € ä�!”U—\‘\Ô"ò	!ð
 ˆÜ	�A”u—{‘{Ô	#ò	ð
 ˆäÐKÓLÐLr&   c                 ó„  ‡‡— t        dt        j                  z  «      Št        | t        j
                  «      rdˆfd„	}|S t        | t        j                  «      rY| j                  }t        |t        j                  «      r|j                  Šnt        |t        j                  «      r|Šny dˆfd„	}|S t        d| › �«      ‚)Né´   c                 ó¶   •— |r-t        j                  | j                  | j                  «      ‰z  S t        j                  | j                  | j                  «      S r-   )rb   Úarctan2r  rí   )r  ÚdegÚdeg_mults     €r'   rY  zov_np_angle.<locals>.implç  s=   ø€ ÙÜ—z‘z !§&¡&¨!¯&©&Ó1°HÑ<Ð<ä—z‘z !§&¡&¨!¯&©&Ó1Ð1r&   c                 ó¢   •— t        j                  | ‰¬«      }t        j                  | «      D ]  \  }}t        j                  ||«      ||<   Œ  |S rÿ  )rb   r  rÞ  Úangle)r  r}  rÇ   rà  rñ   Ú	ret_dtypes        €r'   rY  zov_np_angle.<locals>.impl÷  sH   ø€ Ü—-‘- ¨Ô3ˆCÜ Ÿn™n¨QÓ/ò 0‘
��sÜŸX™X c¨3Ó/��E’
ð0àˆJr&   z6Argument "z" must be a complex or Array[complex]. Got rN  )r”  rb   rt  rU   r   r»   rº   r”   rä   Úunderlying_floatrã   r   )r  r}  rY  r”   r~  r�  s       @@r'   Úov_np_anglerƒ  á  sŸ   ù€ ä�Sœ2Ÿ5™5‘[Ó!€Hô �!”U—\‘\Ô"õ	2ð
 ˆÜ	�A”u—{‘{Ô	#Ø—‘ˆä�eœUŸ]™]Ô+Ø×.Ñ.‰IÜ˜œuŸ{™{Ô+Ø‰Iàõ	ð
 ˆäð 7Ø78°cð;ó <ð 	<r&   zarray.nonzeroc                 ó~  — |j                   d   }|j                  }|j                  }|j                  } t	        |«      | ||d   «      }t        j                  ||j                  «      }	t        j                  ||j                  «      }
|j                  }|j                  }| j                  t        j                  d«      }| j                  t        j                  d«      }t        j                  ||«      }t        j                  ||	|j                   «      5 }t        j"                  | |||	|
||«      }t%        | |||«      }| j'                  ||j                  |«      }|j)                  |«      5  |j+                  |j-                  |j/                  |«      |«      |«       d d d «       d d d «       |j/                  |«      f}t1        |«      D �cg c]  }t3        | |||«      j5                  «       ‘Œ  }}|D �cg c]  } t	        |«      | ||«      ‘Œ }}|D �cg c]  }|j                  ‘Œ }}t        j                  ||«      }t        j                  ||	|j                   «      5 }t        j"                  | |||	|
||«      }t%        | |||«      }| j'                  ||j                  |«      }|j)                  |«      5  |s|f}|j/                  |«      }t1        |«      D ]3  }t        j"                  | |||   |dd|g«      }t7        | ||||   |«       Œ5 |j+                  |j-                  ||«      |«       d d d «       d d d «       | j9                  ||j                  |«      }t;        | ||j                  |«      S # 1 sw Y   �ŒÝxY w# 1 sw Y   �ŒâxY wc c}w c c}w c c}w # 1 sw Y   ŒoxY w# 1 sw Y   ŒsxY w)Nr   r*   r%   ÚC)r;   ro   r”   r  r   r   Úunpack_tupler€   ÚstridesrA   Úlayoutr4   r   r5   Úalloca_once_valueÚ	loop_nestrƒ   Úget_item_pointer2r   Úis_trueÚif_thenÚstorerå  Úloadr3   r   Ú	_getvaluer   Ú
make_tupler   )rr   r9   rs   r;   ÚarytyrŸ   ÚoutarytyÚnoutsrV  r€   r‡  rA   rˆ  rh   r*  r  ÚindicesÚptrrñ   ÚnzÚ	out_shaper/   ÚoutsrÇ   ÚoutarysÚ	out_datasrà  Úcurr=   s                                r'   Úarray_nonzeror�    sg  € ð �H‰H�Q‰K€Eà�O‰O€EØ�{‰{€HØ�K‰K€Eà
Œ*�UÓ
˜G W¨d°1©gÓ
6€CÜ× Ñ  ¨#¯)©)Ó4€EÜ×"Ñ" 7¨C¯K©KÓ8€GØ�8‰8€DØ�\‰\€Fð ×Ñ¤§
¡
¨AÓ.€DØ
×
Ñ
œuŸz™z¨1Ó
-€CÜ×%Ñ% g¨tÓ4€EÜ	×	Ñ	˜7 E¨4¯9©9Ó	5ð H¸Ü×'Ñ'¨°¸$ÀÀwØ(.°ó9ˆä˜ ¨%°Ó5ˆØ�_‰_˜W e§k¡k°3Ó7ˆØ�_‰_˜RÓ ñ 	HØ�M‰M˜'Ÿ+™+ g§l¡l°5Ó&9¸3Ó?ÀÔG÷	H÷Hð —‘˜eÓ$Ð&€Iä˜5“\ö#Øô ˜7 G¨X°yÓA×KÑKÕMð #€Dð #àFJÖK¸sÐ#Œz˜(Ó# G¨W°cÕ:ÐK€GÐKØ%,Ö-˜c�—“Ð-€IÐ-ô ×%Ñ% g¨tÓ4€EÜ	×	Ñ	˜7 E¨4¯9©9Ó	5ð 8¸Ü×'Ñ'¨°¸$ÀÀwØ(.°ó9ˆä˜ ¨%°Ó5ˆØ�_‰_˜W e§k¡k°3Ó7ˆØ�_‰_˜RÓ ñ 	8áà˜'�Ø—,‘,˜uÓ%ˆCÜ˜5“\ò H�Ü×/Ñ/°¸À)ÈAÁ,Ø09¸2Ø03°c°Uó<�ô ˜7 G¨X°w¸q±zÀ3ÕGð	Hð
 �M‰M˜'Ÿ+™+ c¨3Ó/°Ô7÷	8÷8ð$ ×
Ñ
˜W c§o¡o°tÓ
<€CÜ˜G W¨c¯o©o¸sÓCÐC÷?	Hñ 	Hú÷Hñ Hüò#ùâKùÚ-÷	8ð 	8ú÷8ð 8ús]   ÄANÅ12M>Æ#NÇ#NÇ;NÈN"É'AN3Ê?A:N'Ì9N3Í>N	ÎNÎNÎ'N0	Î,N3Î3N<c                 ó   ‡ — ˆ fd„}|S )Nc                 ó    •— t        j                  |«      j                  ‰«      }t        j                  |«      j                  ‰«      }| r|S |S r-   )rb   rˆ  rÝ  )Ú	conditionr±  rô  Úx_Úy_r”   s        €r'   rY  z)_where_zero_size_array_impl.<locals>.impl=  s@   ø€ Ü�Z‰Z˜‹]×!Ñ! %Ó(ˆÜ�Z‰Z˜‹]×!Ñ! %Ó(ˆÙˆrÐ& BÐ&r&   r%   )r”   rY  s   ` r'   Ú_where_zero_size_array_implr£  <  s   ø€ ô'ð €Kr&   c                 ó^   — t        j                  | «      D ]  \  }}|r||   n||   ||<   Œ |S r-   )rb   rÞ  )Úcondr±  rô  rt   rÈ   rf   s         r'   Ú_where_generic_inner_implr¦  D  s8   € ä—.‘. Ó&ò +‰ˆˆQÙ�1�S’6 A c¡FˆˆCŠð+à€Jr&   c                 ó¾   — | j                   }|j                   }|j                   }|j                   }t        | j                  «      D ]  }||   r||   n||   ||<   Œ |S r-   )rÅ   r3   rÃ   )	r¥  r±  rô  rt   ÚcfÚxfÚyfÚrfr/   s	            r'   Ú_where_fast_inner_implr¬  K  s\   € à	�‰€BØ	
�‰€BØ	
�‰€BØ	�‰€BÜ�4—9‘9Óò *ˆØ˜Aš��1’ B q¡Eˆˆ1Šð*à€Jr&   c                 ó*   ‡ ‡‡— ‰dhdhfv Šˆ ˆˆfd„}|S )Nr…  ÚFc                 ó4  •— t        j                  | «      t        j                  |«      t        j                  |«      }}}t        j                  |j                  |j                  |j                  «      }t        j                  ||«      }t        j                  ||«      }t        j                  ||«      }	‰dk(  r(t        j
                  |d d d…   ‰¬«      j                  }
nt        j
                  |‰¬«      }
‰rt        |||	|
«      S t        |||	|
«      S )Nr®  rP  r   )	rb   rˆ  r  r€   r  rÂ   rÌ  r¬  r¦  )r   r±  rô  Úcond1Úx1Úy1r€   Úcond_r¡  r¢  rt   r”   rˆ  Úuse_faster_impls              €€€r'   rY  z!_where_generic_impl.<locals>.implY  sÓ   ø€ ÜŸ
™
 9Ó-¬r¯z©z¸!«}¼b¿j¹jÈ»m�2ˆrˆÜ×#Ñ# E§K¡K°·±¸2¿8¹8ÓDˆÜ—‘  uÓ-ˆÜ�_‰_˜R Ó'ˆÜ�_‰_˜R Ó'ˆà�SŠ=Ü—(‘(˜5¡ 2 ™;¨eÔ4×6Ñ6‰Cä—(‘(˜5¨Ô.ˆCáÜ)¨%°°R¸Ó=Ð=ä,¨U°B¸¸CÓ@Ð@r&   r%   )r”   rˆ  rY  r´  s   `` @r'   Ú_where_generic_implrµ  V  s"   ú€ Ø # ¨¨ Ð.€OöAð" €Kr&   c                 ó<   — t        | «      sd}t        |«      ‚d„ }|S )Nú+The argument "condition" must be array-likec                 óH   — t        j                  | «      j                  «       S r-   )rb   rˆ  r  )r   s    r'   Úwhere_cond_none_nonez)ov_np_where.<locals>.where_cond_none_nones  s   € Ü�z‰z˜)Ó$×,Ñ,Ó.Ð.r&   )r
   r   )r   r«   r¹  s      r'   Úov_np_whererº  m  s%   € ä˜IÔ&Ø;ˆÜ˜SÓ!Ð!ò/àÐr&   c                 ó  — t        | «      sd}t        |«      ‚t        |«      st        |«      rt        d«      ‚t        ||fd«      D ],  \  }}t        |«      rŒd}t        |j	                  |«      «      ‚ t        | t        j                  «      }t        |t        j                  «      }t        |t        j                  «      }|rµt        |«      }	t        |«      }
t        j                  |	|
«      }d„ }t        | ||fD �cg c]
  } ||«      ‘Œ c}«      }|rt        |«      S | j                  }|r=|r;|j                  |j                  cxk(  r| j                  k(  rn n|j                  }nd}t        ||«      S d„ }|S c c}w )Nr·  z"Argument "x" or "y" cannot be Noner>  z0The argument "{}" must be array-like if providedc                 ó�   — t        | t        j                  «      xs+ t        | t        j                  «      xr | j                  dk(  S rì   )rU   r   r»   rº   r}   )Úargs    r'   Úcheck_0_dimz$ov_np_where_x_y.<locals>.check_0_dimš  s7   € Ü˜c¤5§<¡<Ó0ò @Ü˜3¤§¡Ó,Ò>°·±¸Q±ð@r&   rn  c                 ó¢   — t        j                  t        j                  | «      t        j                  |«      t        j                  |«      «      S r-   )rb   r  rˆ  )r   r±  rô  s      r'   rY  zov_np_where_x_y.<locals>.impl©  s.   € Ü—8‘8œBŸJ™J yÓ1´2·:±:¸a³=Ä"Ç*Á*ÈQÃ-ÓPÐPr&   )r
   r   r   Úziprë  rU   r   rº   rÄ  rb   r’  r`  r£  rˆ  rµ  )r   r±  rô  r«   r½  rì  Úcond_arrr�  rÚ  r“  r  r”   r¾  r.   Úspecial_0_caserˆ  rY  s                    r'   Úov_np_where_x_yrÃ  x  s\  € ä˜IÔ&Ø;ˆÜ˜SÓ!Ð!ô �1„~œ QœäÐAÓBÐBä˜!˜Q˜ Ó,ò 3‰	ˆˆTÜ Õ$ØDˆCÜ  §¡¨DÓ!1Ó2Ð2ð3ô
 ˜)¤U§[¡[Ó1€HÜ�qœ%Ÿ+™+Ó&€EÜ�qœ%Ÿ+™+Ó&€EáÜ˜qÓ!ˆÜ˜qÓ!ˆÜ× Ñ   tÓ,ˆò	@ô °yÀ!ÀQÐ6GÖH°™k¨!�nÒHÓIˆÙÜ.¨uÓ5Ð5à×!Ñ!ˆÙ‘UØ�x‰x˜1Ÿ8™8Ô7 y×'7Ñ'7Õ7ØŸ™‘à�Ü" 5¨&Ó1Ð1ò	Qàˆùò Is   ÄFc                 ó   — d„ }|S )Nc                 ó   — | j                   S r-   )rí   rR  s    r'   Únp_real_implznp_real.<locals>.np_real_impl°  ó   € Ø�x‰xˆr&   r%   )rñ   rÆ  s     r'   Únp_realrÈ  ®  ó   € òð Ðr&   c                 ó   — d„ }|S )Nc                 ó   — | j                   S r-   )r  rR  s    r'   Únp_imag_implznp_imag.<locals>.np_imag_impl¸  rÇ  r&   r%   )rñ   rÌ  s     r'   Únp_imagrÍ  ¶  rÉ  r&   c                 óB   — t        | t        j                  «      sy d„ }|S )Nc                 óF   — t        j                  | «      D ]	  }||k(  sŒ	 y yr  )rb   rc   )re   rŸ  r±  s      r'   Únp_contains_implz%np_contains.<locals>.np_contains_implÆ  s(   € Ü—‘˜3“ò 	ˆAØ�C‹xÙð	ð r&   ró   )re   rŸ  rÐ  s      r'   Únp_containsrÑ  Á  s    € ä�cœ5Ÿ;™;Ô'Øòð Ðr&   c                 ó\   — t        | «      st        d«      ‚t        |«      rdd„}|S dd„}|S )Nz3The argument to np.count_nonzero must be array-likec                 ó\   — t        j                  | «      }t        j                  |dk7  «      S rì   )rb   rR  r¦  ©r.   rZ   Úarr2s      r'   rY  znp_count_nonzero.<locals>.implÕ  s"   € Ü—8‘8˜A“;ˆDÜ—6‘6˜$ !™)Ó$Ð$r&   c                 ón   — | j                  t        j                  «      }t        j                  ||¬«      S )N)rZ   )rÝ  rb   rÍ   r¦  rÔ  s      r'   rY  znp_count_nonzero.<locals>.implÚ  s%   € Ø—8‘8œBŸH™HÓ%ˆDÜ—6‘6˜$ TÔ*Ð*r&   r-   )r
   r   r   )r.   rZ   rY  s      r'   Únp_count_nonzeror×  Ï  s6   € ä˜AÔÜÐOÓPÐPä�4Ôó	%ð ˆó	+ð ˆr&   c                 ó   — | S r-   r%   r°  s    r'   r·  r·  à  s   € ¸€ r&   c                 ó,   — t        j                  | «      S r-   rq  r°  s    r'   r·  r·  á  s   € ¼¿
¹
À1»€ r&   c                 óî  ‡— t        | t        j                  t        j                  f«      st	        d«      ‚t        |t        j                  t        j                  t        j
                  f«      r]t        |t        j
                  «      rt        Šn5t        |j                  t        j                  «      st	        d«      ‚t        Šˆfd„}|S t        |t        j                  «      st	        d«      ‚d„ }|S )Nz)arr must be either an Array or a Sequencezobj should be of Integer dtypec                 óÚ   •— t        j                  t        j                  | «      «      } | j                  }t        j                  |t         j
                  ¬«      } ‰|«      }d||<   | |   S )Nr   F)rb   rR  rˆ  rÃ   ÚonesrÍ   )re   rP  rõ  ÚkeepÚhandlers       €r'   Únp_delete_implz!np_delete.<locals>.np_delete_implô  sR   ø€ Ü—(‘(œ2Ÿ:™: c›?Ó+ˆCØ—‘ˆAä—7‘7˜1¤B§H¡HÔ-ˆDÙ˜#“,ˆCØˆD�‰IØ�t‘9Ðr&   c                 óî   — t        j                  t        j                  | «      «      } | j                  }|}|| k  s||k\  rt	        d«      ‚|dk  r||z  }t        j
                  | d | | |dz   d  f«      S )Nz"obj must be less than the len(arr)r   r*   )rb   rR  rˆ  rÃ   Ú
IndexErrorÚconcatenate)re   rP  rõ  Úposs       r'   Únp_delete_scalar_implz(np_delete.<locals>.np_delete_scalar_impl  sw   € Ü—(‘(œ2Ÿ:™: c›?Ó+ˆCØ—‘ˆAØˆCà�q�b’˜C 1šHÜ Ð!EÓFÐFð �a’Ø�q‘�ä—>‘> 3 t¨ 9¨c°#¸±'°(¨mÐ"<Ó=Ð=r&   )
rU   r   rº   rì  r   Ú	SliceTypeÚnp_delete_handler_isslicer”   râ   Únp_delete_handler_isarray)re   rP  rß  rä  rÞ  s       @r'   Ú	np_deleterè  ä  s±   ø€ ô
 �cœEŸK™K¬¯©Ð8Ô9ÜÐEÓFÐFä�#œŸ™¤U§^¡^´U·_±_ÐEÔFÜ�cœEŸO™OÔ-Ü/‰Gä˜cŸi™i¬¯©Ô7Ü!Ð"BÓCÐCÜ/ˆGô	ð Ðô ˜#œuŸ}™}Ô-ÜÐ>Ó?Ð?ò	>ð %Ð$r&   c                 ób   — t        | t        j                  «      r| j                  dk(  ry dd„}|S )Nr   c                 óÆ  — |dk(  r| j                  «       S |dk  rt        d«      ‚| j                  d   }| j                  d d t        ||z
  d«      fz   }t	        j
                  || j                  «      }|j                  dk(  r|S | j                  d|f«      }|j                  d|j                  d   f«      }t	        j
                  || j                  «      }t        |j                  d   «      D ]m  }t        |dz
  «      D ]  }	|||	dz   f   |||	f   z
  ||	<   Œ t        d|«      D ])  }
t        ||
z
  dz
  «      D ]  }	||	dz      ||	   z
  ||	<   Œ Œ+ |d ||z
   ||<   Œo |S )Nr   z"diff(): order must be non-negativerP  r*   )
rÑ  r~   r€   r   rb   rÂ   r”   rÃ   rS  r3   )r.   rƒ  rÃ   r˜  rÇ   Úa2Úout2ÚworkÚmajorr/   Úniters              r'   Ú	diff_implznp_diff_impl.<locals>.diff_impl  s}  € Ø�Š6Ø—6‘6“8ˆOØˆqŠ5ÜÐAÓBÐBØ�w‰w�r‰{ˆØ—G‘G˜C˜R�L¤C¨¨q©°!Ó$4Ð#6Ñ6ˆ	Ü�h‰h�y !§'¡'Ó*ˆØ�8‰8�qŠ=ØˆJð �Y‰Y˜˜D�zÓ"ˆØ�{‰{˜B §	¡	¨"¡Ð.Ó/ˆä�x‰x˜˜aŸg™gÓ&ˆä˜2Ÿ8™8 A™;Ó'ò 		*ˆEä˜4 !™8“_ò :�Ø˜U A¨¡E˜\Ñ*¨R°°q°©\Ñ9��Q’ð:ô ˜q !›ò 4�Ü˜t e™|¨aÑ/Ó0ò 4�AØ" 1 q¡5™k¨D°©GÑ3�D˜’Gñ4ð4ð ˜y  q¡˜/ˆD�ŠKð		*ð ˆ
r&   rh  )rU   r   rº   r}   )r.   rƒ  rð  s      r'   Únp_diff_implrñ    s*   € ä�aœŸ™Ô%¨¯©°1ªØóð> Ðr&   c                 óÈ   — t        | «      rt        |«      st        d«      ‚t        j                  t        j                  f}t        | |«      rt        ||«      rd„ }|S d„ }|S )Nz3Both arguments to "array_equals" must be array-likec                 ó   — | |k(  S r-   r%   )Úa1rë  s     r'   rY  znp_array_equal.<locals>.implC  s   € Ø˜‘8ˆOr&   c                 óº   — t        j                  | «      }t        j                  |«      }|j                  |j                  k(  rt        j                  ||k(  «      S yr  )rb   rˆ  r€   r`  )rô  rë  r.   rƒ  s       r'   rY  znp_array_equal.<locals>.implF  sA   € Ü—
‘
˜2“ˆAÜ—
‘
˜2“ˆAØ�w‰w˜!Ÿ'™'Ò!Ü—v‘v˜a 1™f“~Ð%Ør&   )r
   r   r   r¼   r»   rU   )rô  rë  ÚacceptedrY  s       r'   Únp_array_equalr÷  :  s]   € ô ˜RÔ Ô%5°bÔ%9ÜÐOÓPÐPä—‘œuŸ|™|Ð,€HÜ�"�hÔ¤J¨r°8Ô$<ò	ð €Kò	ð €Kr&   c                 ó¦   — t        | «      st        |«      st        d«      ‚t        |t        j                  t
        f«      st        d«      ‚dd„}|S )Nz.intersect1d: first two args must be array-likez5intersect1d: argument "assume_unique" must be booleanc                 óh  — t        j                  | «      } t        j                  |«      }|s+t        j                  | «      } t        j                  |«      }n | j                  «       } |j                  «       }t        j                  | |f«      }|j                  «        |dd  |d d k(  }|d d |   }|S )Nr*   rP  )rb   rˆ  rß  rR  râ  Úsort)Úar1Úar2Úassume_uniqueÚauxr
  Úint1ds         r'   Únp_intersects1d_implz0jit_np_intersect1d.<locals>.np_intersects1d_impl[  s”   € Ü�j‰j˜‹oˆÜ�j‰j˜‹oˆáÜ—)‘)˜C“.ˆCÜ—)‘)˜C“.‰Cà—)‘)“+ˆCØ—)‘)“+ˆCä�n‰n˜c 3˜ZÓ(ˆØ�‰Œ
Ø�1�2ˆw˜#˜c˜r˜(Ñ"ˆØ�C�R�˜‘ˆØˆr&   rN  ©r
   r   rU   r   r¼   rd  )rû  rü  rý  r   s       r'   Újit_np_intersect1dr  P  sU   € ô
 ˜SÔ!Ô%5°cÔ%:ÜÐJÓKÐKÜ�m¤e§m¡m´TÐ%:Ô;Üð Eó Fð 	Fóð   Ðr&   c                 óô   — t        |t        j                  «      r*|j                  dk7  rt	        dj                  | «      «      ‚y t        |t        j                  «      st	        dj                  | «      «      ‚y )Nr*   z${0}(): input should have dimension 1z+{0}(): input should be an array or sequence)rU   r   rº   r}   r   rë  rì  )Ú	func_nameÚseqs     r'   Úvalidate_1d_array_liker  n  si   € Ü�#”u—{‘{Ô#Ø�8‰8�qŠ=Ü Ð!Gß"(¡&¨Ó"3ó5ð 5ð ô ˜œUŸ^™^Ô,ÜÐJß$™f YÓ/ó1ð 	1ð -r&   c                 óx  ‡‡‡— t        d| «       t        | j                  t        j                  «      sy t        |d«       |d t        j                  fvr5t        d|«       t        j                  Št        d„ «       Št        d„ «       Šn(t        j                  Št        d„ «       Št        d„ «       Šdˆˆˆfd„	}|S )	NÚbincountÚ	minlengthc                 óH   — t        | «      t        |«      k7  rt        d«      ‚y )Nz7bincount(): weights and list don't have the same length)rF   r~   ©r.   r¢  r	  s      r'   Úvalidate_inputsz$np_bincount.<locals>.validate_inputs‡  s)   € ä�1‹vœ˜W›Ò%Ü ð "3ó 4ð 4ð &r&   c                 ó$   — | |xx   ||   z  cc<   y r-   r%   ©rÇ   rÈ   rñ   r¢  s       r'   Ú
count_itemznp_bincount.<locals>.count_item�  s   € à�‹H˜ ™Ñ$ŒHr&   c                  ó   — y r-   r%   r  s      r'   r  z$np_bincount.<locals>.validate_inputs”  s   € àr&   c                 ó   — | |xx   dz  cc<   y rm  r%   r  s       r'   r  znp_bincount.<locals>.count_item˜  s   € à�‹H˜‰MŒHr&   c                 óV  •—  ‰
| ||«       |dk  rt        d«      ‚t        | «      }|dkD  r| d   nd}t        d|«      D ]$  }| |   dk  rt        d«      ‚t        || |   «      }Œ& t        |dz   |«      }t	        j
                  |‰	«      }t        |«      D ]  } ‰||| |   |«       Œ |S )Nr   z 'minlength' must not be negativerP  r*   z/bincount(): first argument must be non-negative)r~   rF   r3   r   rb   rú  )r.   r¢  r	  rƒ  rb  r/   Ú
out_lengthrÇ   r  r[  r  s           €€€r'   Úbincount_implz"np_bincount.<locals>.bincount_implœ  sÊ   ø€ Ù˜˜7 IÔ.Ø�qŠ=ÜÐ?Ó@Ð@ä�‹FˆØ˜Aš��!’ 2ˆÜ�q˜!“ò 	%ˆAØ�‰t�aŠxÜ ð "0ó 1ð 1ä˜˜q ™tÓ$‰Eð		%ô ˜ ™ IÓ.ˆ
Ü�h‰h�z 9Ó-ˆÜ�q“ò 	.ˆAÙ�s˜A˜q ™t WÕ-ð	.àˆ
r&   rì   )r  rU   r”   r   râ   r   rK  rb   rÛ   r   r5   )r.   r¢  r	  r  r  r[  r  s       @@@r'   Únp_bincountr  x  s¶   ú€ ä˜: qÔ)ä�a—g‘gœuŸ}™}Ô-Øä�Y Ô,à�tœUŸZ™ZÐ(Ñ(Ü˜z¨7Ô3ô —J‘Jˆ	ä	ñ	4ó 
ð	4ô
 
ñ	%ó 
ñ	%ô —J‘Jˆ	ä	ñ	ó 
ð	ô 
ñ	ó 
ð	÷ð& Ðr&   c                 ó8  — t        j                  | j                  «      r—t        j                  |j                  «      rwt        j                  | j                  «      rt        j                  |j                  «      S t        j                  |j                  «      ry| j                  |j                  k  S yt        j                  |j                  «      ryt        j                  | j                  «      r9t        j                  |j                  «      r| j                  |j                  k  S yt        j                  |j                  «      ry| j                  |j                  k  ry| j                  |j                  k(  r| j                  |j                  k  S yr  )rb   r  rí   r  rä  s     r'   Úless_than_or_equal_complexr  ¶  s  € ä	‡x�x�—‘ÔÜ�8‰8�A—F‘FÔÜ�x‰x˜Ÿ™ÔÜ—x‘x §¡Ó'Ð'ä—8‘8˜AŸF™FÔ#ØàŸ6™6 Q§V¡VÑ+Ð+àô �8‰8�A—F‘FÔØä�x‰x˜Ÿ™ÔÜ—8‘8˜AŸF™FÔ#ØŸ6™6 Q§V¡VÑ+Ð+à ä—8‘8˜AŸF™FÔ#Øà—v‘v §¡’Ø#ØŸ™ 1§6¡6Ò)Ø Ÿv™v¨¯©Ñ/Ð/Ø r&   c                 óî   — t        | t        «      st        |t        «      rt        | |«      S t        |t        t        j
                  t        j                  f«      rt        j                  |«      ry| |k  S r  )	rU   rl  r  r”  r   Úfloat32rÛ   rb   r  rä  s     r'   Ú_less_than_or_equalr  Ø  sR   € ä�!”WÔ¤¨A¬wÔ!7Ü)¨!¨QÓ/Ð/ä	�AœœuŸ}™}¬e¯m©mÐ<Ô	=Ü�8‰8�AŒ;Øà�‰6€Mr&   c                 óÚ   — t        | t        «      st        |t        «      rt        | |«      S t        |t        t        j
                  t        j                  f«      rt        | |«      S | |k  S r-   )rU   rl  Úless_than_complexr”  r   r  rÛ   Úless_than_floaträ  s     r'   Ú
_less_thanr  ä  sQ   € ä�!”WÔ¤¨A¬wÔ!7Ü   AÓ&Ð&ä	�AœœuŸ}™}¬e¯m©mÐ<Ô	=Ü˜q !Ó$Ð$àˆq‰5€Lr&   c                 ód   — t        j                  | «      ryt        j                  |«      ry| |k  S rË  )rb   r  rä  s     r'   Ú_less_then_datetime64r   ï  s)   € ô 
‡x�x�„{Øä	‡x�x�„{Øàˆq‰5€Lr&   c                 ó   — t        || «       S r-   )r   rä  s     r'   Ú_less_then_or_equal_datetime64r"  ü  s   € ä$ Q¨Ó*Ð*Ð*r&   c                 ó   ‡ — ˆ fd„}|S )Nc                 ód   •— ||k  r'|||z
  dz	  z   }| |   } ‰||«      r|dz   }n|}||k  rŒ'||fS rm  r%   )r.   Úkey_valr/  rG  r]  Úmid_valÚcmps         €r'   rY  z_searchsorted.<locals>.impl  sW   ø€ Ø˜Òà '¨GÑ"3¸Ñ!9Ñ:ˆGØ˜‘jˆGÙ�7˜GÔ$Ø! A™+‘à!�ð ˜Óð ˜ÐÐr&   r%   )r'  rY  s   ` r'   Ú_searchsortedr(    s   ø€ ô	 ð €Kr&   ÚleftÚrightc                 óF  — |t         v sJ ‚| j                  dv rt        }t        }nt        }t
        }|dk(  rt        |«      }|}nHt        j                  | t        j                  «      rt        dk  rt        |«      }|}nt        |«      }|}t        |«      t        |«      fS )Nr‡  r)  )r*   é   )ÚVALID_SEARCHSORTED_SIDESrŒ  r   r"  r  r  r(  rb   rÆ  Úinexactr   r   )Únp_dtypeÚsiderO  ÚleÚ_implÚ_cmps         r'   Ú make_searchsorted_implementationr4    s–   € ØÔ+Ñ+Ð+Ð+à‡}�}˜Ñä"ˆÜ+‰äˆÜ ˆàˆv‚~Ü˜bÓ!ˆØ‰ä�=‰=˜¤2§:¡:Ô.´=À7Ò3Jô " "Ó%ˆEØ‰Dä! "Ó%ˆEØˆDä˜EÓ"Ô$4°TÓ$:Ð:Ð:r&   c                 óè  ‡‡— t        |d|«      }|t        vrt        d|› �«      ‚t        |t        j
                  t        j                  f«      rt        |j                  «      }nt        |«      }t        j                  t        | j                  «      |«      }t        ||«      \  ŠŠt        |t        j
                  «      r	dˆˆfd„	}|S t        |t        j                  «      rdd„}|S dˆfd„	}|S )NrW   z Invalid value given for 'side': c                 ó¸  •— t        j                  |j                  t         j                  ¬«      }|j                  d   }d}t        | «      }t        |j                  «      D ]\  }|j                  |   } ‰	||«      rt        | «      }n!d}|t        | «      k  r|dz  }nt        | «      }|} ‰
| |||«      \  }}|||<   Œ^ |j                  |j                  «      S )Nr   r   r*   )	rb   rÂ   rÃ   r5   rÅ   rF   r3   rS  r€   )r.   rg   r0  rÇ   Úlast_key_valr/  rG  r/   r%  r3  r2  s            €€r'   rY  zsearchsorted.<locals>.implD  sÈ   ø€ Ü—(‘(˜1Ÿ6™6¬¯©Ô1ˆCØŸ6™6 !™9ˆLØˆGÜ˜!“fˆGä˜1Ÿ6™6“]ò !�ØŸ&™& ™)�á˜ gÔ.Ü! !›f‘Gà�GØ¤ Q£Ò'Ø 1™™ä"% a£&˜à&�Ù#(¨¨G°W¸gÓ#FÑ �˜Ø ��A’ð!ð  —;‘;˜qŸw™wÓ'Ð'r&   c                 ó\   — t        j                  |«      }t        j                  | ||¬«      S )N©r0  )rb   rˆ  Úsearchsorted)r.   rg   r0  s      r'   rY  zsearchsorted.<locals>.impl\  s"   € Ü—
‘
˜1“ˆAÜ—?‘? 1 a¨dÔ3Ð3r&   c                 ó6   •—  ‰| |dt        | «      «      \  }}|S rì   )rF   )r.   rg   r0  Úrr?   r2  s        €r'   rY  zsearchsorted.<locals>.impl`  s    ø€ Ù˜˜A˜q¤# a£&Ó)‰DˆAˆqØˆHr&   ©r)  )rš   r-  r   rU   r   rº   rì  r	   r”   rb   r’  r4  )	r.   rg   r0  Úside_valÚv_dtÚnp_dtrY  r3  r2  s	          @@r'   r:  r:  2  sÊ   ù€ ä�t˜_¨dÓ3€HàÔ/Ñ/ô Ð @ÀÀ
ÐKÓLÐLä�!”e—k‘k¤5§>¡>Ð2Ô3Ü˜Ÿ™Ó ‰ä˜‹{ˆä×ÑœX a§g¡gÓ.°Ó5€EÜ2°5¸(ÓC�K€Eˆ4ä�!”U—[‘[Ô!ö	(ð> €Kô 
�A”u—~‘~Ô	&ó	4ð €Kõ	ð €Kr&   c                 ó®   ‡— t        | t        j                  «      r'| j                  t        j                  v rt        d«      ‚t        d„ «       Šdˆfd„	}|S )Nzx may not be complexc                 ót  — t        | «      dk(  ry| d   }d}|t        | «      k  r$| |   |k(  r|dz  }|t        | «      k  r	| |   |k(  rŒ|t        | «      k(  ry| |   }||k  r,t        |dz   t        | «      «      D ]  }|}| |   }||kD  sŒ y yt        |dz   t        | «      «      D ]  }|}| |   }||k  sŒ y y)Nr   r*   rP  )rF   r3   )ÚbinsÚ
last_valuer/   Ú
next_values       r'   Ú_monotonicityz"np_digitize.<locals>._monotonicityl  sô   € ô ˆt‹9˜Š>Øð ˜!‘Wˆ
ØˆØ”#�d“)Šm  Q¡¨:Ò 5Ø�‰FˆAð ”#�d“)Šm  Q¡¨:Ó 5ð ”�D“	Š>Øà˜!‘Wˆ
à˜
Ò"ä˜1˜q™5¤# d£)Ó,ò �Ø'�
Ø! !™W�
Ø 
Ó*Ùð	ð
 ô ˜1˜q™5¤# d£)Ó,ò �Ø'�
Ø! !™W�
Ø 
Ó*Ùð	ð
 r&   c                 óT  •—  ‰|«      }|dk(  rt        d«      ‚|rG|dk(  r*t        |«      t        j                  |d d d…   | d¬«      z
  S t        j                  || d¬«      S |dk(  r*t        |«      t        j                  |d d d…   | d¬«      z
  S t        j                  || d¬«      S )Nr   z3bins must be monotonically increasing or decreasingrP  r)  r9  r*  )r~   rF   rb   r:  )r±  rC  r*  ÚmonorF  s       €r'   Údigitize_implz"np_digitize.<locals>.digitize_impl‘  s¥   ø€ á˜TÓ"ˆà�1Š9ÜØEóð ñ
 Ø�rŠzä˜4“y¤2§?¡?°4¹¸"¸±:¸qÀvÔ#NÑNÐNä—‘ t¨Q°VÔ<Ð<à�rŠzä˜4“y¤2§?¡?°4¹¸"¸±:¸qÀwÔ#OÑOÐOä—‘ t¨Q°WÔ=Ð=r&   rN  )rU   r   rº   r”   Úcomplex_domainr   r   )r±  rC  r*  rI  rF  s       @r'   Únp_digitizerK  f  sP   ø€ ô �!”U—[‘[Ô! a§g¡g´×1EÑ1EÑ&EÜÐ0Ó1Ð1äñ"ó ð"õH>ð. Ðr&   c                 óª   ‡— t        |t        t        j                  f«      r-|d t        j                  fv rt        d«      Šdˆfd„	}|S dd„}|S dd„}|S )Nr’  c                 ó²   •— ‰}‰ }t        j                  | «      D ]!  }|j                  «       }||kD  r|}||k  sŒ |}Œ# t        j                  | |||f«      S r-   )rb   rc   rd   Ú	histogram)r.   rC  r3   Úbin_minÚbin_maxr°   rg   r’  s          €r'   Úhistogram_implz$np_histogram.<locals>.histogram_impl·  sc   ø€ Ø�Ø˜$�ÜŸI™I a›Lò $�DØŸ	™	›�AØ ’{Ø"#˜Ø “{Ø"#™ð$ô —|‘| A t¨g°wÐ-?Ó@Ð@r&   c                 óê  — |dk  rt        d«      ‚|\  }}||k  st        d«      ‚t        j                  |t        j                  «      }||kD  rˆ|||z
  z  }t        j                  | «      D ]h  }|j                  «       }t        j                  ||z
  |z  «      }	d|	cxk  r|k  rn n|t        |	«      xx   dz  cc<   ŒS||k(  sŒY||dz
  xx   dz  cc<   Œj t        j                  |||dz   «      }
||
fS )Nr   z0histogram(): `bins` should be a positive integerz;histogram(): max must be larger than min in range parameterr*   )
r~   rb   rú  r5   rc   rd   r”  r•  r–  Úlinspace)r.   rC  r3   rO  rP  ÚhistÚ	bin_ratior°   rg   rƒ  Ú
bins_arrays              r'   rQ  z$np_histogram.<locals>.histogram_implÃ  sþ   € Ø˜1’9Ü$ð &8ó 9ð 9à#(Ñ �˜Ø 'Ò)Ü$ð &>ó ?ð ?ô —x‘x ¤b§g¡gÓ.�Ø˜WÒ$Ø $¨°'Ñ(9Ñ :�IÜ "§	¡	¨!£ò 0˜Ø ŸI™I›K˜Ü ŸJ™J¨¨G©°yÑ'@ÓA˜Ø œ= D�=Ø ¤ Q£›L¨AÑ-œLØ '›\Ø  ¨¡›N¨aÑ/œNð0ô  Ÿ[™[¨°'¸4À!¹8ÓD�
Ø˜ZÐ'Ð'r&   c                 óÂ  — t        |«      dz
  }t        |«      D ]  }||   ||dz      k  rŒt        d«      ‚ |d   }||   }t        j                  |t        j
                  «      }|dkD  rrt        j                  | «      D ]Z  }|j                  «       }	||	cxk  r|k  sn Œ!d}
|dz
  }|
|k  r!|
|z   dz   dz	  }|	||   k  r|dz
  }n|}
|
|k  rŒ!||
xx   dz  cc<   Œ\ ||fS )Nr*   z-histogram(): bins must increase monotonicallyr   )rF   Ú_ranger~   rb   rú  r5   rc   rd   )r.   rC  r3   Únbinsr/   rO  rP  rT  r°   rg   ÚloÚhirr  s                r'   rQ  z$np_histogram.<locals>.histogram_implÝ  s  € Ü˜“I ‘MˆEÜ˜E“]ò 6�à˜A‘w $ q¨1¡u¡+Ó-Ü$ð &5ó 6ð 6ð6ð ˜1‘gˆGØ˜5‘kˆGÜ—8‘8˜E¤2§7¡7Ó+ˆDà�qŠyÜŸI™I a›Lò "�DØŸ	™	›�AØ" aÔ2¨7Ô2à à�BØ ™�BØ˜rš'ð  " B™w¨™{¨qÑ0˜Ø˜t C™yš=Ø!$ q¡™Bà!$˜Bð ˜r›'ð ˜“H ‘M”Hð!"ð$ ˜�:Ðr&   ©r¦  N)rU   r–  r   râ   rK  r”  )r.   rC  r3   rQ  r’  s       @r'   Únp_histogramr]  ®  s_   ø€ ä�$œœeŸm™mÐ,Ô-ð �Tœ5Ÿ:™:Ð&Ñ&Ü˜“,ˆCõ	AðN Ðów(ðv ÐóC	ðB Ðr&   )Úibetar  ÚmachepÚepsÚnegepÚepsnegÚiexpÚminexpÚxminÚmaxexpÚxmaxÚirndÚngrdÚepsilonÚtinyÚhugeÚ	precisionÚ
resolutionÚMachAr)r`  rb  rc  r_  r   rf  r  rd  ra  ÚnexpÚnmantrm  rn  rk  Úbitsr:  )r  r   rr  r5  c                  óü   ‡‡— t         dk\  ry d Št        j                  d¬«      5 Šd} t        j                  d| t        d¬«       t
        j                  Šd d d «       t        ‰«      ˆˆfd„«       }y # 1 sw Y   ŒxY w)	N)r*   é   T)Úrecordz(`np.MachAr` is deprecated \(NumPy 1.22\)Úalwaysz.*numba.*arraymath)ÚmessageÚcategoryrV  c            	      ó  •‡—  ‰«       } t        t        D �cg c]  }t        | |«      ‘Œ c}«      Š‰rL‰d   }t        j                  |j
                  j                  d   t        |j                  |j                  «       ˆfd„}|S c c}w )Nr   c                  ó   •— t        ‰ Ž S r-   )ro  )Ú_mach_ar_datas   €r'   rY  z1_gen_np_machar.<locals>.MachAr_impl.<locals>.impl3  s   ø€ Ü˜=Ð)Ð)r&   )
rZ  Ú_mach_ar_supportedrš   ÚwarningsÚwarn_explicitrw  r;   r    ÚfilenameÚlineno)r�  r±  ÚwmsgrY  r{  Ú	np_MachArÚws       @€€r'   ÚMachAr_implz#_gen_np_machar.<locals>.MachAr_impl'  sr   ù€ á‹KˆÜÔ6HÖI°œw q¨!�}ÒIÓJˆáØ�Q‘4ˆDÜ×"Ñ" 4§<¡<×#4Ñ#4°QÑ#7Ü#:Ø#'§=¡=Ø#'§;¡;ô0ô
	*àˆùò Js   —B)r   r}  Úcatch_warningsÚfilterwarningsÚDeprecationWarningrb   ro  r   )r«   r„  r‚  rƒ  s     @@r'   Ú_gen_np_macharrˆ    sy   ù€ ä˜ÒØà€AÜ	×	 Ñ	 ¨Ô	-ð °Ø9ˆÜ×Ñ °#Ü);Ø'<õ	>ô —I‘Iˆ	÷ô ˆiÓôó ñ÷ð ús   ¥0A2Á2A;c           	      óØ   ‡‡	— t        | d| «      }t        |«      }	  ||«      }t        |D �cg c]  }t        ||«      ‘Œ c}«      Š	t        ˆˆ	fd„«       }|S # t        $ r Y y w xY wc c}w )Nr”   c                 ó   •—  ‰‰Ž S r-   r%   )r½  Ú	containerrA   s    €€r'   rY  z!generate_xinfo_body.<locals>.implE  s   ø€ á˜$ÐÐr&   )rš   r	   r~   rZ  r   )
r½  Únp_funcr‹  ÚattrÚnbtyr/  r�  r±  rY  rA   s
     `      @r'   Úgenerate_xinfo_bodyr�  ;  su   ù€ Ü�3˜ Ó%€DÜ˜‹~€HðÙ�HÓˆô ¨Ö. A”'˜!˜Q•-Ò.Ó/€Däô ó ð à€Køô ò áðüò /s   œA ­A'Á	A$Á#A$c                 óZ   ‡— t        | t        j                  t        t        «      Šˆfd„}|S )Nc                 ó   •—  ‰| «      S r-   r%   )r”   rØ  s    €r'   rY  zol_np_finfo.<locals>.implO  s   ø€ Ù�%‹yÐr&   )r�  rb   r:  Ú_finfo_supported)r”   rY  rØ  s     @r'   Úol_np_finfor“  K  s"   ø€ ä	˜U¤B§H¡H¬eÔ5EÓ	F€Bôà€Kr&   c                 óZ   ‡— t        | t        j                  t        t        «      Šˆfd„}|S )Nc                 ó   •—  ‰| «      S r-   r%   )Úint_typerØ  s    €r'   rY  zol_np_iinfo.<locals>.implX  s   ø€ Ù�(‹|Ðr&   )r�  rb   r5  Ú_iinfo_supported)r–  rY  rØ  s     @r'   Úol_np_iinfor˜  T  s"   ø€ ä	˜X¤r§x¡x´Ô8HÓ	I€Bôà€Kr&   c                 ó  ‡— t         d„ «       }t        s|S t        j                  t        j                  z  }| |v xr ||v }|s|S t        | «      }t        |«      }t        j                  ||«      Št         ˆfd„«       }|S )Nc                 óX   — d}t        t        | «      «      D ]  }|| |   ||   z  z   }Œ |S rì   ©r3   rF   )r.   rƒ  Úaccr/   s       r'   Ú
_innerprodz#_get_inner_prod.<locals>._innerproda  s9   € àˆÜ”s˜1“v“ò 	$ˆAØ˜˜!™˜q ™t™Ñ#‰Cð	$àˆ
r&   c                 ól   •— t        j                  | j                  ‰«      |j                  ‰«      «      S r-   )rb   rË  rÝ  )r.   rƒ  rÈ  s     €r'   Ú	_dot_wrapz"_get_inner_prod.<locals>._dot_wrapu  s$   ø€ ä—6‘6˜!Ÿ(™( 2›,¨¯©°«Ó5Ð5r&   )r   Ú
_HAVE_BLASr   Úreal_domainrJ  r	   rb   r’  )	ÚdtaÚdtbr�  ÚfltyÚfloatsÚa_dtÚb_dtrŸ  rÈ  s	           @r'   Ú_get_inner_prodr¨  ]  s�   ø€ ô ñó ðõ ØÐä×Ñœu×3Ñ3Ñ3€DØ�Dˆ[Ò(˜S D˜[€FÙØÐä˜‹}ˆÜ˜‹}ˆÜ×Ñ˜d DÓ)ˆä	ó	6ó 
ð	6àÐr&   c                 ót   — t        | t        j                  «      r| j                  dk  st	        d|z  «      ‚y y )Nr*   z!%s() only supported on 1D arrays )rU   r   rº   r}   r   )r.   r  s     r'   Ú
_assert_1drª  {  s6   € Ü�!”U—[‘[Ô!Ø�v‰v˜Š{ÜÐAÀIÑMÓNÐNð ð "r&   c                  ó   — y r-   r%   )Úap1Úap2ÚmodeÚ	directions       r'   Ú_np_correlate_corer°  �  rF  r&   c                 óÖ   ‡‡— t        | j                  «      }t        |j                  «      }t        j                  ||«      Št	        | j                  |j                  «      Šˆˆfd„}|S )Nc                 óv  •— t        | «      }t        |«      }||k  rt        d«      ‚|}|}|dk(  r||z
  dz   }d}d}	n6|dk(  r|dz
  }	|dz
  }||z   dz
  }n|dk(  r|dz  }||z
  dz
  }	nt        d«      ‚t        j                  |‰«      }
|dk(  rd}d}n|d	k(  r|dz
  }d	}nt        d
«      ‚t	        |«      D ]"  }||z   |z
  } ‰| d | || d  «      |
|<   ||z   }Œ$ t	        ||z
  dz   «      D ]  } ‰| |||z    |«      |
|<   ||z   }Œ t	        |	«      D ]"  }||z
  dz
  } ‰| | d  |d | «      |
|<   ||z   }Œ$ |
S )Nz''len(ap1)' must greater than 'len(ap2)'r¨  r*   r   r‚   Úsamer|   z1Invalid 'mode', valid are 'full', 'same', 'valid'rP  zInvalid direction)rF   r~   rb   rú  r3   )r¬  r­  r®  r¯  Ún1Ún2r   rƒ  Ún_leftÚn_rightr{  rÈ   Úincr/   r{  rÈ  Ú	innerprods                  €€r'   rY  z%_np_correlate_core_impl.<locals>.implŒ  sÅ  ø€ ô �‹XˆÜ�‹Xˆà�Š7ô ÐFÓGÐGàˆØˆØ�7Š?Ø˜a‘Z !‘^ˆFØˆFØ‰GØ�VŠ^Ø˜!‘eˆGØ˜‘UˆFØ˜a‘Z !‘^‰FØ�VŠ^Ø˜!‘VˆFØ˜&‘j 1‘n‰Gäð4óð ô
 �h‰h�v˜rÓ"ˆà˜Š>ØˆCØ‰CØ˜"Š_Ø˜1‘*ˆCØ‰CäÐ0Ó1Ð1ä�v“ò 	ˆAØ�A‘˜‘ˆAÙ   R a ¨#¨q¨b¨c¨(Ó3ˆC�‰HØ˜‘)‰Cð	ô
 �r˜B‘w ‘{Ó#ò 	ˆAÙ   Q¨¨R© °#Ó6ˆC�‰HØ˜‘)‰Cð	ô �w“ò 	ˆAØ�A‘˜‘	ˆAÙ   a R S ¨3¨r°¨7Ó3ˆC�‰HØ˜‘)‰Cð	ð
 ˆ
r&   )r	   r”   rb   r’  r¨  )	r¬  r­  r®  r¯  r¦  r§  rY  rÈ  r¹  s	          @@r'   Ú_np_correlate_core_implrº  …  sR   ù€ ä�C—I‘IÓ€DÜ�C—I‘IÓ€DÜ	×	Ñ	˜$ Ó	%€BÜ §	¡	¨3¯9©9Ó5€Iõ>ð@ €Kr&   c                 óF  ‡‡— t        | d«       t        |d«       t        d„ «       }t        d„ «       }| j                  t        j                  v r&|j                  t        j                  v r|Š|Šn*|Š|Šn%|j                  t        j                  v r|Š|Šn|Š|Šdˆˆfd„	}|S )Nznp.correlatec                 ó,   — t        j                  | «      S r-   )rb   rî   r°  s    r'   Úop_conjz_np_correlate.<locals>.op_conjÔ  s   € ä�w‰w�q‹zÐr&   c                 ó   — | S r-   r%   r°  s    r'   Úop_nopz_np_correlate.<locals>.op_nopØ  s   € àˆr&   c                 óâ   •— t        | «      }t        |«      }|dk(  rt        d«      ‚|dk(  rt        d«      ‚||k  rt         ‰|«       ‰| «      |d«      S t         ‰| «       ‰|«      |d«      S ©Nr   z'a' cannot be emptyz'v' cannot be emptyrP  r*   ©rF   r~   r°  )r.   rg   r®  ÚlaÚlvÚa_opÚb_ops        €€r'   rY  z_np_correlate.<locals>.implë  st   ø€ Ü�‹VˆÜ�‹Vˆà�Š7ÜÐ2Ó3Ð3Ø�Š7ÜÐ2Ó3Ð3à�Š7Ü%¡d¨1£g©t°A«w¸¸bÓAÐAä%¡d¨1£g©t°A«w¸¸aÓ@Ð@r&   ©r¨  )rª  r   r”   r   rJ  )r.   rg   r®  r½  r¿  rY  rÅ  rÆ  s         @@r'   Ú_np_correlaterÈ  Ï  sª   ù€ äˆq�.Ô!Üˆq�.Ô!äñó ðô ñó ðð 	‡w�w”%×&Ñ&Ñ&Ø�7‰7”e×*Ñ*Ñ*ØˆDØ‰DàˆDØ‰Dà�7‰7”e×*Ñ*Ñ*ØˆDØ‰DàˆDØˆDöAð €Kr&   c                 ó>   — t        | d«       t        |d«       dd„}|S )Nznp.convolvec                 óÈ   — t        | «      }t        |«      }|dk(  rt        d«      ‚|dk(  rt        d«      ‚||k  rt        || d d d…   |d«      S t        | |d d d…   |d«      S rÁ  rÂ  )r.   rg   r®  rÃ  rÄ  s        r'   rY  znp_convolve.<locals>.impl  ss   € Ü�‹VˆÜ�‹Vˆà�Š7ÜÐ2Ó3Ð3Ø�Š7ÜÐ2Ó3Ð3à�Š7Ü% a¨©4¨R¨4©°$¸Ó:Ð:ä% a¨©4¨R¨4©°$¸Ó:Ð:r&   ©r‚   )rª  )r.   rg   r®  rY  s       r'   Únp_convolverÌ  ü  s"   € äˆq�-Ô Üˆq�-Ô ó;ð €Kr&   c                 ó`  ‡‡‡— t        | «      sy t        | t        j                  «      r0t	        |«      s| j
                  |j
                  k(  rd	d„}|S d	d„}|S t        | t        j                  t        j                  f«      rt	        |«      rd	d„}|S d	d„}|S t        | t        j                  t        j                  f«      r"t	        |«      r| n|}t        |«      Šd	ˆfd„	}|S t        | t        j                  j                  «      r`t        | j
                  t        j                  t        j                  f«      st        d«      ‚t	        |«      r| j
                  n|Šd	ˆfd„	}|S t        | t        j                  «      r't        j                   | j"                  «      Šd	ˆfd„	}|S d }|S )
Nc                 ó   — | S r-   r%   ©r.   r”   s     r'   rY  znp_asarray.<locals>.impl  s   € Ø�r&   c                 ó$   — | j                  |«      S r-   )rÝ  rÏ  s     r'   rY  znp_asarray.<locals>.impl  s   € Ø—x‘x “Ð&r&   c                 ó,   — t        j                  | «      S r-   rG  rÏ  s     r'   rY  znp_asarray.<locals>.impl&  s   € Ü—x‘x “{Ð"r&   c                 ó.   — t        j                  | |«      S r-   rG  rÏ  s     r'   rY  znp_asarray.<locals>.impl)  s   € Ü—x‘x  5Ó)Ð)r&   c                 ó0   •— t        j                  | ‰«      S r-   rG  )r.   r”   ré  s     €r'   rY  znp_asarray.<locals>.impl/  s   ø€ Ü—8‘8˜A˜r“?Ð"r&   z?asarray support for List is limited to Boolean and Number typesc                 ó|   •— t        | «      }t        j                  |‰¬«      }t        | «      D ]
  \  }}|||<   Œ |S rÿ  )rF   rb   rÂ   rÄ   )r.   r”   rQ  r{  r/   rg   Útarget_dtypes         €r'   rY  znp_asarray.<locals>.impl9  sA   ø€ Ü�A“ˆAÜ—(‘(˜1 LÔ1ˆCÜ! !›ò ‘��1Ø��A’ðàˆJr&   c                 ó$   •— ‰j                  «       S r-   )rÑ  )r.   r”   re   s     €r'   rY  znp_asarray.<locals>.implB  s   ø€ Ø—8‘8“:Ðr&   r-   )r
   rU   r   rº   r   r”   rì  rX   r»   r¼   r	   Ú
containersÚListTyper   ÚStringLiteralrb   rˆ  rW   )r.   r”   rY  Údt_convre   rÕ  ré  s       @@@r'   Ú
np_asarrayrÛ    sk  ú€ ô
 ˜AÔØä�!”U—[‘[Ô!Ü�uÔ §¡¨E¯K©KÒ!7óðV €KóQ'ðP €KôM 
�AœŸ™¬¯©Ð4Ô	5ô �uÔó#ðB €Kó=*ð< €Kô9 
�AœŸ™¤e§m¡mÐ4Ô	5Ü" 5Ô)‘!¨uˆÜ�gÓˆõ	#ð0 €Kô- 
�A”u×'Ñ'×0Ñ0Ô	1Ü˜!Ÿ'™'¤E§L¡L´%·-±-Ð#@ÔAÜð.ó/ð /ô #.¨eÔ"4�q—w’w¸%ˆõ	ð €Kô 
�A”u×*Ñ*Ô	+Ü�j‰j˜Ÿ™Ó)ˆõ	ð
 €Kð ˆà€Kr&   c                 óê   ‡— t        |t        j                  «      rt        |«      }t	        j
                  |t        j                  «      st        j                  Šn|Št        j                  fˆfd„	}|S )Nc                 ó0   •— t        j                  | ‰«      S r-   rq  )r.   r”   rm  s     €r'   rY  znp_asfarray.<locals>.implU  s   ø€ Ü—:‘:˜a Ó$Ð$r&   )rU   r   ÚTyper	   rb   rÆ  r.  rÛ   )r.   r”   rY  rm  s      @r'   Únp_asfarrayrß  K  sM   ø€ ô �eœUŸZ™ZÔ(Ü˜U“OˆEÜ�}‰}˜U¤B§J¡JÔ/Ü—‘‰BàˆBäŸ*™*õ 	%àˆr&   c                 ó   — d„ }|S )Nc                 ó   — t        j                  | «      j                  «       }t        j                  |«      }|j                  dk(  rt	        d«      ‚t        j
                  ||j                  d  «      r&|j                  |j                  kD  rd}t	        |«      ‚t        |j                  |j                  «      }t        |«      D �cg c]  }||   sŒ	|j                  |   ‘Œ }}t        j                  |«      S c c}w )Nr   z"Cannot extract from an empty arrayz+condition shape inconsistent with arr shape)
rb   rˆ  r‰  rÃ   r~   r˜  r  r3   rÅ   rH  )r   re   r¥  r.   r«   Úmax_lenrÈ   rÇ   s           r'   Únp_extract_implz#np_extract.<locals>.np_extract_impl]  sÂ   € Ü�z‰z˜)Ó$×,Ñ,Ó.ˆÜ�J‰J�s‹Oˆà�6‰6�QŠ;ÜÐAÓBÐBô �6‰6�$�q—v‘v�w�-Ô  T§Y¡Y°·±Ò%7Ø?ˆCÜ˜S“/Ð!ô �a—f‘f˜dŸi™iÓ(ˆÜ&+¨G£nÖB˜s¸¸S»	ˆq�v‰v�c‹{ÐBˆÐBä�x‰x˜‹}Ðùò Cs   Ã
C;ÃC;r%   )r   re   rã  s      r'   Ú
np_extracträ  Z  s   € òð( Ðr&   c                 ó`  — dd„}t        | t        j                  t        j                  f«      st	        d«      ‚t        |t        j                  t        j                  f«      st	        d«      ‚t        |t
        t        j                  t        j                  f«      st	        d«      ‚t        | d   t        j                  «      st	        d«      ‚t        |d   t        j                  «      st	        d«      ‚t        | d   t        j                  «      r2t        | d   j                  t        j                  «      st	        d«      ‚t        | d   t        j                  «      rHt        | d   t        j                  «      r t        | d   d   t        j                  «      st	        d	«      ‚t        | d   t        j                  «      r*| d   j                  |d   j                  k7  rt	        d
«      ‚t        | d   t        j                  «      r| d   j                  dk  rt	        d«      ‚|S )Nr   c                 ó.  — t        | «      t        |«      k7  rt        d«      ‚|t        j                  |d   j                  |d   j
                  «      z  }t        t        | «      dz
  dd«      D ]#  }| |   }||   }t        j                  |||«      }Œ% |S )Nz7list of cases must be same length as list of conditionsr   r*   rP  )rF   r~   rb   rÜ  r€   r”   r3   r  )ÚcondlistÚ
choicelistÚdefaultrÇ   r/   r¥  Úchoices          r'   Únp_select_arr_implz%np_select.<locals>.np_select_arr_implw  s™   € Üˆx‹=œC 
›OÒ+Üð -ó .ð .àœŸ™ 
¨1¡× 3Ñ 3°ZÀ±]×5HÑ5HÓIÑIˆä”s˜8“} qÑ(¨"¨bÓ1ò 	.ˆAØ˜A‘;ˆDØ ‘]ˆFÜ—(‘(˜4 ¨Ó-‰Cð	.ð ˆ
r&   z"condlist must be a List or a Tuplez$choicelist must be a List or a Tuplez,default must be a scalar (number or boolean)z items of condlist must be arraysz"items of choicelist must be arraysz%condlist arrays must contain booleansz*condlist tuples must only contain booleanszHcondlist and choicelist elements must have the same number of dimensionsr*   z/condlist arrays must be of at least dimension 1r  )rU   r   ÚListrG   r   r–  r»   r¼   rº   r”   r}   )rç  rè  ré  rë  s       r'   Ú	np_selectrí  t  s¥  € ó
ô �h¤§¡¬U¯^©^Ð <Ô=ÜÐAÓBÐBÜ�j¤5§:¡:¬u¯~©~Ð">Ô?ÜÐCÓDÐDÜ�g¤¤U§\¡\´5·=±=ÐAÔBÜÐKÓLÐLô �h˜q‘k¤5§;¡;Ô/ÜÐ?Ó@Ð@Ü�j ‘m¤U§[¡[Ô1ÜÐAÓBÐBô �(˜1‘+œuŸ{™{Ô+Ü˜( 1™+×+Ñ+¬U¯]©]Ô;Ü Ð!HÓIÐIÜ�(˜1‘+œuŸ~™~Ô.Ü˜8 A™;¬¯©Ô7Ü˜x¨™{¨1™~¬u¯}©}Ô=Ü Ð!MÓNÐNä�8˜A‘;¤§¡Ô,Ø�Q‰K×Ñ 
¨1¡× 2Ñ 2Ò2Üð 9ó :ð 	:ä�(˜1‘+œuŸ{™{Ô+°¸±×0@Ñ0@À1Ò0DÜÐNÓOÐOàÐr&   c                 ó  — t        | «      rt        |«      st        d«      ‚d| j                  j                  v sd|j                  j                  v r8| j                  j                  |j                  j                  k7  rt        d«      ‚d„ }|S )Nz.The arguments to np.union1d must be array-likeÚunichrz/For Unicode arrays, arrays must have same dtypec                 óö   — t        j                  t        j                  | «      «      }t        j                  t        j                  |«      «      }t        j                  t        j                  ||f«      «      S r-   )rb   rR  rˆ  rß  râ  )rû  rü  r.   rƒ  s       r'   Ú
union_implznp_union1d.<locals>.union_impl¯  sJ   € Ü�H‰H”R—Z‘Z “_Ó%ˆÜ�H‰H”R—Z‘Z “_Ó%ˆÜ�y‰yœŸ™¨¨A¨Ó/Ó0Ð0r&   )r
   r   r”   rì  )rû  rü  rñ  s      r'   Ú
np_union1drò  §  sn   € ä˜CÔ Ô(8¸Ô(=ÜÐJÓKÐKØ	�S—Y‘Y—^‘^Ñ	# x°3·9±9·>±>Ñ'AØ
‡y�y‡~�~˜Ÿ™Ÿ™Ò'ÜÐKÓLÐLò1ð
 Ðr&   c                 ó  ‡— d}t        | t        j                  t        j                  t        j                  f«      st        |«      ‚t        |«      r| j                  Šn	 t        |«      Šdˆfd„	}|S # t        $ r t        d«      ‚w xY w)Nz7The argument to np.asarray_chkfinite must be array-likez!dtype must be a valid Numpy dtypec                 óª   •— t        j                  | ‰¬«      } t        j                  | «      D ]"  }t        j                  |«      rŒt	        d«      ‚ | S )Nr   z#array must not contain infs or NaNs)rb   rˆ  rc   r‘  r~   )r.   r”   r/   rÈ  s      €r'   rY  z"np_asarray_chkfinite.<locals>.implÆ  sJ   ø€ Ü�J‰J�q Ô#ˆÜ—‘˜1“ò 	HˆAÜ—;‘;˜q•>Ü Ð!FÓGÐGð	Hð ˆr&   r-   )
rU   r   rº   rì  rX   r   r   r”   r	   r   )r.   r”   r«   rY  rÈ  s       @r'   Únp_asarray_chkfiniterõ  ·  s~   ø€ ð D€CÜ�aœ%Ÿ+™+¤u§~¡~´u·{±{ÐCÔDÜ˜#ÓÐä�5ÔØ�W‰W‰ð	CÜ˜%“ˆBõð €Køô (ò 	CÜÐAÓBÐBð	Cús   Á!A4 Á4B	c                 ó  ‡‡‡— t        |t        t        j                  f«      sd}t	        |«      ‚t        | «      sd}t	        |«      ‚t        |t        j                  t        j                  f«      s"t        j                  |«      sd}t	        |«      ‚t        |t        t        j                  f«      sd}t	        |«      ‚t        dd d «      fŠt        |t        j                  «      r3t        j                  t        | j                  «      t        |«      «      Šn7t        j                  t        | j                  «      t        j                   «      Št        j"                  ‰t        j$                  «      Šdˆˆˆfd„	}|S )Nz&The argument "axis" must be an integerz#The argument "p" must be array-likez'The argument "discont" must be a scalarz&The argument "period" must be a scalarr*   c                 ó  •— |dk7  rd}t        |«      ‚t        j                  | «      j                  ‰«      }|j                  }|d   }|j                  |j                  |z  |f«      }|€|dz  }‰rt        |d«      \  }	}
|
dk(  }n|dz  }	d}|	 }t        |j                  |z  «      D �];  }||   }t        j                  |«      }t        j                  ||z
  |«      |z   }|r t        j                  ||k(  |dkD  z  |	|«      }||z
  }t        j                  t        j                  |D �cg c]  }t        |«      ‘Œ c}«      |k  d|«      }t        j                  t        j                  |D �cg c]  }t        |«      ‘Œ c}«      |k  d|«      }t        j
                  ||j                  «      }t        j                  |«      }|‰   |j                  «       z   |‰<   |||<   �Œ> |j                  |«      S c c}w c c}w )NrP  z*Value for argument "axis" is not supportedr|   r   T)r~   rb   rˆ  rÝ  r€   rS  rÃ   Údivmodr3   rU  Úmodr  rH  rp  rÑ  r¾   )ÚpÚdiscontrZ   Úperiodr«   Úp_initÚ
init_shapeÚ	last_axisÚp_newÚinterval_highÚremÚboundary_ambiguousÚinterval_lowr/   ÚrowÚddÚddmodÚ
ph_correctr±  Úph_ravelÚupr”   Úinteger_inputÚslice1s                        €€€r'   rY  znumpy_unwrap.<locals>.implë  sä  ø€ Ø�2Š:Ø>ˆCÜ˜S“/Ð!ä—‘˜A“×%Ñ% eÓ,ˆØ—\‘\ˆ
Ø˜r‘Nˆ	Ø—‘ §¡¨yÑ 8¸)ÐDÓEˆàˆ?Ø˜q‘jˆGÙÜ!'¨°Ó!2ÑˆM˜3Ø!$¨¡Ñà" Q™JˆMØ!%ÐØ%�~ˆô �v—{‘{ iÑ/Ó0ó 	ˆAØ˜‘(ˆCÜ—‘˜“ˆBÜ—F‘F˜2 Ñ,¨fÓ5¸ÑDˆEÙ!ÜŸ™ %¨<Ñ"7¸BÀ¹FÑ!CØ!.°ó7�à ™ˆJäŸ™¤"§(¡(¸BÖ+?°q¬C°­FÒ+?Ó"@À7Ñ"JÈAØ",ó.ˆJä—x‘x¤§¡¸"Ö)=°Q¬#¨a­&Ò)=Ó >ÀÑ HÈ!Ø *ó,ˆHäŸ™ H¨j×.>Ñ.>Ó?ˆJÜ—‘˜“ˆBØ˜V™ z×'8Ñ'8Ó':Ñ:ˆBˆv‰JØˆE�!‹Hð!	ð$ �}‰}˜ZÓ(Ð(ùò ,@ùâ)=s   Ä,G9Å0G>©NrP  g-DTû!@)rU   r–  r   râ   r   r
   rã   r   r   r”  r»   rO   rb   rÃ  r	   r”   rÛ   rÆ  Úinteger)	rú  rû  rZ   rü  r«   rY  r”   r  r  s	         @@@r'   Únumpy_unwrapr  Ð  s  ú€ ä�dœS¤%§-¡-Ð0Ô1Ø6ˆÜ˜#ÓÐä˜AÔØ3ˆÜ˜#ÓÐä�w¤§¡´·±Ð <Ô=Ü×'Ñ'¨Ô0Ø7ˆÜ˜#ÓÐä�fœu¤e§l¡lÐ3Ô4Ø6ˆÜ˜#ÓÐä�A�t˜TÓ"Ð$€FÜ�&œ%Ÿ,™,Ô'Ü—‘œx¨¯©Ó0´(¸6Ó2BÓC‰ä—‘œx¨¯©Ó0´"·*±*Ó=ˆä—M‘M %¬¯©Ó4€M÷')ðR €Kr&   c                 ó°   — t        j                  d| z
  | d«      }t        j                  t        j                  |d«      d|| dz
  z  z   d|| dz
  z  z
  «      S )Nrm  r|   r   r*   )rb   rØ  r  Ú
less_equal©rö  rƒ  s     r'   Únp_bartlett_implr    sN   € ä
�	‰	�"�q‘&˜!˜QÓ€AÜ�8‰8”B—M‘M ! QÓ'¨¨Q°!°a±%©[©¸!¸aÀ1ÀqÁ5¹k¹/ÓJÐJr&   c                 ó   — t        j                  d| z
  | d«      }ddt        j                  t         j                  |z  | dz
  z  «      z  z   dt        j                  dt         j                  z  |z  | dz
  z  «      z  z   S )Nrm  r|   gáz®GáÚ?rù   r*   g{®Gáz´?rw  ©rb   rØ  Úcosrt  r  s     r'   Únp_blackman_implr  %  so   € ä
�	‰	�"�q‘&˜!˜QÓ€AØ�3œŸ™¤§¡¨¡	¨Q°©UÑ 3Ó4Ñ4Ñ4Ø”2—6‘6˜#¤§¡™+¨™/¨Q°©UÑ3Ó4Ñ4ñ5ð 6r&   c                 óš   — t        j                  d| z
  | d«      }ddt        j                  t         j                  |z  | dz
  z  «      z  z   S )Nr*   r|   gHáz®Gá?gq=
×£pÝ?r  r  s     r'   Únp_hamming_implr  ,  sB   € ä
�	‰	�!�a‘%˜˜AÓ€AØ�$œŸ™¤§¡¨¡	¨Q°©UÑ 3Ó4Ñ4Ñ4Ð4r&   c                 óš   — t        j                  d| z
  | d«      }ddt        j                  t         j                  |z  | dz
  z  «      z  z   S )Nr*   r|   rù   r  r  s     r'   Únp_hanning_implr  2  sB   € ä
�	‰	�!�a‘%˜˜AÓ€AØ�”r—v‘vœbŸe™e a™i¨1¨q©5Ñ1Ó2Ñ2Ñ2Ð2r&   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó\   •— t        | t        j                  «      st        d«      ‚ˆfd„}|S )NúM must be an integerc                 ó¼   •— | dk  r%t        j                  dt         j                  ¬«      S | dk(  r%t        j                  dt         j                  ¬«      S  ‰| «      S )Nr*   r%   r   )rb   rH  rÛ   rÜ  )rö  Úfuncs    €r'   Úwindow_implz>window_generator.<locals>.window_overload.<locals>.window_impl=  sD   ø€ à�1ŠuÜ—x‘x ¬"¯*©*Ô5Ð5Ø�AŠvÜ—w‘w˜q¬¯
©
Ô3Ð3Ù˜“7ˆNr&   )rU   r   râ   r   )rö  r!  r   s     €r'   Úwindow_overloadz)window_generator.<locals>.window_overload9  s*   ø€ Ü˜!œUŸ]™]Ô+ÜÐ4Ó5Ð5ô	ð Ðr&   r%   )r   r"  s   ` r'   Úwindow_generatorr#  8  s   ø€ ôð Ðr&   )gïÐ4!·\T¼g‰¥}—b3ƒ<g´»rë„±¼gº^ö“ØæÞ<gëû—Â"P
½g'&&KF›5=gðîbLa½g$Ó›á/þ‰=g¼j”z•ü²½g<tÌ¾˜Ú=gV•®þÔ¾g4ËT¤Ù&>g«0ŒöêK¾g5dM�v;p>g�"�cì‘¾g¬ôŒ—$¿²>g'd¥Ëo†Ò¾gY(š¾X?ñ>gZÄY&+¿g«|tµ(?gRëýâB¿gŠuÜZ?gI¨ ^¶q¿gÝãÝóa™…?gð¶!ñžN˜¿g-£¨ÎŠ>©?gê-4pK¸¿gÀˆ¬w¬÷Å?g�ÍWÀëÓ¿g*¢5�N¨å?)g‹ÊT·­`¼g0‘fÚFV¼g!„Ù¾‰<gÍA`Ýóƒ<gäÒ«`´¼g8ÞÙç®¸¼gûê£}îß<g×æ”�‘*ñ<gšbe~þƒ½g2»hÏ™]'½gEÅ_ÿV=gsÀƒkŒ[=gìŒ&úGCi=gf�C�½gò{~5×­½g%t9QÁ½gO è«þ$ª=guoôÀÌù >g‡["©d,->gmÕÖ€’VX>gnaÍÙ€‹>g†ÅÁ+AÈ>gRž™x£?gI�å¢Œ™k?gË	¨¬b¾é?c                 óx   — |d   }d}t        dt        |«      «      D ]  }|}|}| |z  |z
  ||   z   }Œ d|z
  z  S )Nr   rÚ   r*   rù   r›  )r±  ÚvalsÚb0Úb1r/   Úb2s         r'   Ú_chbevlr)  �  sZ   € à	ˆa‰€BØ	€Bä�1”c˜$“iÓ ò #ˆØˆØˆØ�‰V�b‰[˜4 ™7Ñ"‰ð#ð
 �"�r‘'‰?Ðr&   c                 óü   — | dk  r|  } | dk  r.d| z  dz
  }t        j                  | «      t        |t        «      z  S t        j                  | «      t        d| z  dz
  t        «      z  t        j
                  | «      z  S )Nr   g       @rù   rw  g      @@)rb   Úexpr)  Ú_i0AÚ_i0Br  r>  s     r'   Ú_i0r.  š  sm   € àˆ1‚uØˆBˆØˆC‚xØ�1‰W˜‰OˆÜ�v‰v�a‹yœ7 1¤dÓ+Ñ+Ð+ä�6‰6�!‹9”w˜t a™x¨#™~¬tÓ4Ñ4´r·w±w¸q³zÑAÐAr&   c           	      ó*  — t        j                  | t         j                  ¬«      }t        t        j                  |«      «      }t	        t        |«      «      D ]8  }t        |t        j                  d| |   |z
  |z  dz  z
  «      z  «      |z  ||<   Œ: |S )Nr   r*   rw  )rb   rÏ  rÛ   r.  r3   rF   r  )rƒ  ÚalphaÚbetarô  Útr/   s         r'   Ú_i0nr3  ¥  s�   € ä
�‰�aœrŸz™zÔ*€AÜŒB�J‰J�tÓÓ€AÜ”3�q“6‹]ò JˆÜ�4œ"Ÿ'™' !¨¨!©¨u©¸Ñ'=ÀÑ&CÑ"CÓDÑDÓEÈÑIˆˆ!ŠðJð €Hr&   c                 óÀ   — t        | t        j                  «      st        d«      ‚t        |t        j                  t        j                  f«      st        d«      ‚d„ }|S )Nr  z beta must be an integer or floatc                 ó   — | dk  r%t        j                  dt         j                  ¬«      S | dk(  r%t        j                  dt         j                  ¬«      S t        j                  d| «      }| dz
  dz  }t        |||«      S )Nr*   r%   r   r   rw  )rb   rH  rÛ   rÜ  rØ  r3  )rö  r1  rƒ  r0  s       r'   Únp_kaiser_implz!np_kaiser.<locals>.np_kaiser_impl·  se   € ØˆqŠ5Ü—8‘8˜B¤b§j¡jÔ1Ð1Ø�Š6Ü—7‘7˜1¤B§J¡JÔ/Ð/ä�I‰I�a˜‹OˆØ�Q‘˜#‘ˆä�A�u˜dÓ#Ð#r&   )rU   r   râ   r   rã   )rö  r1  r6  s      r'   Ú	np_kaiserr7  ¯  sL   € ä�aœŸ™Ô'ÜÐ0Ó1Ð1ä�dœUŸ]™]¬E¯K©KÐ8Ô9ÜÐ<Ó=Ð=ò	$ð Ðr&   c                 óf  — d„ } || «      \  }}} ||«      \  }}}	t        j                  ||	«      t        j                  ||«      z
  }
t        j                  ||«      t        j                  ||	«      z
  }t        j                  ||«      t        j                  ||«      z
  }|
|d<   ||d<   ||d<   y )Nc                 ó®   — | d   }| d   }| j                   d   dk(  r| d   }n/t        j                  | j                  j	                  d«      |«      }|||fS )N©.r   ©.r*   rP  r{   ©.r|   r   )r€   rb   r¨  r”   rƒ   )r±  Úx0r±  Úx2s       r'   Ú_cross_preprocessingz._cross_operation.<locals>._cross_preprocessingÈ  sU   € Øˆv‰YˆØˆv‰YˆØ�7‰7�2‰;˜!ÒØ�6‘‰Bä—‘˜QŸW™WŸ\™\¨!›_¨bÓ1ˆBØ�2�rˆzÐr&   r:  r;  r<  )rb   r¨  )r.   rƒ  rÇ   r?  Úa0rô  rë  r&  r'  r(  Úcp0Úcp1Úcp2s                r'   Ú_cross_operationrD  Å  s¤   € òñ & aÓ(�J€BˆˆBÙ% aÓ(�J€BˆˆBä
�+‰+�b˜"Ó
¤§¡¨B°Ó 3Ñ
3€CÜ
�+‰+�b˜"Ó
¤§¡¨B°Ó 3Ñ
3€CÜ
�+‰+�b˜"Ó
¤§¡¨B°Ó 3Ñ
3€Cà€Cˆ�KØ€Cˆ�KØ€Cˆ‚Kr&   c                  ó   — y r-   r%   rä  s     r'   Ú_crossrF  Ý  rF  r&   c                 óÔ   ‡— t        j                  t        | j                  «      t        |j                  «      «      Š| j                  dk(  r|j                  dk(  rˆfd„}|S ˆfd„}|S )Nr*   c                 óN   •— t        j                  d‰«      }t        | ||«       |S )N©r{   )rb   rÂ   rD  )r.   rƒ  Úcpr”   s      €r'   rY  z_cross_impl.<locals>.implå  s$   ø€ Ü—‘˜$ Ó&ˆBÜ˜Q  2Ô&ØˆIr&   c                 ó    •— t        j                  | d   |d   «      j                  }t        j                  |dz   ‰«      }t	        | ||«       |S )Nr:  rI  )rb   rå  r€   rÂ   rD  )r.   rƒ  r€   rJ  r”   s       €r'   rY  z_cross_impl.<locals>.implê  sF   ø€ Ü—F‘F˜1˜V™9 a¨¡iÓ0×6Ñ6ˆEÜ—‘˜% $™,¨Ó.ˆBÜ˜Q  2Ô&ØˆIr&   )rb   r’  r	   r”   r}   )r.   rƒ  rY  r”   s      @r'   Ú_cross_implrL  á  sT   ø€ ä×ÑœX a§g¡gÓ.´¸¿¹Ó0AÓB€EØ‡v�v�‚{�q—v‘v ’{ô	ð €Kô	ð
 €Kr&   c                 óN   — t        | «      rt        |«      st        d«      ‚d„ }|S )NúInputs must be array-like.c                 ó&  — t        j                  | «      }t        j                  |«      }|j                  d   dvs|j                  d   dvrt        d«      ‚|j                  d   dk(  s|j                  d   dk(  rt	        ||«      S t        d«      ‚)NrP  rå  zDIncompatible dimensions for cross product
(dimension must be 2 or 3)r{   z†Dimensions for both inputs is 2.
Please replace your numpy.cross(a, b) call with a call to `cross2d(a, b)` from `numba.np.extensions`.)rb   rˆ  r€   r~   rF  ©r.   rƒ  r  r  s       r'   rY  znp_cross.<locals>.impl÷  s�   € Ü�Z‰Z˜‹]ˆÜ�Z‰Z˜‹]ˆØ�8‰8�B‰<˜vÑ%¨¯©°"©¸VÑ)CÜð-óð ð
 �8‰8�B‰<˜1Ò §¡¨¡°Ò 1Ü˜"˜b“>Ð!äðHóð r&   ©r
   r   ©r.   rƒ  rY  s      r'   Únp_crossrS  ò  s*   € ä˜AÔÔ&6°qÔ&9ÜÐ6Ó7Ð7òð" €Kr&   c                 ó¸   — d„ } || «      \  }} ||«      \  }}t        j                  ||«      t        j                  ||«      z
  }t        j                  |«      S )Nc                 ó   — | d   }| d   }||fS )Nr:  r;  r%   )r±  r=  r±  s      r'   r?  z0_cross2d_operation.<locals>._cross_preprocessing  s   € Øˆv‰YˆØˆv‰YˆØ�2ˆvˆr&   )rb   r¨  rˆ  )r.   rƒ  r?  r@  rô  r&  r'  rJ  s           r'   Ú_cross2d_operationrV    sU   € òñ
 " !Ó$�F€BˆÙ! !Ó$�F€Bˆä	�‰�R˜Ó	œrŸ{™{¨2¨rÓ2Ñ	2€Bô �:‰:�b‹>Ðr&   c                  ó   — y r-   r%   rä  s     r'   Úcross2drX    rF  r&   c                 óN   — t        | «      rt        |«      st        d«      ‚d„ }|S )NrN  c                 óÌ   — t        j                  | «      }t        j                  |«      }|j                  d   dk7  s|j                  d   dk7  rt        d«      ‚t	        ||«      S )NrP  r|   zRIncompatible dimensions for 2D cross product
(dimension must be 2 for both inputs))rb   rˆ  r€   r~   rV  rP  s       r'   rY  zcross2d_impl.<locals>.impl(  s\   € Ü�Z‰Z˜‹]ˆÜ�Z‰Z˜‹]ˆØ�8‰8�B‰<˜1Ò §¡¨¡°Ò 1Üð8óð ô " " bÓ)Ð)r&   rQ  rR  s      r'   Úcross2d_implr[  #  s*   € ä˜AÔÔ&6°qÔ&9ÜÐ6Ó7Ð7ò*ð €Kr&   c                 óú   ‡— t        | t        j                  «      st        d«      ‚| j                  dkD  rt        d«      ‚t        |t
        t        j                  f«      st        d«      ‚t        dk\  Šdˆfd„	}|S )Nz#The first argument must be an arrayr*   zarray must be 1Dz$The second argument must be a string)r|   r|   c                 óö   •— t        j                  | «      }d}|j                  «       }d|v r|D ]  }|dk(  s‰r|dk(  r|dz   }Œ n t        | «      }d|v r |d d d…   D ]  }|dk(  s‰r|dk(  r|dz
  }Œ n ||| S )Nr   r�  Ú r*   rƒ  rP  )rb   rˆ  rž  rF   )ÚfiltÚtrimr  Úfirstr/   ÚlastÚtrim_escapess         €r'   rY  znp_trim_zeros.<locals>.implB  s¤   ø€ Ü�Z‰Z˜ÓˆØˆØ�z‰z‹|ˆØ�$‰;Øò �Ø˜’6™l¨q°BªwØ! A™I‘Eáð	ô
 �4‹yˆØ�$‰;Ø™˜"˜‘Xò �Ø˜’6™l¨q°BªwØ !™8‘Dáð	ð
 �%˜ˆ~Ðr&   ©Úfb)rU   r   rº   r   r}   ÚstrÚUnicodeTyper   )r_  r`  rY  rc  s      @r'   Únp_trim_zerosrh  5  sk   ø€ ä�dœEŸK™KÔ(ÜÐBÓCÐCà‡y�y�1‚}ÜÐ/Ó0Ð0ä�dœS¤%×"3Ñ"3Ð4Ô5ÜÐCÓDÐDä  FÑ*€Lõð& €Kr&   c                 ó¦   — t        | «      st        |«      st        d«      ‚t        |t        j                  t
        f«      st        d«      ‚dd„}|S )Nz+setxor1d: first two args must be array-likez2setxor1d: Argument "assume_unique" must be booleanc                 óô  — t        j                  | «      }t        j                  |«      }|s+t        j                  |«      }t        j                  |«      }n |j                  «       }|j                  «       }t        j                  ||f«      }|j                  «        t        j                  |j                  d   dz   t         j                  ¬«      }d|d<   d|d<   |dd  |d d k7  |dd ||dd  |d d z     S )Nr   r*   r   TrP  )	rb   rˆ  rß  rR  râ  rú  rÂ   r€   rÍ   )rû  rü  rý  r.   rƒ  rþ  Úflags          r'   Únp_setxor1d_implz)jit_np_setxor1d.<locals>.np_setxor1d_impl`  s×   € Ü�J‰J�s‹OˆÜ�J‰J�s‹OˆáÜ—	‘	˜!“ˆAÜ—	‘	˜!“‰Aà—‘“	ˆAØ—‘“	ˆAô �n‰n˜a ˜VÓ$ˆØ�‰Œ
ä�x‰x˜Ÿ	™	 !™ qÑ(´·±Ô9ˆØˆˆQ‰ØˆˆR‰Ø˜˜�W  C R Ñ(ˆˆQˆrˆ
Ø�4˜˜�8˜d 3 B˜iÑ'Ñ(Ð(r&   rN  r  )rû  rü  rý  rl  s       r'   Újit_np_setxor1drm  X  sJ   € ä˜SÔ!Ô%5°cÔ%:ÜÐGÓHÐHÜ�}¤u§}¡}´dÐ&;Ô<ÜÐNÓOÐOó)ð, Ðr&   c                 óâ  — t        j                  | «      j                  «       } t        j                  |«      j                  «       }t        |«      dt        | «      dz  z  k  r€|r?t        j                  t        | «      t         j
                  ¬«      }|D ]
  }|| |k7  z  }Œ |S t        j                  t        | «      t         j
                  ¬«      }|D ]
  }|| |k(  z  }Œ |S |sÂt        j                  | «      }| |   }t        j                  |j                  t         j
                  ¬«      }d|d d |dd  |d d k7  |dd  ||   } t        j                  |«      dz
  }t        j                  |j                  t         j                  ¬«      }	||	|<   t        j                  |«      }t        j                  | |f«      }
|
j                  d¬«      }|
|   }t        j                  |j                  t         j
                  «      }|r|dd  |d d k7  |d d n|dd  |d d k(  |d d ||dd  t        j                  |
j                  t         j
                  ¬«      }|||<   |r|d t        | «       S |	   S )	Nr¦  g�Âõ(\�Â?r   Tr*   rP  Ú	mergesort)Úkind)rb   rˆ  rR  rF   rÜ  rÍ   rú  ÚargsortrÂ   r€   r¾   r5   rß  râ  rÃ   )rû  rü  rý  Úinvertr
  r.   Úorder1rþ  ÚimaskÚinv_idxÚarÚorderÚsarrk  r{  s                  r'   Ú
_in1d_implry  {  s7  € ô
 �*‰*�S‹/×
Ñ
Ó
!€CÜ
�*‰*�S‹/×
Ñ
Ó
!€Cô
 ˆ3ƒx�"”s˜3“x 5Ñ(Ñ(Ò(ÙÜ—7‘7œ3˜s›8¬2¯8©8Ô4ˆDØò #�Ø˜ ™Ñ"‘ð#ð ˆô —8‘8œC ›H¬B¯H©HÔ5ˆDØò #�Ø˜ ™Ñ"‘ð#àˆñ ô —‘˜C“ˆØ�&‰kˆÜ�x‰x˜Ÿ	™	¬¯©Ô2ˆØˆˆRˆaˆØ�q�r�7˜c # 2˜hÑ&ˆˆQˆRˆØ�$‰iˆÜ—	‘	˜$“ !Ñ#ˆÜ—(‘(˜4Ÿ:™:¬R¯W©WÔ5ˆØˆ�‰Ü�i‰i˜‹nˆä	�‰˜˜c˜
Ó	#€Bð �J‰J˜KˆJÓ(€EØ
ˆU‰)€CÜ�8‰8�C—H‘HœbŸh™hÓ'€DÙØ˜˜�W  C R Ñ(ˆˆSˆb‰	à˜˜�W  C R Ñ(ˆˆSˆbˆ	Ø€Dˆˆ€IÜ
�(‰(�2—8‘8¤2§8¡8Ô
,€CØ€Cˆ�Jñ Ø�9”C˜“Hˆ~Ðà�7‰|Ðr&   c                 ó¦   — t        | «      st        |«      st        d«      ‚t        |t        j                  t
        f«      st        d«      ‚dd„}|S )Nz,setdiff1d: first two args must be array-likez3setdiff1d: Argument "assume_unique" must be booleanc                 ó  — t        j                  | «      } t        j                  |«      }|r!| j                  «       } |j                  «       }n*t        j                  | «      } t        j                  |«      }| t	        | |dd¬«         S )NT©rý  rr  )rb   rˆ  rR  rß  ry  )rû  rü  rý  s      r'   Únp_setdiff1d_implz+jit_np_setdiff1d.<locals>.np_setdiff1d_impl¾  se   € Ü�j‰j˜‹oˆÜ�j‰j˜‹oˆÙØ—)‘)“+ˆCØ—)‘)“+‰Cä—)‘)˜C“.ˆCÜ—)‘)˜C“.ˆCØ”:˜c 3°dÀ4ÔHÑIÐIr&   rN  r  )rû  rü  rý  r}  s       r'   Újit_np_setdiff1dr~  ¶  sK   € ä˜SÔ!Ô%5°cÔ%:ÜÐHÓIÐIÜ�}¤u§}¡}´dÐ&;Ô<ÜÐOÓPÐPó	Jð Ðr&   c                 óü   — t        | «      st        |«      st        d«      ‚t        |t        j                  t
        f«      st        d«      ‚t        |t        j                  t
        f«      st        d«      ‚dd„}|S )Nz'in1d: first two args must be array-likez.in1d: Argument "assume_unique" must be booleanz'in1d: Argument "invert" must be booleanc                 ó   — t        | |||«      S r-   )ry  )rû  rü  rý  rr  s       r'   Únp_in1d_implz!jit_np_in1d.<locals>.np_in1d_implÔ  s   € Ü˜#˜s M°6Ó:Ð:r&   ©FFr  )rû  rü  rý  rr  r�  s        r'   Újit_np_in1drƒ  Ì  si   € Ü˜SÔ!Ô%5°cÔ%:ÜÐCÓDÐDÜ�m¤e§m¡m´TÐ%:Ô;ÜÐJÓKÐKÜ�fœuŸ}™}¬dÐ3Ô4ÜÐCÓDÐDó;ð Ðr&   c                 óü   — t        | «      st        |«      st        d«      ‚t        |t        j                  t
        f«      st        d«      ‚t        |t        j                  t
        f«      st        d«      ‚dd„}|S )Nz'isin: first two args must be array-likez.isin: Argument "assume_unique" must be booleanz'isin: Argument "invert" must be booleanc                 ó|   — t        j                  | «      } t        | |||¬«      j                  | j                  «      S )Nr|  )rb   rˆ  ry  rS  r€   )rÐ  Útest_elementsrý  rr  s       r'   Únp_isin_implz!jit_np_isin.<locals>.np_isin_implé  s5   € ä—*‘*˜WÓ%ˆÜ˜' =ÀØ!'ô)ß)0©°·±Ó)?ð	@r&   r‚  r  )rÐ  r†  rý  rr  r‡  s        r'   Újit_np_isinrˆ  ß  sj   € ä˜WÔ%Ô)9¸-Ô)HÜÐCÓDÐDÜ�}¤u§}¡}´dÐ&;Ô<ÜÐJÓKÐKÜ�v¤§¡¬tÐ4Ô5ÜÐCÓDÐDó@ð Ðr&   r-   r“  r«  rN  rì   r  r"  r}  r  r
  r  rh  r=  r\  rÇ  rË  r  rd  r‚  (Œ  Ú__doc__r”  Úcollectionsr   rJ  r}  Úllvmlite.irrW  Únumpyrb   Ú
numba.corer   r   Únumba.core.extendingr   r   r   Únumba.np.numpy_supportr	   r
   r   r   r   r   r   r   Únumba.core.imputilsr   r   r   r   Únumba.np.arrayobjr   r   r   r   Únumba.np.linalgr   r   Únumba.core.errorsr   r   r   r   r   r    Únumba.cpython.unsafe.tupler!   r(   r   rK   r^   r¦  rº   ru   rx   r’   r5   Ú	DTypeSpecÚIntegerLiteralr¥   r¨   r¬   r²   r³   r½   r¾   rÑ   rÒ   rÖ   r×   rè   ré   rô   rõ   rû   rÿ   r  r  r  Úaminr  r   Úamaxr)  r0  r5  r:  r;  rC  rH  rK  rM  rB  r[  r_  r`  rk  rx  ry  r—  r˜  rž  Úaverager­  r³  Ú	iscomplexrº  Úisrealr¾  rÉ  rÍ  ÚisscalarrÑ  rÛ  rß  râ  rå  rè  rê  rò  r	  r  r  r  rõ  r  Únanminr  Únanmaxr  r  r  r   r  Únanstdr"  Únansumr'  Únanprodr,  Ú
nancumprodr3  Ú	nancumsumr8  r<  rB  rE  rH  rL  rP  rS  r\  rh  rg  rj  rx  rw  Ú_partition_w_nanÚ_argpartition_w_nanr~  r}  rÒ  rÙ  r€  r…  Úmedianr�  r   r¤  r©  r®  r°  r´  r¼  r˜  rÁ  ÚnanpercentilerÃ  ÚquantilerÆ  ÚnanquantilerÈ  Ú	nanmedianrÍ  rÖ  rÛ  rá  Ú	partitionrï  ru  ró  rø  r  rü  rÿ  r  Útrilr  r)  r$  Útril_indices_fromr.  r2  Útriur8  r?  r<  Útriu_indices_fromrA  rD  rL  rR  Úediff1drc  re  rk  rn  rt  r~  Útrapzrƒ  Ú	trapezoidr†  r‰  r‹  Úvanderr”  Úrollr›  rž  r¥  rº  r¼  ÚinterprÇ  rÉ  rÑ  rÓ  rß  rá  r  rÄ  rí  rï  r  rô  rý  r  r  r  r  Úcorrcoefr  Úargwherer$  Úflatnonzeror(  r,  r.  r2  r8  r<  rO  r:  rE  Úfill_diagonalrP  rS  r_  re  Úaroundrn  rq  Úround_rw  rx  r€  rƒ  r  r�  r£  r¦  r¬  rµ  r  rº  rÃ  rí   rÈ  r  rÍ  ÚcontainsrÑ  Úcount_nonzeror×  ræ  rç  Údeleterè  rU  rñ  Úarray_equalr÷  Úintersect1dr  r  r  r  r  r  r  r  r  r   r"  r(  ræ   r-  r4  r:  ÚdigitizerK  r3   rX  rN  r]  r|  ro  r’  r:  r—  r5  rˆ  r�  r“  r˜  r¨  rª  r°  rº  Ú	correlaterÈ  ÚconvolverÌ  rˆ  rÛ  ÚasfarrayrÛ   rß  Úextracträ  Úselectrí  Úunion1drò  Úasarray_chkfiniterõ  Úunwrapr  r  r  r  r  r#  ÚbartlettÚblackmanÚhammingÚhanningrH  r,  r-  r)  r.  r3  Úkaiserr7  rD  rF  rL  ÚcrossrS  rV  rX  r[  Ú
trim_zerosrh  Úsetxor1drm  ry  Ú	setdiff1dr~  rƒ  Úin1dÚisinrˆ  r%   r&   r'   ú<module>rÕ     s  ðñó
 Ý "Û Û ã Û ç %ß LÑ L÷M÷ Mó M÷Gó G÷/ó /å 'å *÷H÷ Hõ 5òñ ‹]€
ð ñ%!ó ð%!ðP ñE!ó ðE!ñV ˆr�v‰v�u—{‘{Ó#Ùˆ{˜EŸK™KÓ(ñEó )ó $ðEð ñó ðò>ñB ˆr�v‰v�u—{‘{ E§J¡J°·±Ó@Ùˆr�v‰v�u—{‘{ E×$8Ñ$8¸%¿/¹/ÓJÙˆ{˜EŸK™K¨¯©°U·_±_ÓEÙˆ{˜EŸK™K¨×)=Ñ)=¸u¿¹ÓOñ$Dó Pó Fó Kó Að$DñN ˆr�v‰v�u—{‘{ U§_¡_Ó5Ùˆ{˜EŸK™K¨¯©Ó9ñEó :ó 6ðEñ ˆr�v‰v�u—{‘{ E§J¡JÓ/Ùˆr�v‰v�u—{‘{ E×$8Ñ$8Ó9Ùˆ{˜EŸK™K¨¯©Ó4Ùˆ{˜EŸK™K¨×)=Ñ)=Ó>ñ%Dó ?ó 5ó :ó 0ð%DòPñ 
ˆ"�'‰'ÓÙ�—‘˜fÓ%ñ ó &ó ð ñ, 
ˆ"�)‰)ÓÙ�—‘˜hÓ'ñ!ó (ó ð!ñ. 
ˆ"�*‰*ÓÙ�—‘˜iÓ(ñ"ó )ó ð"ñ. 
ˆ"�'‰'ÓÙ�—‘˜fÓ%ñó &ó ðñB 
ˆ"�&‰&ÓÙ�—‘˜eÓ$ñó %ó ðñ  
ˆ"�&‰&ÓÙ�—‘˜eÓ$ñó %ó ðð ñó ðð ñó ðð ñó ðñ 
ˆ"�&‰&ÓÙ	ˆ"�'‰'ÓÙ�—‘˜eÓ$ñ2ó %ó ó ð2ñj 
ˆ"�&‰&ÓÙ	ˆ"�'‰'ÓÙ�—‘˜eÓ$ñ2ó %ó ó ð2ðj ñó ðð* ñó ðð* ñó ðñ& 
ˆ"�)‰)ÓÙ�—‘˜hÓ'óó (ó ðð$ ñó ðð* ñó ðð* ñó ðò")ñX 
ˆ"�)‰)ÓÙ�—‘˜hÓ'óó (ó ðñ$ 
ˆ"�&‰&ÓÙ�—‘˜eÓ$ñó %ó ðð( óó ðñ2 
ˆ"�+‰+ÓÙ�—‘˜jÓ)ó?,ó *ó ð?,ñD 
ˆ"�&‰&ÓÙ�—‘˜eÓ$ñó %ó ðñ& 
ˆ"�*‰*Óóó ðò>
ñ 
ˆ"�,‰,Óñó ðñ 
ˆ"�)‰)Óñó ðñ 
ˆ"�/‰/Óñó ðñ& 
ˆ"�,‰,Óñó ðñ 
ˆ"�+‰+Óñó ðò
ñ 
ˆ"�+‰+Óó&ó ð&ñ
 
ˆ"�+‰+Óó&ó ð&ð
 ñó ðð ñó ðð ñPó ðPò
ñD Ù˜	°EÔ:ó€ñ Ù˜°uÔ=ó€ñ "Ù˜	°DÔ9ó€ñ "Ù˜°tÔ<ó€ð
 ñ2ó ð2ñ 
ˆ"�*‰*Óó5ó ð5ñp 
ˆ"�)‰)Óñó ðñ 
ˆ"�)Š)Óñó ðñ 
ˆ"�*Š*Óñó ðñ& 
ˆ"�)Š)Óñó ðñ0 
ˆ"�)Š)Óñó ðñ 
ˆ"�)Š)Óñó ðñ* 
ˆ"�*Š*Óñó ðñ* 
ˆ"�-Š-Óñó ðñ0 
ˆ"�,Š,Óñó ðð0 ñó ðòò(	ò	ñ 
ˆ.ÓñHó ðHñ 
ˆ.ÓñHó ðHò	ñ 
ˆ-Óñó ðñ. 
ˆ"�&Š&Óñó ðð6 �6ÒØ'�O�E—K‘K Ó'¨Ô/ð ñó ðô.ñb Ñ0°Ó;Ó<€
Ù#Ñ$6Ð7JÓ$KÓLÐ Ù&Ñ'9ØØô(ó Ð òñ" ™?¨:Ó6Ó
7€Ù ¡Ð1AÓ!BÓC€Ù$¡_Ð5HÓ%IÓJÐ ð ñ ó ð ð0 ñ3ó ð3ñ 
ˆ"�)Š)Óñó ðð" ñ1ó ð1ðh ñó ðð  ñó ðð  ñFó ðFð
 ñBó ðBð
 ñó ðò""ñ4 
ˆ"�-Š-Óñó ðñ 
ˆ"×
Ò
Óñó ðñ 
ˆ"�+Š+Óñó ðñ 
ˆ"�.Š.Óñó ðñ 
ˆ"�,Š,Óñó ðð0 ñó ðð( ñó ðð* ñó ðñD 
ˆ"�,Š,Óñó ðñ: 
ˆ"�/Š/Óñ ó ð ð@ ñ	ó ð	ñ 
ˆ"�&Š&Óó
ó ð
ð ñó ðð  ó>ó ð>ñ
 
ˆ"�'Š'Óó"ó ð"ñ4 
ˆ"�/Š/Óó
 ó ð
 ñ 
ˆ"×
Ò
Óó
%ó  ð
%ð ó>ó ð>ñ
 
ˆ"�'Š'Óó"ó ð"ñ2 
ˆ"�/Š/Óó
 ó ð
 ñ 
ˆ"×
Ò
Óó
%ó  ð
%ò	ñ 
ˆ.Óñ1ó ð1ò ñ" 
ˆ"�*Š*Óó4ó ð4òn	ñ 
ˆ/Óñó ðò	ñ 
ˆ&Óñó ðôð, �6ÒÙˆb�hŠhÓó%ó ð%ð
 �FÒÙˆb�lŠlÓó%ó ð%ð ñ<ó ð<ð6 ñ@ó ð@ñ 
ˆ"�)Š)Óó$"ó ð$"ñN 
ˆ"�'Š'Óñó ðð2 Ð ð ñAó ðAðH ñjó ðjðZ ñUó ðUñp 
ˆ"�)Š)Óñ%ó ð%ðV ñ	ó ð	ð ñó ðò0	ñ 
Ð
"Ó#ñ$$ó $ð$$ðN ñ ó ð ñ %¡[Ó1Ð òò**ð ñ8ó ð8ñ $¡KÓ0Ð ð ñ9ó ð9òð4 ñ3ó ð3ð ñó ðñ 
ˆ"�&Š&Óó7ó ð7ñt 
ˆ"�+Š+Óó ó ð ñH 
ˆ"�+Š+Óñó ðñ0 
ˆ"�.Š.Óñó ñð" ñó ñð* ñó ñð ñó ñð ñDó ñDð ñDó ñDñ ™nÓ-�
ó	ñ 
‰(Óñ1ó ñ1ñ 
ˆ"×
Ò
Óóó ñó@,ð
 ñó ñð" ñ)ó ñ)ñ4 
ˆ"�)Š)ÓÙ	ˆ"�(Š(Óó4ó ó ñ4ðn �6ÒØ�HˆR�YŠYÓ™Ô&ñ 
ˆ"�'Š'ÓñMó ñMñ& 
ˆ"�(Š(Óó<ó ñ<ñ@ ˆr�zŠz˜5Ÿ;™;Ó'Ùˆ §¡Ó,ñ5Dó -ó (ñ5Dópð ñó ñð ñó ñóñ. 
ˆ"�(Š(Óñ ó ñ ñ 
ˆ"�(Š(Óñ2ó ñ2ñj 
ˆ"�'Š'Óñó ññ 
ˆ"�'Š'Óñó ññ 
ˆ(×
Ò
Óñ
ó ñ
ñ 
ˆ"×
Ò
Óóó ññ  -©\Ó:Ñ Ù,Ñ-EÓFÑ ñ 
ˆ"�)Š)Óñ+%ó ñ+%ñ\ 
ˆ"�'Š'Óó#ó ñ#ñL 
ˆ"�.Š.Óñó ññ* 
ˆ"�.Š.Óó ó ñ ó:1ñ 
ˆ"�+Š+Óó6ó ñ6ñr # 9Ó-�Ù$ ZÓ0Ñ ð ñ!ó ñ!ðB ñó ñð ñó ñð ñ	ó ñ	ð ñ+ó ñ+óò$ % f¨gÐ%6Ó7Ñ ó;ñ8 
ˆ"�/Š/Óó0ó ñ0ñf 
ˆ"�+Š+ÓóAó ñAñH 
�ñ 
ˆ"�,Š,ÓóOó ñOðh%Ñ ñ 
�HÑ0Ó	1�ð3Ñ ñ
 	�7Ñ,Ó-�ð +Ñ á�7Ñ,Ó-�ó
ò< Ô óñ  
ˆ"�(Š(Óñó ññ 
ˆ"�(Š(Óñó ñóó<Oó	ñ 
Ñ
ÓñFó ñFñR 
ˆ"�,Š,Óó)ó ñ)ñX 
ˆ"�+Š+Óóó ññ* 
ˆ"�*Š*Óó4ó ñ4ðn �6ÒÙˆb�kŠkÓØŸZšZò ó ññ 
ˆ"�*Š*Óñó ññ2 
ˆ"�)Š)Óó/ó ñ/ñd 
ˆ"�*Š*Óñó ññ 
ˆ"×
Ò
Óóó  ññ0 
ˆ"�)Š)ÓóCó ñCð\ ñKó ñKð
 ñ6ó ñ6ð ñ5ó ñ5ð
 ñ3ó ñ3ó
ð" �ˆ�ŠÓ Ò&Ñ'7Ó8Ô 9Ø �ˆ�ŠÓ Ò&Ñ'7Ó8Ô 9Ø �ˆ�ŠÓ Ò%¡oÓ6Ô 7Ø �ˆ�ŠÓ Ò%¡oÓ6Ô 7ð €r‡x‚xò ó �ðB €r‡x‚xò ó �ð: ñ	ó ñ	ð ñBó ñBð ñó ññ 
ˆ"�)Š)Óñó ñð* ñó ñô.	ñ 
‰&Óòó ññ  
ˆ"�(Š(Óòó ñð0 òó ñô&	ñ 
‰'Óòó ññ" 
ˆ"�-Š-Óôó ññD 
ˆ"�+Š+Óôó ñðD ô7ó ñ7ñt 
ˆ"�,Š,Óôó ñö*ð �6ÒØ�HˆR�WŠWÓ‘kÔ"ñ 
ˆ"�'Š'Óôó òr&   