§
    2@Ä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m	Z	m
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/ ddl0m1Z1 ddl2mZ3 ddlm4Z4 d„ Z5 e5¦   «         Z6 G d„ d¦  «        Z7 G d„ d¦  «        Z8d„ Z9d„ Z:d„ Z;d„ Z<d„ Z=e)d„ ¦   «         Z>e)d„ ¦   «         Z?edk     re@nejA        jB        ZCed„ ¦   «         ZDed„ ¦   «         ZE eejF        ¦  «         eejG        d¦  «        �d&d „¦   «         ¦   «         ZH eejI        ¦  «         eejG        d!¦  «        d"„ ¦   «         ¦   «         ZJe)d#„ ¦   «         ZKe)d$„ ¦   «         ZL eejM        ¦  «         eejG        d%¦  «        �d&d&„¦   «         ¦   «         ZN eejO        ¦  «         eejG        d'¦  «        d(„ ¦   «         ¦   «         ZP eejQ        ¦  «         eejG        d)¦  «        d*„ ¦   «         ¦   «         ZR eejS        ¦  «         eejG        d+¦  «        d,„ ¦   «         ¦   «         ZT eejU        ¦  «         eejG        d-¦  «        d.„ ¦   «         ¦   «         ZVed/„ ¦   «         ZWed0„ ¦   «         ZXed1„ ¦   «         ZY eejZ        ¦  «         eej[        ¦  «         eejG        d2¦  «        d3„ ¦   «         ¦   «         ¦   «         Z\ eej]        ¦  «         eej^        ¦  «         eejG        d4¦  «        d5„ ¦   «         ¦   «         ¦   «         Z_ed6„ ¦   «         Z`ed7„ ¦   «         Zaed8„ ¦   «         Zb eejc        ¦  «         eejG        d9¦  «        �d'd:„¦   «         ¦   «         Zded;„ ¦   «         Zeed<„ ¦   «         Zfed=„ ¦   «         Zgd>„ Zh eeji        ¦  «         eejG        d?¦  «        �d'd@„¦   «         ¦   «         ZjdA„ Zk ekd4ejl        ejm         ¦  «        Zn ekd2ejo        ejm        ¦  «        Zp eejq        ¦  «        �d'dB„¦   «         Zr eejs        ¦  «        �d'dC„¦   «         Zt eeju        ¦  «         eejG        dD¦  «        dE„ ¦   «         ¦   «         Zve�d(dI„¦   «         Zw eejx        ¦  «         eejG        dJ¦  «        �d(dK„¦   «         ¦   «         Zy eejz        ¦  «         eejG        dL¦  «        dM„ ¦   «         ¦   «         Z{ eej|        ¦  «        �d&dN„¦   «         Z}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†dU„ Z‡ eejˆ        ¦  «        �d'dV„¦   «         Zˆ eej‰        ¦  «        �d'dW„¦   «         Z‰edX„ ¦   «         ZŠedY„ ¦   «         Z‹edZ„ ¦   «         ZŒd[„ Z� e e�eŠdH¬\¦  «        ¦  «        ZŽ e e�e‹dH¬\¦  «        ¦  «        Z� e e�eŠd]¬\¦  «        ¦  «        Z� e e�e‹d]¬\¦  «        ¦  «        Z‘ed^„ ¦   «         Z’ eej“        ¦  «        �d(d_„¦   «         Z“ eej”        ¦  «        d`„ ¦   «         Z• eej–        ¦  «        da„ ¦   «         Z— eej˜        ¦  «        db„ ¦   «         Z™ eejš        ¦  «        �d)dc„¦   «         Z› eejœ        ¦  «        �d)dd„¦   «         Z� eejž        ¦  «        de„ ¦   «         ZŸ eej         ¦  «        df„ ¦   «         Z¡ eej¢        ¦  «        dg„ ¦   «         Z£ eej¤        ¦  «        dh„ ¦   «         Z¥edi„ ¦   «         Z¦dj„ Z§dk„ Z¨dl„ Z© ee¨¦  «        dm„ ¦   «         Zª ee©¦  «        dn„ ¦   «         Z«do„ Z¬ ee¬¦  «        dp„ ¦   «         Z­ eej®        ¦  «        dq„ ¦   «         Z¯edrk     r  eejG        ds¦  «        e¯¦  «         edt„ ¦   «         Z°�d*du„Z± e e±eŠ¦  «        ¦  «        Z² e e±e°¦  «        ¦  «        Z³ e e±e°d]¬v¦  «        ¦  «        Z´dw„ Zµ e eµe²¦  «        ¦  «        Z¶ e eµe³¦  «        ¦  «        Z· e eµe´¦  «        ¦  «        Z¸edx„ ¦   «         Z¹edy„ ¦   «         Zº eej»        ¦  «        dz„ ¦   «         Z¼ed{„ ¦   «         Z½ed|„ ¦   «         Z¾ed}„ ¦   «         Z¿e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jÊ        ¦  «        d…„ ¦   «         ZË eejÌ        ¦  «        d†„ ¦   «         ZÍed‡„ ¦   «         ZÎedˆ„ ¦   «         ZÏed‰„ ¦   «         ZÐ eejÑ        ¦  «        dŠ„ ¦   «         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drk    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        ¦  «        �d0d»„¦   «         �Z ee�j        ¦  «        �d1d¼„¦   «         �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drk     r  ee�j'        ¦  «        �e&¦  «          ee�j(        ¦  «        dÌ„ ¦   «         �Z) ee�j*        ¦  «        �d*dÍ„¦   «         �Z+ ee�j,        ejG        ¦  «         edÎejG        ¦  «        dÏ„ ¦   «         ¦   «         �Z-dÐ„ �Z.edÑ„ ¦   «         �Z/edÒ„ ¦   «         �Z0dÓ„ �Z1 ee�j2        ¦  «        dÔ„ ¦   «         �Z3 ee�j2        ¦  «        dÕ„ ¦   «         �Z4 ee�j5        ¦  «        dÖ„ ¦   «         �Z6 ee�j7        ¦  «        d×„ ¦   «         �Z8 ee�j9        ¦  «        dØ„ ¦   «         �Z: ee�j;        ¦  «        �d'dÙ„¦   «         �Z< edÚ„ ¦  «        �Z= edÛ„ ¦  «        �Z> ee�j?        ¦  «        dÜ„ ¦   «         �Z@ ee�jA        ¦  «        �d'dÝ„¦   «         �ZB ee�jC        ¦  «        �d2dß„¦   «         �ZD ee�jE        ¦  «        dà„ ¦   «         �ZF ee�jG        ¦  «        �d*dá„¦   «         �ZHdâ„ �ZI ee�jJ        ¦  «        �d+dã„¦   «         �ZK ee¦  «        �ZL ee¦  «        �ZMedä„ ¦   «         �ZNedå„ ¦   «         �ZOedæ„ ¦   «         �ZPedç„ ¦   «         �ZQedè„ ¦   «         �ZRdé„ �ZS �eTdêdëh¦  «        �ZUdì„ �ZV ee�jW        ¦  «        �d3dí„¦   «         �ZW ee�jX        ¦  «        �d*dî„¦   «         �ZY�eZ�Z[ ee�j\        ¦  «        �d4dð„¦   «         �Z]dñ�Z^ edò�e^¦  «        �Z_dó�Z` edô�e`¦  «        �Zadõ�Zb edö�eb¦  «        �Zcd÷„ �Zd �ed¦   «          dø„ �Ze ee�ja        ¦  «        dù„ ¦   «         �Zf ee�jc        ¦  «        dú„ ¦   «         �Zgdû„ �Zhdü„ �Zidý„ �Zj e�ej¦  «        dþ„ ¦   «         �Zk ee�jl        ¦  «        �d5�d „¦   «         �Zm ee�jn        ¦  «        �d6�d„¦   «         �Zo ee�jp        ¦  «        �d'�d„¦   «         �Zqedrk     r$ ee�jr        ¦  «        e�js        f�d„¦   «         �Zt ee�ju        ¦  «        �d„ ¦   «         �Zv ee�jw        ¦  «        �d,�d„¦   «         �Zx ee�jy        ¦  «        �d„ ¦   «         �Zz ee�j{        ¦  «        �d'�d„¦   «         �Z| ee�j}        ¦  «        �d7�d„¦   «         �Z~e�d„ ¦   «         �Ze�d„ ¦   «         �Z€e�d„ ¦   «         �Z�e�d„ ¦   «         �Z‚�d„ �Zƒ  ee�j„        ¦  «         �eƒ�e¦  «        ¦  «           ee�j…        ¦  «         �eƒ�e€¦  «        ¦  «           ee�j†        ¦  «         �eƒ�e�¦  «        ¦  «           ee�j‡        ¦  «         �eƒ�e‚¦  «        ¦  «          e�jˆ        g �d¢¦  «        �Z‰ e�jˆ        g �d¢¦  «        �ZŠe�d„ ¦   «         �Z‹e�d„ ¦   «         �ZŒe�d„ ¦   «         �Z� ee�jŽ        ¦  «        �d„ ¦   «         �Z�e�d„ ¦   «         �Z��d„ �Z‘ e�e‘¦  «        �d„ ¦   «         �Z’ ee�j“        ¦  «        �d„ ¦   «         �Z”e�dk     r)e�d„ ¦   «         �Z•�d„ �Z– e�e–¦  «        �d„ ¦   «         �Z— ee�j˜        ¦  «        �d8�d „¦   «         �Z™ ee�jš        ¦  «        �d*�d!„¦   «         �Z›e�d9�d"„¦   «         �Zœ ee�j�        ¦  «        �d*�d#„¦   «         �Zž�d9�d$„�ZŸed¡k     r  ee�j         ¦  «        �eŸ¦  «          ee�j¡        ¦  «        �d9�d%„¦   «         �Z¢dS (:  z5
Implementation of math operations on Array objects.
é    N)Ú
namedtuple)Ú
NPDatetimeÚNPTimedelta)Ú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)ÚTypingErrorÚNumbaValueErrorÚNumbaNotImplementedErrorÚNumbaTypeErrorÚNumbaDeprecationWarning)Útuple_setitem)r   )ÚConstantc                  óH   — 	 t          ¦   «          n# t          $ r Y dS w xY wdS ©NFT)r   ÚImportError© ó    úCC:\Projects\Historical\venv\Lib\site-packages\numba/np/arraymath.pyÚ_check_blasr*   #   s9   € ðÝ‰ŒˆˆøÝð ð ð Øˆuˆuðøøøàˆ4s   ‚ ‘
žc                   óB   — e Zd ZdZ	 	 d
d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
dS )ÚEntireIteratorz6
    Compute ptr along an entire array dimension.
    Nc
                 óî   — || _         || _        || _        || _        || _        | j                              t          j        ¦  «        | _        || _	        |r|ng | _
        |r|ng | _        |	r|	ng | _        d S ©N)ÚcontextÚbuilderÚarytyÚaryÚdimÚget_value_typer   ÚintpÚll_intpÚary_int_ptrÚextra_variationsÚextra_stridesÚextra_iter_ptrs)
Úselfr/   r0   r1   r2   r3   r7   r8   r9   r:   s
             r)   Ú__init__zEntireIterator.__init__7   sƒ   € ð ˆŒØˆŒØˆŒ
ØˆŒØˆŒØ”|×2Ò2µ5´:Ñ>Ô>ˆŒØ&ˆÔØ4DÐ LÐ 0Ð 0È"ˆÔØ.;ÐC˜]˜]ÀˆÔØ2AÐI˜˜ÀrˆÔÐÐr(   c                 óÈ  ‡ ‡— ‰ j         Š‰                     ‰ j        j        ‰ j        ¦  «        ‰ _        ‰                     ‰ j        j        ‰ j        ¦  «        ‰ _        t          j	        ‰‰ j
        ¦  «        ‰ _        ˆˆ fd„t          t          ‰ j        ¦  «        ¦  «        D ¦   «         ‰ _        ‰                     ¦   «         ‰ _        ‰                     ¦   «         ‰ _        d S )Nc                 ó\   •— g | ](}‰                      ‰j        |         ‰j        ¦  «        ‘Œ)S r'   )Úextract_valuer9   r3   )Ú.0Úir0   r;   s     €€r)   ú
<listcomp>z*EntireIterator.prepare.<locals>.<listcomp>J   sC   ø€ ð "
ð "
ð "
àð ×!Ò! $Ô"4°QÔ"7¸¼ÑBÔBð"
ð "
ð "
r(   )r0   r?   r2   Úshaper3   ÚsizeÚstridesÚ
dim_strider   Úalloca_oncer6   ÚindexÚrangeÚlenr8   Úextra_dim_stridesÚappend_basic_blockÚbb_startÚbb_end)r;   r0   s   `@r)   ÚpreparezEntireIterator.prepareE   sË   øø€ Ø”,ˆØ×)Ò)¨$¬(¬.¸$¼(ÑCÔCˆŒ	Ø!×/Ò/°´Ô0@À$Ä(ÑKÔKˆŒÝÔ(¨°$´,Ñ?Ô?ˆŒ
ð"
ð "
ð "
ð "
ð "
å�3˜tÔ4Ñ5Ô5Ñ6Ô6ð"
ñ "
ô "
ˆÔð  ×2Ò2Ñ4Ô4ˆŒØ×0Ò0Ñ2Ô2ˆŒˆˆr(   c                 ó   — | j         S r.   ©rD   ©r;   s    r)   Úget_sizezEntireIterator.get_sizeQ   s
   € ØŒyÐr(   c                 ó   — | j         fS r.   rQ   rR   s    r)   Ú	get_shapezEntireIterator.get_shapeT   s   € Ø”	ˆ|Ðr(   c                 ó:   — |                       d¦  «        | j        fS ©Nr   )r6   rD   rR   s    r)   Úget_index_boundszEntireIterator.get_index_boundsW   s   € à—’˜Q‘” ¤Ð+Ð+r(   c           	      óÜ  — | j         }| j                              t          | j        d¦  «        | j        ¦  «         |                     | j        ¦  «         |                     | j        ¦  «         |                     | j        ¦  «        }| 	                    | 
                    d|| j        ¦  «        d¬¦  «        5  |                     | j        |                     | j        ¦  «        ¦  «        }|                     t          | j        d¦  «        |¦  «        }t          j        ||                     | j        ¦  «        |¦  «        }|                     || j        ¦  «         t%          t'          | j        ¦  «        ¦  «        D ]¹}|                     | j        |         |                     | j        ¦  «        ¦  «        }|                     t          | j        d¦  «        |¦  «        }t          j        ||                     | j        |         ¦  «        |¦  «        }|                     || j        |         ¦  «         Œº|                     | j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |S )Nr   ú>=F©Úlikely)r0   Ústorer#   r6   rH   ÚbranchrM   Úposition_at_endÚloadÚif_thenÚicmp_signedrD   ÚmulrF   Úsubr   Úpointer_addr7   rI   rJ   r8   rK   r:   rN   )r;   r0   Ú	cur_indexÚoffsetÚ
neg_offsetÚnew_ptrrA   s          r)   Ú	loop_headzEntireIterator.loop_head[   sU  € Ø”,ˆàŒ×Ò�8 D¤L°!Ñ4Ô4°d´jÑAÔAÐAØ�Š�t”}Ñ%Ô%Ð%Ø×Ò ¤Ñ.Ô.Ð.Ø—L’L ¤Ñ,Ô,ˆ	Ø�_Š_˜W×0Ò0°°yÀ$Ä)ÑLÔLØ$)ð ñ +ô +ð 	(ð 	(ð —[’[ ¤°'·,²,¸t¼zÑ2JÔ2JÑKÔKˆFØ Ÿš¥X¨d¬l¸AÑ%>Ô%>ÀÑGÔGˆJÝÔ)Ø˜Ÿš dÔ&6Ñ7Ô7¸ñô ˆGð �MŠM˜' 4Ô#3Ñ4Ô4Ð4Ý�3˜tÔ4Ñ5Ô5Ñ6Ô6ð @ð @�Ø ŸšØÔ*¨1Ô-¨w¯|ª|¸D¼JÑ/GÔ/Gñô �ð %Ÿ[š[­°$´,ÀÑ)BÔ)BÀFÑKÔK�
Ý!Ô-Ø˜WŸ\š\¨$Ô*>¸qÔ*AÑBÔBÀJñô �ð —’˜g tÔ';¸AÔ'>Ñ?Ô?Ð?Ð?Ø�NŠN˜4œ;Ñ'Ô'Ð'ð%	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð& Ðs   Â:FI!É!I%É(I%c                 ó°  — | j         }t          j        ||                     | j        ¦  «        ¦  «        }t          j        ||                     | j        ¦  «        | j        ¦  «        }|                     || j        ¦  «         t          t          | j        ¦  «        ¦  «        D ]b}t          j        ||                     | j        |         ¦  «        | j        |         ¦  «        }|                     || j        |         ¦  «         Œc|                     || j        ¦  «         |                     | j        ¦  «         |                     | j        ¦  «         d S r.   )r0   r   Úincrement_indexr`   rH   re   r7   rF   r]   rI   rJ   r8   r:   rK   r^   rM   r_   rN   )r;   r0   Ú
next_indexri   rA   s        r)   Ú	loop_tailzEntireIterator.loop_tailw   s.  € Ø”,ˆÝÔ,¨W°g·l²lÀ4Ä:Ñ6NÔ6NÑOÔOˆ
õ Ô%Ø�W—\’\ $Ô"2Ñ3Ô3°T´_ñ
ô 
ˆð 	�Š�g˜tÔ/Ñ0Ô0Ð0Ý•s˜4Ô0Ñ1Ô1Ñ2Ô2ð 	<ð 	<ˆAÝÔ)ØØ—’˜TÔ1°!Ô4Ñ5Ô5ØÔ& qÔ)ñô ˆGð
 �MŠM˜' 4Ô#7¸Ô#:Ñ;Ô;Ð;Ð;à�Š�j $¤*Ñ-Ô-Ð-Ø�Š�t”}Ñ%Ô%Ð%Ø×Ò ¤Ñ,Ô,Ð,Ð,Ð,r(   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r<   rO   rS   rU   rX   rj   rn   r'   r(   r)   r,   r,   2   s˜   € € € € € ðð ð
 7;Ø!%ðJð Jð Jð Jð
3ð 
3ð 
3ðð ð ðð ð ð,ð ,ð ,ðð ð ð8-ð -ð -ð -ð -r(   r,   c                   óN   — e Zd Z	 dd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ ZdS )ÚArrayIteratorNc           
      ó  ‡ ‡‡‡‡— ‰‰ _         ‰‰ _        ‰‰ _        ‰‰ _        ‰ j                              t
          j        ¦  «        ‰ _        t          j	        ‰‰j
        j        ¦  «        ‰ _        ‰                     ‰j
        ‰ j        ¦  «         g ‰ _        g ‰ _        g ‰ _        g ‰ _        |�r1t%          |¦  «        t%          |¦  «        k    sJ ‚t'          |¦  «        }t)          t%          |¦  «        ¦  «        D ]ã}‰ j                             ‰                      ‰‰||         ||         j        ¦  «        ¦  «         ‰ j                             ||         ¦  «         ||         }t          j	        ‰|j
        j        ¦  «        }	‰                     |j
        |	¦  «         ‰ j                             |	¦  «         ‰ j                             |j
        j        ¦  «         Œäˆˆˆˆˆ fd„t)          ‰j        ¦  «        D ¦   «         ‰ _        d S )Nc                 óf   •— g | ]-}t          ‰‰‰‰|‰j        ‰j        ‰j        ‰j        ¦	  «	        ‘Œ.S r'   )r,   Úiter_ptrr8   r9   r:   )r@   r3   r2   r1   r0   r/   r;   s     €€€€€r)   rB   z*ArrayIterator.__init__.<locals>.<listcomp>°   s[   ø€ ð 
ð 
ð 
ð õ ØØØØØØ”ØÔ%ØÔ"ØÔ$ñ
ô 
ð
ð 
ð 
r(   )r/   r0   r1   r2   r4   r   r5   r6   r   rG   ÚdataÚtyperw   r]   r:   r9   r8   Úextra_typesrJ   ÚlistrI   ÚappendÚmake_stride_from_maskrE   ÚndimÚindexers)
r;   r/   r0   r1   r2   Úextra_masksÚ
extra_arysrA   Ú	extra_aryÚextra_iter_ptrs
   `````     r)   r<   zArrayIterator.__init__Ž   s  øøøøø€ àˆŒØˆŒØˆŒ
ØˆŒØ”|×2Ò2µ5´:Ñ>Ô>ˆŒÝÔ+¨G°S´X´]ÑCÔCˆŒØ�Š�c”h ¤Ñ.Ô.Ð.Ø!ˆÔØˆÔØ "ˆÔØˆÔØñ 	=õ �{Ñ#Ô#¥s¨:¡¤Ò6Ð6Ð6Ð6Ý˜{Ñ+Ô+ˆKÝ�3˜{Ñ+Ô+Ñ,Ô,ð =ð =�ØÔ"×)Ò)Ø×.Ò.Ø ¨+°a¬.Ø" 1œÔ-ñô ñô ð ð Ô%×,Ò,¨[¸¬^Ñ<Ô<Ð<Ø& qœM�	Ý!(Ô!4Ø˜Yœ^Ô0ñ"ô "�ð —’˜iœn¨nÑ=Ô=Ð=ØÔ$×+Ò+¨NÑ;Ô;Ð;ØÔ ×'Ò'¨	¬Ô(;Ñ<Ô<Ð<Ð<ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
õ ˜uœzÑ*Ô*ð
ñ 
ô 
ˆŒˆˆr(   c                 óD  — t          j        t           j        |j        j        ¦  «        }t          j        |                     |¦  «        ¦  «        }t          j        ||j        ¦  «        }| 	                    ||¦  «         t          j        ||j        ¦  «        }| 	                    ||¦  «         t          | j        d¦  «        }	t          j        || j        ¦  «        }
| 	                    |	|
¦  «         t          |j        j        ¦  «        D �]ü}|                     |                     ||¦  «        ¦  «        5  |                     ||	                     d¦  «        |                     |
¦  «        gd¬¦  «        }|                     |¦  «        }|                     ||	                     d¦  «        t          | j        |¦  «        gd¬¦  «        }| 	                    ||¦  «         | 	                    |                     |                     |
¦  «        t          | j        d¦  «        ¦  «        |
¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |                     |                     ||¦  «        ¦  «        ¦  «        5  |                     ||	                     d¦  «        t          | j        |¦  «        gd¬¦  «        }| 	                    t          | j        d¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   �Œþ|                     |¦  «        S ©Nr   T©Úinboundsé   )r   ÚUniTupler5   ry   Úcountr   Úget_null_valuer4   rG   r]   r#   r6   rI   ra   r?   Úgepr`   ÚaddÚnot_)r;   r/   r0   ÚmaskrE   Úresult_tuple_tyÚresult_tupleÚstackÚstrides_stackÚzeroÚaccrA   ÚoffptrÚ
stride_vals                 r)   r}   z#ArrayIterator.make_stride_from_mask¾   sI  € åœ.­¬°T´Y´_ÑEÔEˆÝÔ-Ø×"Ò" ?Ñ3Ô3ñ
ô 
ˆõ Ô# G¨\Ô->Ñ?Ô?ˆØ�Š�l EÑ*Ô*Ð*ÝÔ+¨G°W´\ÑBÔBˆØ�Š�g˜}Ñ-Ô-Ð-Ý˜œ aÑ(Ô(ˆÝÔ! '¨4¬<Ñ8Ô8ˆØ�Š�d˜CÑ Ô Ð å�t”y”Ñ'Ô'ð 	Añ 	AˆAØ—’ ×!6Ò!6°t¸QÑ!?Ô!?Ñ@Ô@ð ð à ŸšØ! D§I¢I¨a¡L¤L°'·,²,¸sÑ2CÔ2CÐ#DØ!ð %ñ ô �ð %Ÿ\š\¨&Ñ1Ô1�
à ŸšØ˜DŸIšI a™LœL­(°4´<ÀÑ*CÔ*CÐDØ!ð %ñ ô �ð —’˜j¨&Ñ1Ô1Ð1à—’˜gŸkškØ—L’L Ñ%Ô%¥x°´¸aÑ'@Ô'@ñô àñô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð$ —’ §¢¨g×.CÒ.CÀDÈ!Ñ.LÔ.LÑ!MÔ!MÑNÔNð Að Aà ŸšØ˜DŸIšI a™LœL­(°4´<ÀÑ*CÔ*CÐDØ!ð %ñ ô �ð —’�h t¤|°QÑ7Ô7¸Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aùð �|Š|˜EÑ"Ô"Ð"s&   Ä;C<IÉI	É
I	Ê
A*L Ì L	ÌL	c                 óB   — | j         D ]}|                     ¦   «          Œd S r.   )r   rO   ©r;   Úindexers     r)   rO   zArrayIterator.prepareé   s0   € Ø”}ð 	ð 	ˆGØ�OŠOÑÔÐÐð	ð 	r(   c                 ó   — d S r.   r'   rR   s    r)   rS   zArrayIterator.get_sizeí   ó   € Øˆr(   c                 ó   — d S r.   r'   rR   s    r)   rU   zArrayIterator.get_shapeð   rœ   r(   c                 ó   — d S r.   r'   rR   s    r)   rX   zArrayIterator.get_index_boundsó   rœ   r(   c                 óV  ‡ — ‰ j         D ]}|                     ¦   «          Œt          ‰ dd ¦  «        r[ˆ fd„t          t	          ‰ j        ¦  «        ¦  «        D ¦   «         }‰ j                             ‰ j        ¦  «        t          |¦  «        fS ‰ j                             ‰ j        ¦  «        S )Nr:   c                 óZ   •— g | ]'}‰j                              ‰j        |         ¦  «        ‘Œ(S r'   )r0   r`   r:   )r@   rA   r;   s     €r)   rB   z+ArrayIterator.loop_head.<locals>.<listcomp>û   sA   ø€ ð ð ð àð ”×!Ò! $Ô"6°qÔ"9Ñ:Ô:ðð ð r(   )
r   rj   ÚgetattrrI   rJ   r:   r0   r`   rw   Útuple)r;   rš   Ú
extra_ptrss   `  r)   rj   zArrayIterator.loop_headö   sº   ø€ Ø”}ð 	 ð 	 ˆGØ×ÒÑÔÐÐå�4Ð*¨DÑ1Ô1ð 	4ðð ð ð å�s 4Ô#7Ñ8Ô8Ñ9Ô9ðñ ô ˆJð ”<×$Ò$ T¤]Ñ3Ô3µU¸:Ñ5FÔ5FÐFÐFð ”<×$Ò$ T¤]Ñ3Ô3Ð3r(   c                 ó\   — t          | j        ¦  «        D ]}|                     ¦   «          Œd S r.   )Úreversedr   rn   r™   s     r)   rn   zArrayIterator.loop_tail  s:   € Ý ¤Ñ.Ô.ð 	 ð 	 ˆGØ×ÒÑÔÐÐð	 ð 	 r(   c                 óR   — |                       ¦   «          |                      ¦   «         S r.   )rO   rj   rR   s    r)   Ú	__enter__zArrayIterator.__enter__  s   € Ø�Š‰ŒˆØ�~Š~ÑÔÐr(   c                 ó*   — |                       ¦   «         S r.   )rn   )r;   Úexc_typeÚexcÚtbs       r)   Ú__exit__zArrayIterator.__exit__  s   € Ø�~Š~ÑÔÐr(   ©NN)ro   rp   rq   r<   r}   rO   rS   rU   rX   rj   rn   r§   r¬   r'   r(   r)   rt   rt   �   s´   € € € € € à.2ð.
ð .
ð .
ð .
ð`)#ð )#ð )#ðVð ð ðð ð ðð ð ðð ð ð4ð 4ð 4ð ð  ð  ð ð  ð  ð ð  ð  ð  ð  r(   rt   c                 óª   — | j         t          j        k    r(t          j        |¦  «                             | ¦  «        }n|                       |¦  «        }|S r.   )ry   ÚnpÚtimedelta64Úint64Úview)ÚdtypeÚvalueÚacc_inits      r)   Úget_accumulatorr¶     sD   € Ø„z•R”^Ò#Ð#Ý”8˜E‘?”?×'Ò'¨Ñ.Ô.ˆˆà—:’:˜eÑ$Ô$ˆØ€Or(   c                 ó€  — |                       t          j        ¦  «        }t          |t          t
          f¦  «        s|g}t          | ||j        |¦  «        }t          j        t          j        |j        t          |¦  «        z
  ¦  «        }t          j        |                       |¦  «        ¦  «        }t          j        ||j        ¦  «        }	|                     ||	¦  «         t          j        ||¦  «        }
t          |d¦  «        }|                     ||
¦  «         t!          |j        ¦  «        D ]ú}|                     |                     ||¦  «        ¦  «        5  |                     ||¦  «        }|                     |	|                     d¦  «        |                     |
¦  «        gd¬¦  «        }|                     ||¦  «         |                     |                     |                     |
¦  «        t          |d¦  «        ¦  «        |
¦  «         d d d ¦  «         n# 1 swxY w Y   Œû|                     |	¦  «        S r…   )r4   r   r5   Ú
isinstancer{   r¢   Úget_maskrŠ   r‰   rJ   r   r‹   rG   ry   r]   r#   rI   ra   r?   rŒ   r`   r�   )r/   r0   ÚtupletyÚtuplevalÚaxisr6   r�   r�   r‘   r’   Úidxr”   rA   Úval_ir–   s                  r)   Úget_spliced_tupler¿     s9  € ð ×$Ò$¥U¤ZÑ0Ô0€Gå�d�T¥5˜MÑ*Ô*ð ØˆvˆÝ�G˜W g¤m°TÑ:Ô:€Dõ ”n¥U¤Z°´ÅÀTÁÄÑ1JÑKÔK€OÝÔ)Ø×Ò˜Ñ/Ô/ñô €Lõ Ô ¨Ô):Ñ;Ô;€EØ‡M‚M�, Ñ&Ô&Ð&å
Ô
˜g wÑ
/Ô
/€CÝ�G˜QÑÔ€DØ‡M‚M�$˜ÑÔÐõ �7”=Ñ!Ô!ð ð ˆØ�_Š_˜W×2Ò2°4¸Ñ;Ô;Ñ<Ô<ð 	ð 	Ø×)Ò)¨(°AÑ6Ô6ˆEØ—[’[ ¨¯ª°1©¬°w·|²|ÀCÑ7HÔ7HÐ(IØ*.ð !ñ 0ô 0ˆFà�MŠM˜% Ñ(Ô(Ð(Ø�MŠM˜'Ÿ+š+ g§l¢l°3Ñ&7Ô&7½À'È1Ñ9MÔ9MÑNÔNØñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð �<Š<˜ÑÔÐs   ÅB8HÈH#	È&H#	c           	      óv  — |                       t          j        ¦  «        }t          j        t          j        |j        dz   ¦  «        }t          j        |                       |¦  «        ¦  «        }t          j        ||j        ¦  «        }	| 	                    ||	¦  «         t          |j        ¦  «        D �]ò}
t          ||
¦  «        }|                     |                     d||¦  «        ¦  «        5  |                     |	|                     d¦  «        |gd¬¦  «        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |                     d||¦  «        ¦  «        5  |                     ||
¦  «        }|                     |	|                     d¦  «        |gd¬¦  «        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |                     d||¦  «        ¦  «        5  |                     ||
¦  «        }|                     |t          |d¦  «        ¦  «        }|                     |	|                     d¦  «        |gd¬¦  «        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   �Œô|                     |	¦  «        S )Nrˆ   ú==r   Tr†   ú<rZ   )r4   r   r5   r‰   rŠ   r   r‹   rG   ry   r]   rI   r#   ra   rb   rŒ   r?   r�   r`   )r/   r0   rº   r»   r½   Úvalr6   r�   r‘   r’   rA   Úidx_ir–   r¾   Úres_is                  r)   Útuple_additemrÆ   >  s&  € ð ×$Ò$¥U¤ZÑ0Ô0€Gõ ”n¥U¤Z°´ÀÑ1BÑCÔC€OÝÔ)Ø×Ò˜Ñ/Ô/ñô €Lõ Ô ¨Ô):Ñ;Ô;€EØ‡M‚M�, Ñ&Ô&Ð&õ �7”=Ñ!Ô!ð )ñ )ˆÝ˜ !Ñ$Ô$ˆØ�_Š_˜W×0Ò0°°u¸cÑBÔBÑCÔCð 	'ð 	'Ø—[’[ ¨¯ª°A©¬¸Ð(>È�[ÑNÔNˆFØ�MŠM˜#˜vÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð �_Š_˜W×0Ò0°°e¸SÑAÔAÑBÔBð 	)ð 	)Ø×)Ò)¨(°AÑ6Ô6ˆEØ—[’[ ¨¯ª°A©¬¸Ð(>È�[ÑNÔNˆFØ�MŠM˜% Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð �_Š_˜W×0Ò0°°u¸cÑBÔBÑCÔCð 	)ð 	)Ø×)Ò)¨(°AÑ6Ô6ˆEØ—K’K ¥x°¸Ñ';Ô';Ñ<Ô<ˆEØ—[’[ ¨¯ª°A©¬¸Ð(>È�[ÑNÔNˆFØ�MŠM˜% Ñ(Ô(Ð(ð		)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ùð
 �<Š<˜ÑÔÐs9   Ã/AD?Ä?E	ÅE	Å4AGÇG	Ç!G	ÈA>JÊJ	Ê J	c                 ó¦  — t          |t          t          f¦  «        s|g}|                      t          j        ¦  «        }|                      t          j        ¦  «        }t	          j        t          j        |¦  «        }t          j	        |                      |¦  «        ¦  «        }t          j
        ||j        ¦  «        }|                     ||¦  «         t          |¦  «        D ]e}	t          ||	¦  «        }
t          |d¦  «        }|                     ||
                     d¦  «        |
gd¬¦  «        }|                     ||¦  «         Œf|D �]ñ}|��ë|                     ||                     |                     d|t          |d¦  «        ¦  «        t          ||¦  «        t          |d¦  «        ¦  «        ¦  «        }|                     |                     d|t          ||¦  «        ¦  «        |                     d|t          |d¦  «        ¦  «        ¦  «        }|                     |d¬¦  «        5  | j                             |t.          d¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ||
                     d¦  «        |gd¬¦  «        }|                     |                     d	|                     |¦  «        t          |d¦  «        ¦  «        ¦  «        5  | j                             |t.          d
¦  «         d d d ¦  «         n# 1 swxY w Y   |                     t          |d¦  «        |¦  «         �Œó|                     |¦  «        S )Nrˆ   r   Tr†   rÂ   rZ   r[   )zAxis out of bounds.rÁ   )úduplicate value in 'axis')r¸   r{   r¢   r4   r   r5   Úbooleanr‰   r   r‹   rG   ry   r]   rI   r#   rŒ   r�   Úselectrb   Úor_ra   Ú	call_convÚreturn_user_excÚ
ValueErrorr`   )r/   r0   Úmask_lengthr¼   r6   Úll_boolr�   r‘   r’   rA   r½   rÃ   r–   Ú_axisÚis_not_valids                  r)   r¹   r¹   c  s˜  € õ
 �d�T¥5˜MÑ*Ô*ð Øˆvˆà×$Ò$¥U¤ZÑ0Ô0€GØ×$Ò$¥U¤]Ñ3Ô3€Gõ ”n¥U¤]°KÑ@Ô@€OÝÔ)Ø×Ò˜Ñ/Ô/ñô €Lõ Ô ¨Ô):Ñ;Ô;€EØ‡M‚M�, Ñ&Ô&Ð&å�;ÑÔð #ð #ˆÝ�w Ñ"Ô"ˆÝ�w Ñ"Ô"ˆØ—’˜U S§X¢X¨a¡[¤[°#Ð$6À�ÑFÔFˆØ�Š�c˜6Ñ"Ô"Ð"Ð"àð 8ñ 8ˆØÑà—K’KØØ—’Ø×'Ò'¨¨UµH¸WÀaÑ4HÔ4HÑIÔIÝ˜W kÑ2Ô2µH¸WÀaÑ4HÔ4Hñô ñô ˆEð #Ÿ;š;Ø×#Ò#Ø˜%Ý˜W kÑ2Ô2ñô ð ×#Ò# C¨µ¸À!Ñ0DÔ0DÑEÔEñô ˆLð —’ °d�Ñ;Ô;ð .ð .ØÔ!×1Ò1Ø�ZØ,ñ.ô .ð .ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð —[’[ ¨¯ª°!©¬°eÐ(<Àt�[ÑLÔLˆFà—’Ø×#Ò# D¨'¯,ª,°vÑ*>Ô*>Ý$,¨W°aÑ$8Ô$8ñ:ô :ñ;ô ;ð 4ð 4ð Ô!×1Ò1Ø�ZØ2ñ4ô 4ð 4ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð �MŠM�( 7¨AÑ.Ô.°Ñ7Ô7Ð7ùà�<Š<˜ÑÔÐs$   È."IÉI 	É#I 	Ë"LÌL	ÌL	c                 ó  — t          |¦  «        rn| j        }|t          j        k    rt          j        }t          | j        t          j        ¦  «        r+| j        j        t          j        j        k     rt          j        }n|j        }|S r.   )r   r³   r   Úbool_r5   r¸   ÚIntegerÚbitwidth)r1   r³   Ú	ret_dtypes      r)   Úget_ret_dtype_if_anyrØ   ¤  so   € Ý�5ÑÔð  Ø”Kˆ	Ø�œÒ#Ð#Ýœ
ˆIå�u”{¥E¤MÑ2Ô2ð	#àŒKÔ ¥5¤:Ô#6Ò6Ð6õ œ
ˆIøà”Kˆ	ØÐr(   c                 óT   ‡‡— t          ‰|¦  «        Š ‰‰||¦  «        }ˆˆfd„}||fS )Nc                 óˆ  •— |\  }}} t          ‰¦  «        | ||¦  «        }t          ‰t          j        ¦  «        r |                      ‰ ‰d¦  «        ¦  «        }n|                      ‰d¦  «        }t          j        ||¦  «        }| j                             t          j
        ¦  «        }|                     | j        |j        |j        fi ¦  «        }	t          ‰t          j        ¦  «        rd„ }
n|                      ||	¦  «        }
t          | |‰|¦  «        5 }t!          | |‰|¦  «        } |
||                     |¦  «        |                      ||‰j        |j        ¦  «        f¦  «        }|                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t+          | ||j        |                     |¦  «        ¦  «        S )Nr   c                 ó   —  | j         |Ž S r.   ©rË   ©r0   Úargss     r)   ú<lambda>z-_numpy_sum.<locals>.codegen.<locals>.<lambda>Ë  ó   € ¨{¨w¬{¸DÐ/A€ r(   )r   r¸   r   r   Úget_constantr   Úalloca_once_valueÚtyping_contextÚresolve_value_typeÚoperatorÚiaddÚget_call_typeÚreturn_typeÚBooleanÚget_functionrt   r   r`   Úcastr³   r]   r   )r/   r0   ÚsigrÞ   r2   Ú_r”   ÚresultÚfntyÚfn_sigÚ
add_funcfnÚiter_val_ptrrÃ   Úres_valr1   r×   s                 €€r)   Úcodegenz_numpy_sum.<locals>.codegenº  sú  ø€ Ø‰	ˆˆQ�à�j˜ÑÔ ¨°#Ñ6Ô6ˆÝ�i¥Ô!2Ñ3Ô3ð 	6Ø×'Ò'¨	°9°9¸Q±<´<Ñ@Ô@ˆDˆDà×'Ò'¨	°1Ñ5Ô5ˆDÝÔ*¨7°DÑ9Ô9ˆàÔ%×8Ò8½¼ÑGÔGˆØ×#Ò#ØÔ"ØŒ_˜cœoÐ.Øñ
ô 
ˆõ
 �i¥¤Ñ/Ô/ð 	<ØAÐAˆJˆJà ×-Ò-¨d°FÑ;Ô;ˆJõ ˜7 G¨U°CÑ8Ô8ð 	+¸LÝ˜G W¨e°\ÑBÔBˆCØ �j Ø—’˜VÑ$Ô$Ø—’˜W c¨5¬;¸¼ÑHÔHð+Jñ Kô KˆGð �MŠM˜' 6Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+õ !Ø�W˜cœo¨w¯|ª|¸FÑ/CÔ/Cñ
ô 
ð 	
s   ÄA*FÆFÆF)rØ   )Ú	typingctxr1   Úaxistyr³   rì   rô   r×   s    `    @r)   Ú
_numpy_sumr÷   µ  sQ   øø€ å$ U¨EÑ2Ô2€IØ
ˆ)�E˜6 5Ñ
)Ô
)€Cð
ð 
ð 
ð 
ð 
ð 
ðB �ˆ<Ðr(   c                 óÜ   ‡‡‡— t          ‰|¦  «        Št          ‰t          j        ¦  «        r‰j        nd}t          j        ‰‰j        |z
  d¬¦  «        } |‰‰|¦  «        }ˆˆˆfd„}||fS )Nrˆ   ÚC©Úlayoutc                 ó˜  •— |\  }}} t          ‰¦  «        | ||¦  «        }t          ‰t          j        ¦  «        rt	          j        ||¦  «        }t          | ||j        j        |j        |¦  «        }t          | ||j
        t	          j        ||¦  «        ¦  «        }t	          j        ||j        |                     |j        |j        ¦  «        d¦  «         | j                             t$          j        ¦  «        }	|	                     | j        |j
        j        |j
        j        fi ¦  «        }
t          ‰t          j        ¦  «        rd„ }n|                      |	|
¦  «        }t1          | |‰j        |¦  «        }t5          | |‰||f|f¦  «        5 \  }}|d         }t7          | |‰|¦  «        } ||t7          | ||j
        |¦  «        |                      ||‰j        |j
        j        ¦  «        f¦  «        }t;          | ||j
        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t=          | ||j
        |                     ¦   «         ¦  «        S )Nr   c                 ó   —  | j         |Ž S r.   rÜ   rÝ   s     r)   rß   z2_numpy_sum_axis.<locals>.codegen.<locals>.<lambda>  rà   r(   ) r   r¸   r   r‰   r   Úunpack_tupler¿   rC   ry   r   rè   Úmemsetrx   rc   ÚitemsizeÚnitemsrã   rä   rå   ræ   rç   r³   ré   rê   r¹   r~   rt   r   rë   r   r   Ú	_getvalue)r/   r0   rì   rÞ   r2   r¼   rí   Ú	res_shapeÚresrï   rð   rñ   r�   Úary_iter_ptrÚres_ptr_tupÚres_ptrrÃ   ró   r1   rö   r×   s                     €€€r)   rô   z _numpy_sum_axis.<locals>.codegenæ  s’  ø€ Ø‰ˆˆT�1à�j˜ÑÔ ¨°#Ñ6Ô6ˆÝ�f�eœnÑ-Ô-ð 	7ÝÔ'¨°Ñ6Ô6ˆDõ &Ø�W˜cœiœn¨c¬i¸ñ
ô 
ˆ	õ Ø�W˜cœoÝÔ  ¨)Ñ4Ô4ñ
ô 
ˆõ 	ŒØ�S”XØ�KŠK˜œ c¤jÑ1Ô1°1ñ	
ô 	
ð 	
ð
 Ô%×8Ò8½¼ÑGÔGˆØ×#Ò#ØÔ"ØŒ_Ô" C¤OÔ$9Ð:Øñ
ô 
ˆõ
 �i¥¤Ñ/Ô/ð 	<ØAÐAˆJˆJà ×-Ò-¨d°FÑ;Ô;ˆJå˜ ¨%¬*°dÑ;Ô;ˆåØ�W˜e S¨4¨'°C°6ñ
ô 
ð 	Lá(ˆl˜KØ! !”nˆGÝ˜G W¨e°\ÑBÔBˆCØ �j Ý˜' 7¨C¬O¸WÑEÔEØ—’˜W c¨5¬;¸¼Ô8MÑNÔNð+Pñ Qô QˆGõ �w ¨¬¸'À7ÑKÔKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lõ  Ø�W˜cœo¨s¯}ª}©¬ñ
ô 
ð 	
s   ÆA>HÈHÈH)rØ   r¸   r   r‰   rŠ   ÚArrayr~   )	rõ   r1   rö   r³   Úaxis_lengthÚretrì   rô   r×   s	    ``     @r)   Ú_numpy_sum_axisr  Þ  s�   øøø€ å$ U¨EÑ2Ô2€Iå",¨VµU´^Ñ"DÔ"DÐK�&”,�,È!€KÝ
Œ+�i ¤¨kÑ!9À#Ð
FÑ
FÔ
F€CØ
ˆ#ˆe�V˜UÑ
#Ô
#€Cð.
ð .
ð .
ð .
ð .
ð .
ð .
ð` �ˆ<Ðr(   )rˆ   é   c                 ó
  — |�~t          |t          ¦  «        r8|D ]3}|| j         k     s|| j        k    rt          d|› d| j        › �¦  «        ‚Œ4d S || j         k     s|| j        k    rt          d|› d| j        › �¦  «        ‚d S d S ©Nzaxis z) is out of bounds for array of dimension )r¸   r¢   r~   Úaxis_bound_err)Úar¼   Úaxs      r)   Úcheck_axis_boundsr    sÛ   € àÐÝ�d�EÑ"Ô"ð 	Øð ð �Ø˜œ˜’<�< 2¨¬¢< <Ý(ð7 ð 7ð 7Ø./¬fð7ð 7ñô ð ð $0ðð ð �Q”V�GŠ^ˆ^˜t q¤vš~˜~Ý ð/˜ð /ð /Ø&'¤fð/ð /ñô ð ð Ðð  .˜~r(   c                 óè   — | �kt          | t          ¦  «        rXt          | ¦  «        t          t          j        t          j        | ¦  «        |z  ¦  «        ¦  «        k    rt          d¦  «        ‚d S d S d S )NrÈ   )r¸   r¢   rJ   r¯   ÚuniqueÚarrayrÎ   )r¼   r~   s     r)   Úcheck_duplicatesr  .  sj   € àÐ�J t­UÑ3Ô3ÐÝˆt‰9Œ9��BœI¥b¤h¨t¡n¤n°tÑ&;Ñ<Ô<Ñ=Ô=Ò=Ð=ÝÐ8Ñ9Ô9Ð9ð ÐÐÐØ=Ð=r(   Úsumc                 óŒ  ‡— t          |t          j        ¦  «        s|t          |¦  «        smt          |t          j        ¦  «        rt          |j        t          j        ¦  «        s4t          |t          j        ¦  «        r|j        dk    st          d¦  «        ‚t          | t          j	        ¦  «        r�t          |t          j        ¦  «        r$|j        dk    rt          |¦  «        rd	d„}nUd	d„}nPt          |¦  «        s8| j
        t          |t          j        t          j        f¦  «        r|j        ndk    rd	d„}nd	d„}|S t          | t          j        t          j        f¦  «        r\t          |¦  «        r#t          | ¦  «                             d¦  «        Šn"t          |¦  «                             d¦  «        Šd	ˆfd„	}|S d S )
Nr   z?NumPy sum only supports integer axis value or tuple of integersc                 ó*   — t          j        | ¦  «        S r.   )r¯   Úcopy©r  r¼   r³   s      r)   Úarray_sum_implz!array_sum.<locals>.array_sum_implE  s   € Ýœ7 1™:œ:Ð%r(   c                 ó,   — |                       |¦  «        S r.   ©Úastyper  s      r)   r  z!array_sum.<locals>.array_sum_implH  s   € ØŸ8š8 E™?œ?Ð*r(   rˆ   c                 ón   — t          | |¦  «         t          || j        ¦  «         t          | ||¦  «        S r.   )r  r  r~   r÷   r  s      r)   r  z!array_sum.<locals>.array_sum_implM  s6   € Ý! ! TÑ*Ô*Ð*Ý   q¤vÑ.Ô.Ð.Ý! ! T¨5Ñ1Ô1Ð1r(   c                 óD   — t          | |¦  «         t          | ||¦  «        S r.   )r  r  r  s      r)   r  z!array_sum.<locals>.array_sum_implR  s$   € Ý! ! TÑ*Ô*Ð*Ý& q¨$°Ñ6Ô6Ð6r(   c                 ó   •— ‰| z   S r.   r'   ©r  r¼   r³   rµ   s      €r)   Úscalar_sum_implz"array_sum.<locals>.scalar_sum_impl]  ó   ø€ Ø˜a‘<Ðr(   r­   )r¸   r   rÕ   r   r‰   r³   ÚTuplerŠ   r   r  r~   ÚNumberré   r   ry   )r  r¼   r³   r  r$  rµ   s        @r)   Ú	array_sumr(  5  s  ø€ õ �t�Uœ]Ñ+Ô+ð 	
Ý˜ÑÔð	
å˜4¥¤Ñ0Ô0ð	
õ ˜4œ:¥u¤}Ñ5Ô5ð	
õ
 ˜4¥¤Ñ-Ô-ð	
ð ”
˜a’�ÝØMñ
ô 
ð 	
õ �!•U”[Ñ!Ô!ð Ý�d�EœKÑ(Ô(ð 	7¨T¬Z¸1ª_¨_Ý˜5Ñ!Ô!ð +ð&ð &ð &ð &ð &ð+ð +ð +ð +ð +å˜ÑÔð 
	7 !¤&Ý$Ø•u”{¥E¤NÐ3ñ5ô 5ð <ˆDŒJˆJØ:;ò#=ð #=ð2ð 2ð 2ð 2ð 2ð
7ð 7ð 7ð 7ð ÐÝ	�A�œ¥e¤mÐ4Ñ	5Ô	5ð 	Ý�uÑÔð 	/Ý ‘{”{×'Ò'¨Ñ*Ô*ˆHˆHå ‘”×+Ò+¨AÑ.Ô.ˆHð	 ð 	 ð 	 ð 	 ð 	 ð 	 ð Ðð	ð 	r(   Úprodc                 ó0  ‡— t          | t          j        ¦  «        r+t          | j        ¦  «        }t          |d¦  «        Šˆfd„}|S t          | t          j        t          j        f¦  «        r)t          | ¦  «                             d¦  «        Šˆfd„}|S d S )Nrˆ   c                 óh   •— ‰}t          j        | ¦  «        D ]}||                     ¦   «         z  }Œ|S r.   ©r¯   ÚnditerÚitem©r  ÚcÚvrµ   s      €r)   Úarray_prod_implz#array_prod.<locals>.array_prod_implk  s7   ø€ ØˆAÝ”Y˜q‘\”\ð ð �Ø�Q—V’V‘X”X‘��ØˆHr(   c                 ó   •— ‰| z  S r.   r'   )r  rµ   s    €r)   Úscalar_prod_implz$array_prod.<locals>.scalar_prod_implu  r%  r(   )	r¸   r   r  r   r³   r¶   r'  ré   ry   )r  r³   r2  r4  rµ   s       @r)   Ú
array_prodr5  c  s·   ø€ õ �!•U”[Ñ!Ô!ð  Ý˜œÑ!Ô!ˆå" 5¨!Ñ,Ô,ˆð	ð 	ð 	ð 	ð 	ð ÐÝ	�A�œ¥e¤mÐ4Ñ	5Ô	5ð  Ý˜A‘;”;×#Ò# AÑ&Ô&ˆð	 ð 	 ð 	 ð 	 ð 	 ð  Ðð ð  r(   c                 óŒ   ‡‡— t          ‰|¦  «        Št          j        ‰‰j        d¬¦  «        } |‰||¦  «        }ˆˆfd„}||fS )Nrù   rú   c                 ó  •— |\  }}} t          ‰¦  «        | ||¦  «        }t          ‰t          j        ¦  «        r |                      ‰ ‰d¦  «        ¦  «        }n|                      ‰d¦  «        }t          j        ||¦  «        }t          | ||j        t          j	        ||j
        ¦  «        ¦  «        }t          j        ||j        |                     |j        |j        ¦  «        d¦  «         | j                             t$          j        ¦  «        }	|	                     | j        |j        j        |j        j        fi ¦  «        }
t          ‰t          j        ¦  «        rd„ }n|                      |	|
¦  «        }t1          | |‰j        d ¦  «        }t5          | |‰||f|f¦  «        5 \  }}|d         }t7          | |‰|¦  «        } |||                     |¦  «        |                      ||‰j        |j        j        ¦  «        f¦  «        }|                     ||¦  «         t?          | ||j        |                     |¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   tA          | ||j        | !                    ¦   «         ¦  «        S )Nr   c                 ó   —  | j         |Ž S r.   rÜ   rÝ   s     r)   rß   z0_numpy_cumsum.<locals>.codegen.<locals>.<lambda>œ  rà   r(   )"r   r¸   r   r   rá   r   râ   r   rè   rþ   rC   rÿ   rx   rc   r   r  rã   rä   rå   ræ   rç   r³   ré   rê   r¹   r~   rt   r   r`   rë   r]   r   r   r  )r/   r0   rì   rÞ   r2   rí   r”   r•   r  rï   rð   rñ   r�   rò   r  r  rÃ   ró   r1   r×   s                     €€r)   rô   z_numpy_cumsum.<locals>.codegen‚  s¸  ø€ Ø‰	ˆˆQ�à�j˜ÑÔ ¨°#Ñ6Ô6ˆÝ�i¥Ô!2Ñ3Ô3ð 	6Ø×'Ò'¨	°9°9¸Q±<´<Ñ@Ô@ˆDˆDà×'Ò'¨	°1Ñ5Ô5ˆDÝÔ'¨°Ñ6Ô6ˆåØ�W˜cœoÝÔ  ¨#¬)Ñ4Ô4ñ
ô 
ˆõ 	ŒØ�S”XØ�KŠK˜œ c¤jÑ1Ô1°1ñ	
ô 	
ð 	
ð
 Ô%×8Ò8½¼ÑGÔGˆØ×#Ò#ØÔ"ØŒ_Ô" C¤OÔ$9Ð:Øñ
ô 
ˆõ
 �i¥¤Ñ/Ô/ð 	<ØAÐAˆJˆJà ×-Ò-¨d°FÑ;Ô;ˆJå˜ ¨%¬*°dÑ;Ô;ˆå˜7 G¨U°CØ ˜7 S Fñ,ô ,ð 		3Ù/J°¸kØ! !”nˆGÝ˜G W¨e°\ÑBÔBˆCØ �j Ø—’˜SÑ!Ô!Ø—’˜W c¨5¬;¸¼Ô8MÑNÔNð+Pñ Qô QˆGð �MŠM˜' 3Ñ'Ô'Ð'Ý�w ¨¬Ø—|’| CÑ(Ô(¨'ñ3ô 3ð 3ð		3ð 		3ð 		3ñ 		3ô 		3ð 		3ð 		3ð 		3ð 		3ð 		3ð 		3øøøð 		3ð 		3ð 		3ð 		3õ  Ø�W˜cœo¨s¯}ª}©¬ñ
ô 
ð 	
s   Æ'B%IÉIÉI©rØ   r   r  r~   ©rõ   r1   rö   r³   r
  rì   rô   r×   s    `     @r)   Ú_numpy_cumsumr;  {  si   øø€ å$ U¨EÑ2Ô2€Iå
Œ+�i ¤°CÐ
8Ñ
8Ô
8€CØ
ˆ#ˆe�V˜UÑ
#Ô
#€Cð-
ð -
ð -
ð -
ð -
ð -
ð^ �ˆ<Ðr(   c                 óŒ   ‡‡— t          ‰|¦  «        Št          j        ‰‰j        d¬¦  «        } |‰||¦  «        }ˆˆfd„}||fS )Nrù   rú   c                 ó  •— |\  }}} t          ‰¦  «        | ||¦  «        }t          | ||j        t          j        ||j        ¦  «        ¦  «        }t          j        ||j        |                     |j	        |j
        ¦  «        d¦  «         t          | ||j        j        |j        |¦  «        }t          j        ‰‰j        dz
  d¬¦  «        }	t          | ||	t          j        ||¦  «        ¦  «        }
t          j        ||
j        |                     |
j	        |
j
        ¦  «        d¦  «         | j                             t$          j        ¦  «        }|                     | j        |j        j        |j        j        fi ¦  «        }t-          ‰t          j        ¦  «        rd„ }n|                      ||¦  «        }t3          | |‰j        d ¦  «        }t3          | |‰j        |¦  «        }t5          | |‰|||f||
f¦  «        5 \  }}|\  }}t7          | |‰|¦  «        } ||t7          | ||	|¦  «        |                      ||‰j        |j        j        ¦  «        f¦  «        }t;          | ||	||¦  «         t;          | ||j        t7          | ||	|¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   | j                             ||	|
                      ¦   «         ¦  «         tC          | ||j        |                      ¦   «         ¦  «        S )Nr   rˆ   rù   rú   c                 ó   —  | j         |Ž S r.   rÜ   rÝ   s     r)   rß   z5_numpy_cumsum_axis.<locals>.codegen.<locals>.<lambda>Ü  rà   r(   )"r   r   rè   r   rþ   rC   rÿ   rx   rc   r   r  r¿   ry   r   r  r~   rã   rä   rå   ræ   rç   r³   r¸   ré   rê   r¹   rt   r   rë   r   ÚnrtÚdecrefr  r   )r/   r0   rì   rÞ   r2   r¼   rí   r  Ú	acc_shapeÚacc_typer•   rï   rð   rñ   r�   Úinverted_maskr  r  r  Úacc_ptrrÃ   ró   r1   r×   s                         €€r)   rô   z#_numpy_cumsum_axis.<locals>.codegenº  sR  ø€ Ø‰ˆˆT�1à�j˜ÑÔ ¨°#Ñ6Ô6ˆåØ�W˜cœoÝÔ  ¨#¬)Ñ4Ô4ñ
ô 
ˆõ 	ŒØ�S”XØ�KŠK˜œ c¤jÑ1Ô1°1ñ	
ô 	
ð 	
õ
 &Ø�W˜cœiœn¨c¬i¸ñ
ô 
ˆ	õ ”;˜y¨%¬*°q©.ÀÐEÑEÔEˆÝØ�W˜hÝÔ  ¨)Ñ4Ô4ñ
ô 
ˆõ 	ŒØ�S”XØ�KŠK˜œ c¤jÑ1Ô1°1ñ	
ô 	
ð 	
ð
 Ô%×8Ò8½¼ÑGÔGˆØ×#Ò#ØÔ"ØŒ_Ô" C¤OÔ$9Ð:Øñ
ô 
ˆõ
 �i¥¤Ñ/Ô/ð 	<ØAÐAˆJˆJà ×-Ò-¨d°FÑ;Ô;ˆJå˜ ¨%¬*°dÑ;Ô;ˆÝ  ¨'°5´:¸tÑDÔDˆõ Ø�W˜e S¨4°Ð*?Ø�#ˆJñ
ô 
ð 	Pñ )ˆl˜KØ*ÑˆG�WÝ˜G W¨e°\ÑBÔBˆCØ �j Ý˜' 7¨H°gÑ>Ô>Ø—’˜W c¨5¬;¸¼Ô8MÑNÔNð+Pñ Qô QˆGõ �w ¨°7¸GÑDÔDÐDÝ�w ¨¬Ý  ¨'°8¸WÑEÔEÀwñPô Pð Pð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Œ×Ò˜7 H¨c¯mªm©o¬oÑ>Ô>Ð>åØ�W˜cœo¨s¯}ª}©¬ñ
ô 
ð 	
s   Ç;BJ Ê J$Ê'J$r9  r:  s    `     @r)   Ú_numpy_cumsum_axisrE  ´  si   øø€ å$ U¨EÑ2Ô2€IÝ
Œ+�i ¤°CÐ
8Ñ
8Ô
8€CØ
ˆ#ˆe�V˜UÑ
#Ô
#€Cð;
ð ;
ð ;
ð ;
ð ;
ð ;
ðz �ˆ<Ðr(   Úcumsumc                 óþ  ‡— t          |t          j        ¦  «        st          |¦  «        st	          d¦  «        ‚t          | t          j        ¦  «        r'd}t          |¦  «        s| j        |k    rdd„}ndd„}|S t          | t          j        t          j        f¦  «        r\t          |¦  «        r#t          | ¦  «         
                    d¦  «        Šn"t          |¦  «         
                    d¦  «        Šdˆfd„	}|S d S )Nz.NumPy cumsum only suppports integer axis valuerˆ   c                 óº   — |�1|| j          k     s|| j         k    rt          d|› d| j         › �¦  «        ‚t          | ||¦  «                             | j        ¦  «        S r  )r~   rÎ   r;  ÚreshaperD   r  s      r)   Úarray_cumsum_implz'array_cumsum.<locals>.array_cumsum_impl  st   € ØÐ#¨°´°ª¨¸4À1Ä6º>¸>Ý$ð7 ð 7ð 7Ø./¬fð7ð 7ñô ð õ % Q¨¨eÑ4Ô4×<Ò<¸Q¼VÑDÔDÐDr(   c                 óŠ   — |�1|| j          k     s|| j         k    rt          d|› d| j         › �¦  «        ‚t          | ||¦  «        S r  )r~   rÎ   rE  r  s      r)   rJ  z'array_cumsum.<locals>.array_cumsum_impl  sd   € ØÐ#¨°´°ª¨¸4À1Ä6º>¸>Ý$ð7 ð 7ð 7Ø./¬fð7ð 7ñô ð õ *¨!¨T°5Ñ9Ô9Ð9r(   r   c                 ó   •— ‰| z   S r.   r'   r#  s      €r)   Úscalar_cumsum_implz(array_cumsum.<locals>.scalar_cumsum_impl  r%  r(   r­   )r¸   r   rÕ   r   r   r  r~   r'  ré   r   ry   )r  r¼   r³   r	  rJ  rM  rµ   s         @r)   Úarray_cumsumrN  ú  s=  ø€ õ �t�Uœ]Ñ+Ô+ð 
­{¸4Ñ/@Ô/@ð 
ÝØ<ñ
ô 
ð 	
õ �!•U”[Ñ!Ô!ð "ØˆÝ�tÑÔð 	: ¤¨+Ò 5Ð 5ðEð Eð Eð Eð Eð:ð :ð :ð :ð !Ð Ý	�A�œ¥e¤mÐ4Ñ	5Ô	5ð 	"Ý�uÑÔð 	/Ý ‘{”{×'Ò'¨Ñ*Ô*ˆHˆHå ‘”×+Ò+¨AÑ.Ô.ˆHð	 ð 	 ð 	 ð 	 ð 	 ð 	 ð "Ð!ð	"ð 	"r(   Úcumprodc                 ó`  ‡‡— t          | t          j        ¦  «        r‘| j        t          j        v }| j        t          j        k    }|r| j        j        t          j        j        k     s|rt          t          j        ¦  «        Šnt          | j        ¦  «        Št          ‰d¦  «        Šˆˆfd„}|S d S )Nrˆ   c                 óˆ   •— t          j        | j        ‰¦  «        }‰}t          | j        ¦  «        D ]\  }}||z  }|||<   Œ|S r.   ©r¯   ÚemptyrD   Ú	enumerateÚflat)r  Úoutr0  r½   r1  rµ   r³   s        €€r)   Úarray_cumprod_implz)array_cumprod.<locals>.array_cumprod_impl/  sQ   ø€ Ý”(˜1œ6 5Ñ)Ô)ˆCØˆAÝ# A¤FÑ+Ô+ð ð ‘��QØ�Q‘�Ø��C‘�ØˆJr(   )
r¸   r   r  r³   Úsigned_domainrÔ   rÖ   r5   r   r¶   )r  Ú
is_integerÚis_boolrW  rµ   r³   s       @@r)   Úarray_cumprodr[  !  s»   øø€ õ �!•U”[Ñ!Ô!ð "Ø”W¥Ô 3Ð3ˆ
Ø”'�Uœ[Ò(ˆØð 	&˜1œ7Ô+­e¬jÔ.AÒAÐAØð Bå�UœZÑ(Ô(ˆEˆEå˜QœWÑ%Ô%ˆEå" 5¨!Ñ,Ô,ˆð	ð 	ð 	ð 	ð 	ð 	ð "Ð!ð'"ð "r(   Úmeanc                 ó†  ‡‡‡	‡
— t          | t          j        t          j        f¦  «        rd„ }|S t          | t          ¦  «        rd„ }|S t          | t          j        t          j        f¦  «        r)t          | ¦  «                             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¦  «        Št          | j
        t          j        t          j        f¦  «        }t          | j
        t          j        ¦  «        }|sL|r#‰                     t#          d¦  «        ¦  «        Š	n‰                     t$          j        ¦  «        Š	ˆˆˆ	fd„}nˆfd„}|S d S )Nc                 ó0   — t          j        | ¦  «        dz   S ©Nç        ©r¯   Úfloat64©r  s    r)   Ú_scalar_meanz array_mean.<locals>._scalar_mean?  s   € Ý”:˜a‘=”= 3Ñ&Ð&r(   c                 ó   — | S r.   r'   rc  s    r)   Ú_temporal_scalar_meanz)array_mean.<locals>._temporal_scalar_meanC  ó   € ØˆHr(   r   c                 ó   •— | ‰z   S r.   r'   )r  Ú
typed_zeros    €r)   rd  z array_mean.<locals>._scalar_meanI  s   ø€ Ø�z‘>Ð!r(   znan+nanjc                 ó¸   •— | j         dk    r‰S ‰}t          j        | ¦  «        D ]}||                     ¦   «         z  }Œ‰                     || j         z  ¦  «        S rW   )rD   r¯   r-  r.  ry   )r  r0  r1  rµ   r³   Ú	nan_values      €€€r)   Úarray_mean_implz#array_mean.<locals>.array_mean_implc  s_   ø€ ð ”6˜Q’;�;Ø$Ð$ð �Ýœ 1™œð "ð "�AØ˜Ÿš™œ‘M�A�AØ—z’z ! a¤f¡*Ñ-Ô-Ð-r(   c                 óx   •— ‰}t          j        | ¦  «        D ]}||                     ¦   «         z  }Œ|| j        z  S r.   )r¯   r-  r.  rD   r/  s      €r)   rl  z#array_mean.<locals>.array_mean_implr  s>   ø€ Ø�Ýœ 1™œð "ð "�AØ˜Ÿš™œ‘M�A�AØ˜1œ6‘zÐ!r(   )r¸   r   rÕ   ré   r   ÚFloatÚComplexr   ry   r  r³   Úinteger_domainÚ	frozensetrÔ   rb  r¶   r   Úcomplexr¯   Únan)r  rd  rf  Ú	is_numberÚis_datetime_likeÚ
is_complexrl  rµ   r³   rk  ri  s          @@@@r)   Ú
array_meanrw  :  sç  øøøø€ õ �!•e”m¥U¤]Ð3Ñ4Ô4ð ;ð	'ð 	'ð 	'àÐÝ	�A•{Ñ	#Ô	#ð 6ð	ð 	ð 	à$Ð$Ý	�A�œ¥U¤]Ð3Ñ	4Ô	4ð 2Ý˜a‘[”[×%Ò% aÑ(Ô(ˆ
ð	"ð 	"ð 	"ð 	"ð 	"àÐÝ	�A•u”{Ñ	#Ô	#ñ ,Ø”G�uÔ3µiÅÄÀÑ6NÔ6NÑNÐNˆ	Øð 	&Ý�Uœ]Ñ+Ô+ˆEˆEå˜QœWÑ%Ô%ˆEå" 5¨!Ñ,Ô,ˆõ & a¤gµÔ0@Ý05Ô0Að0Cñ Dô DÐõ   ¤­¬Ñ7Ô7ˆ
àð 	"Øð /à!ŸJšJ¥w¨zÑ':Ô':Ñ;Ô;�	�	à!ŸJšJ¥r¤vÑ.Ô.�	ð
.ð 
.ð 
.ð 
.ð 
.ð 
.ð 
.ð 
.ð"ð "ð "ð "ð "ð ÐØˆ4r(   Úvarc                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 óö   — |                       ¦   «         }d}t          j        | ¦  «        D ]E}|                     ¦   «         |z
  }|t          j        |t          j        |¦  «        z  ¦  «        z  }ŒF|| j        z  S rW   )r\  r¯   r-  r.  ÚrealÚconjrD   )r  ÚmÚssdr1  rÃ   s        r)   Úarray_var_implz!array_var.<locals>.array_var_impl€  sm   € à—’‘”ˆAð ˆCÝ”Y˜q‘\”\ð 3ð 3�Ø—v’v‘x”x !‘|�Ø•r”w˜s¥R¤W¨S¡\¤\Ñ1Ñ2Ô2Ñ2��Ø˜œ‘<Ðr(   ©r¸   r   r  )r  r  s     r)   Ú	array_varr�  |  s9   € õ �!•U”[Ñ!Ô!ð ð		 ð 		 ð 		 ð Ððð r(   Ústdc                 óž  ‡‡— t          | t          j        ¦  «        rd„ }|S t          | t          j        t          j        f¦  «        rd„ }|S t          | t          j        t          j        f¦  «        rZt          t          | d| ¦  «        ¦  «        }| 	                    d¦  «        Š| 	                    t          j        ¦  «        Šˆˆfd„}|S d S )Nc                 ó0   — |                       ¦   «         dz  S )Nç      à?)rx  rc  s    r)   Úarray_std_implz!array_std.<locals>.array_std_impl’  s   € Ø—5’5‘7”7˜c‘>Ð!r(   c                 ó*   — t          j        d¦  «        S r_  ra  rc  s    r)   Ústd_scalar_integer_implz*array_std.<locals>.std_scalar_integer_implš  s   € Ý”:˜c‘?”?Ð"r(   Úunderlying_floatr   c                 ó4   •— t          j        | ¦  «        s‰S ‰S r.   )r¯   Úisfinite)r  Únan_valr”   s    €€r)   Ústd_scalar_float_implz(array_std.<locals>.std_scalar_float_impl¤  s   ø€ Ý”;˜q‘>”>ð Ø�ØˆKr(   )r¸   r   r  rÕ   ré   rn  ro  r   r¡   ry   r¯   rs  )r  r†  rˆ  Ú	out_dtyper�  rŒ  r”   s        @@r)   Ú	array_stdr�  Ž  sî   øø€ õ �!•U”[Ñ!Ô!ð %ð	"ð 	"ð 	"ð Ðõ 
�A�œ¥u¤}Ð5Ñ	6Ô	6ð %ð	#ð 	#ð 	#à&Ð&õ 
�A�œ¥U¤]Ð3Ñ	4Ô	4ð 	%Ý�W QÐ'9¸!Ñ<Ô<Ñ=Ô=ˆ	Ø�~Š~˜aÑ Ô ˆØ—.’.¥¤Ñ(Ô(ˆð	ð 	ð 	ð 	ð 	ð 	ð %Ð$ð	%ð 	%r(   c                 ó   — | |k     S r.   r'   ©r  Úmin_vals     r)   Úmin_comparatorr“  «  ó   € àˆwŠ;Ðr(   c                 ó   — | |k    S r.   r'   r‘  s     r)   Úmax_comparatorr–  °  r”  r(   c                 ó   — dS ©NFr'   rc  s    r)   Úreturn_falser™  µ  s   € àˆ5r(   Úminc                 ó.  ‡‡— t          | t          j        t          j        t          t
          f¦  «        rd„ }|S t          | t          j        ¦  «        sd S t          | j        t          j        t          j        f¦  «        rt          j
        Št          Šnzt          | j        t          j        ¦  «        rt          Šd„ }t          |¦  «        ŠnAt          | j        t          j        ¦  «        rt          j        Št          Šnt          Št          Šˆˆfd„}|S )Nc                 ó   — | S r.   r'   rc  s    r)   Ú
scalar_minznpy_min.<locals>.scalar_minÁ  rg  r(   c                 ón   — | j         |j         k     rdS | j         |j         k    r| j        |j        k     rdS dS ©NTF©r{  Úimagr‘  s     r)   Ú	comp_funcznpy_min.<locals>.comp_funcÎ  ó>   € ØŒv˜œÒ$Ð$Ø�tØ”˜7œ<Ò'Ð'Ø”6˜GœLÒ(Ð(Ø˜4Ø�5r(   c                 ó.  •— | j         dk    rt          d¦  «        ‚t          j        | ¦  «        }t	          |¦  «                             d¦  «        } ‰|¦  «        r|S |D ]3}|                     ¦   «         } ‰|¦  «        r|c S  ‰||¦  «        r|}Œ4|S )Nr   zDzero-size array to reduction operation minimum which has no identity©rD   rÎ   r¯   r-  ÚnextÚtaker.  )r  ÚitÚ	min_valuer²   r1  Ú
comparatorÚpre_return_funcs        €€r)   Úimpl_minznpy_min.<locals>.impl_minÞ  óº   ø€ ØŒ6�QŠ;ˆ;Ýð =ñ >ô >ð >õ ŒY�q‰\Œ\ˆÝ˜‘H”H—M’M !Ñ$Ô$ˆ	Øˆ?˜9Ñ%Ô%ð 	ØÐàð 	ð 	ˆDØ—	’	‘”ˆAØˆ˜qÑ!Ô!ð Ø���Øˆz˜!˜YÑ'Ô'ð Ø�	øØÐr(   )r¸   r   r'  ré   r   r   r  r³   Ú	npy_typesr¯   Úisnatr“  ro  r™  r
   rn  Úisnan)r  r�  r¢  r¬  rª  r«  s       @@r)   Únpy_minr±  º  ó  øø€ õ
 �!•e”l¥E¤MÝ ¥+ð/ñ 0ô 0ð ð	ð 	ð 	àÐå�a�œÑ%Ô%ð Øˆå�!”'�IÔ0µ)Ô2GÐHÑIÔIð $Ýœ(ˆÝ#ˆ
ˆ
Ý	�A”G�Uœ]Ñ	+Ô	+ð $Ý&ˆð	ð 	ð 	õ & iÑ0Ô0ˆ
ˆ
Ý	�A”G�Uœ[Ñ	)Ô	)ð $Ýœ(ˆÝ#ˆ
ˆ
å&ˆÝ#ˆ
ðð ð ð ð ð ð$ €Or(   Úmaxc                 ó.  ‡‡— t          | t          j        t          j        t          t
          f¦  «        rd„ }|S t          | t          j        ¦  «        sd S t          | j        t          j        t          j        f¦  «        rt          j
        Št          Šnzt          | j        t          j        ¦  «        rt          Šd„ }t          |¦  «        ŠnAt          | j        t          j        ¦  «        rt          j        Št          Šnt          Št          Šˆˆfd„}|S )Nc                 ó   — | S r.   r'   rc  s    r)   Ú
scalar_maxznpy_max.<locals>.scalar_maxú  rg  r(   c                 ón   — | j         |j         k    rdS | j         |j         k    r| j        |j        k    rdS dS rŸ  r   )r  Úmax_vals     r)   r¢  znpy_max.<locals>.comp_func  r£  r(   c                 ó.  •— | j         dk    rt          d¦  «        ‚t          j        | ¦  «        }t	          |¦  «                             d¦  «        } ‰|¦  «        r|S |D ]3}|                     ¦   «         } ‰|¦  «        r|c S  ‰||¦  «        r|}Œ4|S )Nr   zDzero-size array to reduction operation maximum which has no identityr¥  )r  r¨  Ú	max_valuer²   r1  rª  r«  s        €€r)   Úimpl_maxznpy_max.<locals>.impl_max  r­  r(   )r¸   r   r'  ré   r   r   r  r³   r®  r¯   r¯  r–  ro  r™  r
   rn  r°  )r  r¶  r¢  r»  rª  r«  s       @@r)   Únpy_maxr¼  ó  r²  r(   c                 óZ  — | j         dk    rt          d¦  «        ‚t          j        | ¦  «        }t	          |¦  «                             d¦  «        }d}t          j        |¦  «        r|S d}|D ]=}|                     ¦   «         }t          j        |¦  «        r|c S ||k     r|}|}|dz  }Œ>|S ©Nr   ú*attempt to get argmin of an empty sequencerˆ   ©rD   rÎ   r¯   r-  r¦  r§  r¯  r.  )Úarryr¨  r©  Úmin_idxr½   r²   r1  s          r)   Úarray_argmin_impl_datetimerÃ  ,  ó¹   € à„y�A‚~€~ÝÐEÑFÔFÐFÝ	Œ�4‰Œ€BÝ�R‘”—’˜aÑ Ô €IØ€GÝ	„x�	ÑÔð Øˆà
€CØð ð ˆØ�IŠI‰KŒKˆÝŒ8�A‰;Œ;ð 	ØˆJˆJˆJØˆyŠ=ˆ=ØˆIØˆGØˆq‰ˆˆØ€Nr(   c                 óè   — | j         dk    rt          d¦  «        ‚| j        D ]}|}d} t          j        |¦  «        r|S d}| j        D ])}t          j        |¦  «        r|c S ||k     r|}|}|dz  }Œ*|S r¾  ©rD   rÎ   rU  r¯   r°  ©rÁ  r1  r©  rÂ  r½   s        r)   Úarray_argmin_impl_floatrÈ  B  ó£   € à„y�A‚~€~ÝÐEÑFÔFÐFØŒYð ð ˆØˆ	ØˆØÝ	„x�	ÑÔð Øˆà
€CØŒYð ð ˆÝŒ8�A‰;Œ;ð 	ØˆJˆJˆ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ˆ   )rD   rÎ   rU  ÚRuntimeErrorrÇ  s        r)   Úarray_argmin_impl_genericrÍ  X  sƒ   € à„y�A‚~€~ÝÐEÑFÔFÐFØŒYð *ð *ˆØˆ	ØˆØˆå˜=Ñ)Ô)Ð)à
€CØŒYð ð ˆØˆyŠ=ˆ=ØˆIØˆGØˆq‰ˆˆØ€Nr(   Úargminc                 ó  ‡— t          | j        t          j        t          j        f¦  «        rt
          Šn.t          | j        t          j        ¦  «        rt          Šnt          Št          |¦  «        rdˆfd„	}nt          | |‰¦  «        }|S )Nc                 ó   •—  ‰| ¦  «        S r.   r'   ©r  r¼   Úflatten_impls     €r)   Úarray_argmin_implz'array_argmin.<locals>.array_argmin_implw  ó   ø€ Ø�< ‘?”?Ð"r(   r.   )r¸   r³   r®  r   r   rÃ  r   rn  rÈ  rÍ  r   Ú%build_argmax_or_argmin_with_axis_impl)r  r¼   rÓ  rÒ  s      @r)   Úarray_argminrÖ  l  ó¢   ø€ õ �!”'�IÔ0µ)Ô2GÐHÑIÔIð 1Ý1ˆˆÝ	�A”G�Uœ[Ñ	)Ô	)ð 1Ý.ˆˆå0ˆå�4ÑÔð 
ð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#õ BØˆt�\ñ
ô 
Ðð Ðr(   c                 óZ  — | j         dk    rt          d¦  «        ‚t          j        | ¦  «        }t	          |¦  «                             d¦  «        }d}t          j        |¦  «        r|S d}|D ]=}|                     ¦   «         }t          j        |¦  «        r|c S ||k    r|}|}|dz  }Œ>|S ©Nr   z*attempt to get argmax of an empty sequencerˆ   rÀ  )rÁ  r¨  rº  Úmax_idxr½   r²   r1  s          r)   Úarray_argmax_impl_datetimerÛ  €  rÄ  r(   c                 óè   — | j         dk    rt          d¦  «        ‚| j        D ]}|}d} t          j        |¦  «        r|S d}| j        D ])}t          j        |¦  «        r|c S ||k    r|}|}|dz  }Œ*|S rÙ  rÆ  ©rÁ  r1  rº  rÚ  r½   s        r)   Úarray_argmax_impl_floatrÞ  –  rÉ  r(   c                 óŒ   — | j         dk    rt          d¦  «        ‚| j        D ]}|}d} d}| j        D ]}||k    r|}|}|dz  }Œ|S rÙ  )rD   rÎ   rU  rÝ  s        r)   Úarray_argmax_impl_genericrà  ¬  ss   € à„y�A‚~€~ÝÐEÑFÔFÐFØŒYð ð ˆØˆ	ØˆØà
€CØŒ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.
    r¼   Nc                 ó¾  •— |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        d         }|                     ¦   «         }|j        | j        k    sJ ‚|j        |z  dk    sJ ‚t          j	        |j        |z  ‰
¦  «        }t          |j        ¦  «        D ]!} ‰	|||z  |dz   |z  …         ¦  «        ||<   Œ"| 
                    |j        d d…         ¦  «        S )Nr   zaxis is out of boundsrˆ   éÿÿÿÿ)r~   rÎ   rI   r"   Ú	transposerC   ÚravelrD   r¯   rS  rI  )r  r¼   ÚtmprA   Útranspose_indexÚtransposed_arrr}  ÚraveledrV  rÒ  ÚrettyÚtuple_buffers            €€€r)   Úimplz3build_argmax_or_argmin_with_axis_impl.<locals>.implÈ  s‚  ø€ Ø�!Š8ˆ8Ø”6˜D‘=ˆDà�!Š8ˆ8�t˜qœv’~�~ÝÐ4Ñ5Ô5Ð5ð Œ6�QŠ;ˆ;Ø�< ‘?”?Ð"ð ˆÝ�t˜QœV a™ZÑ(Ô(ð 	/ð 	/ˆAÝ  Q¨¨A©Ñ.Ô.ˆCˆCÝ'¨¨Q¬V°a©Z¸Ñ>Ô>ˆØŸš _Ñ5Ô5ˆð Ô  Ô$ˆØ ×&Ò&Ñ(Ô(ˆØŒ|˜qœvÒ%Ð%Ð%Ð%ØÔ" QÑ&¨!Ò+Ð+Ð+Ð+ÝŒh�~Ô*¨aÑ/°Ñ7Ô7ˆÝ�s”x‘”ð 	>ð 	>ˆAØ!�\ '¨!¨a©%°°Q±¸!±Ð*;Ô"<Ñ=Ô=ˆC�‰FˆFð �{Š{˜>Ô/°°°Ô4Ñ5Ô5Ð5r(   r.   )r   r   r5   r¢   rI   r~   )r  r¼   rÒ  rì  rê  rë  s     ` @@r)   rÕ  rÕ  ¾  sb   øøø€ õ
 �T˜6Ñ"Ô"Ð"ÝŒJ€Eå�˜qœv™œÑ'Ô'€Lð6ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð> €Kr(   Úargmaxc                 ó  ‡— t          | j        t          j        t          j        f¦  «        rt
          Šn.t          | j        t          j        ¦  «        rt          Šnt          Št          |¦  «        rdˆfd„	}nt          | |‰¦  «        }|S )Nc                 ó   •—  ‰| ¦  «        S r.   r'   rÑ  s     €r)   Úarray_argmax_implz'array_argmax.<locals>.array_argmax_implõ  rÔ  r(   r.   )r¸   r³   r®  r   r   rÛ  r   rn  rÞ  rà  r   rÕ  )r  r¼   rð  rÒ  s      @r)   Úarray_argmaxrñ  ê  r×  r(   c                 ó@   ‡‡‡— d| › d�Št           ˆˆˆfd„¦   «         }|S )aÌ  
    Given an argument reduction name ('max' or 'min'), the comparison to
    apply, and the value NaN is replaced with, return an implementation of
    the flattened-array logic shared by np.nanargmax and np.nanargmin. Like
    NumPy, which replaces NaN with nan_fill (+inf for min, -inf for max) and
    then runs a plain argmin/argmax, a NaN adjacent to an infinity equal to
    nan_fill can win the tie-break. All-NaN or empty input raises ValueError.
    zattempt to get argz of an empty sequencec                 óÞ   •— | j         dk    rt          ‰¦  «        ‚d}‰}d}d}| j        D ]0}t          j        |¦  «        r‰}nd} ‰||¦  «        r|}|}|dz  }Œ1|st          d¦  «        ‚|S )Nr   FTrˆ   zAll-NaN slice encounteredrÆ  )	rÁ  rÚ  rº  Úfoundr½   r1  Ú	empty_msgÚnan_fillrå   s	         €€€r)   Úarray_nanarg_implz2build_array_nanarg_impl.<locals>.array_nanarg_impl	  s¤   ø€ àŒ9˜Š>ˆ>Ý˜YÑ'Ô'Ð'ð ˆØˆ	ØˆØˆØ”ð 	ð 	ˆAÝŒx˜‰{Œ{ð Ø��à�Øˆx˜˜9Ñ%Ô%ð Ø�	Ø�Ø�1‰HˆCˆCØð 	:ÝÐ8Ñ9Ô9Ð9Øˆr(   )r
   )Únamerå   rö  r÷  rõ  s    `` @r)   Úbuild_array_nanarg_implrù  þ  sN   øøø€ ð A TÐ@Ð@Ð@€Iåðð ð ð ð ð ñ Ôðð2 Ðr(   c                 óD  ‡— t          | t          j        ¦  «        sd S t          | j        t          j        ¦  «        rt
          Šn5t          | j        t          j        t          j        f¦  «        rt          Šnd S t          |¦  «        rdˆfd„	}|S t          | |‰¦  «        S )Nc                 ó   •—  ‰| ¦  «        S r.   r'   rÑ  s     €r)   Únp_nanargmin_implz'np_nanargmin.<locals>.np_nanargmin_impl7  rÔ  r(   r.   )r¸   r   r  r³   rn  Úarray_nanargmin_implrÕ   ré   rÍ  r   rÕ  )r  r¼   rü  rÒ  s      @r)   Únp_nanargminrþ  *  ó©   ø€ å�a�œÑ%Ô%ð ØˆÝ�!”'�5œ;Ñ'Ô'ð Ý+ˆˆÝ	�A”G�eœm­U¬]Ð;Ñ	<Ô	<ð å0ˆˆàˆå�4ÑÔð Lð	#ð 	#ð 	#ð 	#ð 	#ð 	#à Ð å4°Q¸¸lÑKÔKÐKr(   c                 óD  ‡— t          | t          j        ¦  «        sd S t          | j        t          j        ¦  «        rt
          Šn5t          | j        t          j        t          j        f¦  «        rt          Šnd S t          |¦  «        rdˆfd„	}|S t          | |‰¦  «        S )Nc                 ó   •—  ‰| ¦  «        S r.   r'   rÑ  s     €r)   Únp_nanargmax_implz'np_nanargmax.<locals>.np_nanargmax_implK  rÔ  r(   r.   )r¸   r   r  r³   rn  Úarray_nanargmax_implrÕ   ré   rà  r   rÕ  )r  r¼   r  rÒ  s      @r)   Únp_nanargmaxr  >  rÿ  r(   Úallc                 óÜ   — t          | t          j        t          j        f¦  «        rd„ }|S t          | t          t
          f¦  «        rd„ }|S t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó    — t          | ¦  «        S r.   ©Úboolrc  s    r)   Ú
scalar_allznp_all.<locals>.scalar_allX  ó   € Ý˜‘7”7ˆNr(   c                 ó2   — t          j        | ¦  «        dk    S rW   ©r¯   r±   rc  s    r)   Útemporal_scalar_allz#np_all.<locals>.temporal_scalar_all]  ó   € Ý”8˜A‘;”; !Ò#Ð#r(   c                 ób   — t          j        | ¦  «        D ]}|                     ¦   «         s dS ŒdS r%   r,  ©r  r1  s     r)   Úflat_allznp_all.<locals>.flat_alld  s:   € Ý”Y˜q‘\”\ð !ð !�Ø—v’v‘x”xð !Ø ˜5˜5ð!à�4r(   ©r¸   r   r'  ré   r   r   r  )r  r
  r  r  s       r)   Únp_allr  R  s‘   € õ
 �!•e”l¥E¤MÐ2Ñ3Ô3ð ð	ð 	ð 	àÐå�!•j¥+Ð.Ñ/Ô/ð #ð	$ð 	$ð 	$à"Ð"õ �!•U”[Ñ!Ô!ð ð	ð 	ð 	ð
 ˆàˆ4r(   çñhãˆµøä>ç:Œ0âŽyE>Fc                 óH  — t          j        | ¦  «        }t          j        |¦  «        }|s|s|r|sdS |r|r|sdS nft          j        | ¦  «        st          j        |¦  «        r| |k    S t          j        | |z
  ¦  «        ||t          j        |dz  ¦  «        z  z   k    rdS dS )NFç      ð?T©r¯   r°  ÚisinfÚabs)Úa_vÚb_vÚrtolÚatolÚ	equal_nanÚ	a_v_isnanÚ	b_v_isnans          r)   Ú_allclose_scalarsr#  n  sË   € å”˜‘”€IÝ”˜‘”€Ið ð ˜Ið ØðØ(ðàˆuð ð �Yð Øð 	Ø�5ð	õ Œ8�C‰=Œ=ð 	�BœH S™MœMð 	Ø˜#’:ÐåŒ6�#˜‘)ÑÔ˜t d­R¬V°C¸#±IÑ->Ô->Ñ&>Ñ>Ò>Ð>Ø�5àˆ4r(   Úallclosec                 ój  — 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 d S d S )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 booleanr  r  Fc                 ó*   — t          | ||||¬¦  «        S )N©r  r  r   )r#  ©r  Úbr  r  r   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          | |                     ¦   «         |||¬¦  «        s dS Œ,dS ©Nr,  FT©r¯   Úasarrayr-  r#  r.  )r  r.  r  r  r   Úbvs         r)   Únp_allclose_impl_scalar_arrayz2np_allclose.<locals>.np_allclose_impl_scalar_array¨  sc   € å”
˜1‘”ˆAÝ”i ‘l”lð !ð !�Ý(¨¨B¯GªG©I¬I¸DÀtØ3<ð>ñ >ô >ð !à ˜5˜5ð!ð �4r(   c                 ó®   — t          j        | ¦  «        } t          j        | ¦  «        D ]+}t          |                     ¦   «         ||||¬¦  «        s dS Œ,dS r1  r2  )r  r.  r  r  r   Úavs         r)   Únp_allclose_impl_array_scalarz2np_allclose.<locals>.np_allclose_impl_array_scalar²  sc   € å”
˜1‘”ˆAÝ”i ‘l”lð !ð !�Ý(¨¯ª©¬°A¸DÀtØ3<ð>ñ >ô >ð !à ˜5˜5ð!ð �4r(   c                 ó4  — t          j        | ¦  «        } t          j        |¦  «        }t          j        | |¦  «        \  }}t          j        ||f¦  «        D ]@\  }}t	          |                     ¦   «         |                     ¦   «         |||¬¦  «        s dS ŒAdS r1  )r¯   r3  Úbroadcast_arraysr-  r#  r.  )	r  r.  r  r  r   Úa_aÚb_br7  r4  s	            r)   Únp_allclose_impl_array_arrayz1np_allclose.<locals>.np_allclose_impl_array_array¼  s›   € å”
˜1‘”ˆAÝ”
˜1‘”ˆAÝÔ*¨1¨aÑ0Ô0‰HˆC�åœ) S¨# JÑ/Ô/ð !ð !‘��BÝ(¨¯ª©¬°B·G²G±I´IÀDØ.2¸iðIñ Iô Ið !à ˜5˜5ð!ð �4r(   ©r  r  F)	r   r   r¸   Úfloatr   rn  r	  ré   r'  )r  r.  r  r  r   Úis_a_scalarÚis_b_scalarr/  r5  r8  r=  s              r)   Únp_allcloserB  ˆ  sÔ  € õ ˜AÑÔð GÝÐEÑFÔFÐFå˜AÑÔð HÝÐFÑGÔGÐGå�d�U¥E¤KÐ0Ñ1Ô1ð ,Ýð +ñ ,ô ,ð 	,õ �d�U¥E¤KÐ0Ñ1Ô1ð ,Ýð +ñ ,ô ,ð 	,õ �i¥$­¬Ð!6Ñ7Ô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          t
          f¦  «        rd„ }|S t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó    — t          | ¦  «        S r.   r  rc  s    r)   Ú
scalar_anyznp_any.<locals>.scalar_anyÑ  r  r(   c                 ó2   — t          j        | ¦  «        dk    S rW   r  rc  s    r)   Útemporal_anyznp_any.<locals>.temporal_any×  r  r(   c                 ób   — t          j        | ¦  «        D ]}|                     ¦   «         r dS ŒdS rŸ  r,  r  s     r)   Úflat_anyznp_any.<locals>.flat_anyÝ  s:   € Ý”Y˜q‘\”\ð  ð  �Ø—6’6‘8”8ð  Ø˜4˜4ð à�5r(   r  )r  rF  rH  rJ  s       r)   Únp_anyrK  Ì  s“   € õ �!•e”l¥E¤MÐ2Ñ3Ô3ð ð	ð 	ð 	àÐõ �!•j¥+Ð.Ñ/Ô/ð ð	$ð 	$ð 	$àÐõ �!•U”[Ñ!Ô!ð ð	ð 	ð 	ð
 ˆàˆ4r(   c                 ó’   — |�t          |t          j        ¦  «        sdd„}n%|�t          |t          j        ¦  «        rdd„}ndd„}|S )Nc                 ó    — t          d¦  «        ‚)Nz)Numba does not support average with axis.)Ú	TypeError)r  r¼   Úweightss      r)   Únp_average_implz#np_average.<locals>.np_average_implê  s   € ÝÐGÑHÔHÐHr(   c                 óR   — t          j        | ¦  «        }t          j        |¦  «        S r.   )r¯   r3  r\  )r  r¼   rO  Úarrs       r)   rP  z#np_average.<locals>.np_average_implî  s   € Ý”j ‘m”m�Ý”w˜s‘|”|Ð#r(   c                 óP  — t          j        | ¦  «        }t          j        |¦  «        }|j        |j        k    r|j        dk    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.)r¯   r3  rC   r~   rN  r  ÚZeroDivisionErrorÚmultiply)r  r¼   rO  rR  ÚsclÚavgs         r)   rP  z#np_average.<locals>.np_average_implò  s¨   € Ý”j ‘m”m�Ýœ* WÑ-Ô-�à”9 ¤Ò-Ð-Ø”| qÒ(Ð(Ý'ð4ñ5ô 5ð 5õ ”f˜W‘o”o�Ø˜#’:�:Ý+ØCñEô Eð Eõ ”f�Rœ[¨¨gÑ6Ô6Ñ7Ô7¸#Ñ=�Ø�
r(   r­   )r¸   r   ÚNoneType)r  r¼   rO  rP  s       r)   Ú
np_averagerY  ç  sƒ   € àÐ¥
¨4µ´Ñ @Ô @Ðð	Ið 	Ið 	Ið 	Ið 	Ið ˆ?�j¨µ%´.ÑAÔAˆ?ð$ð $ð $ð $ð $ðð ð ð ð$ Ðr(   c                 óŠ   — t          | t          j        t          j        f¦  «        rt          j        S t          d„ ¦   «         }|S )z$
    A generic isnan() function
    c                 ó   — dS r˜  r'   ©Úxs    r)   Ú_trivial_isnanz!get_isnan.<locals>._trivial_isnan  s   € à�5r(   )r¸   r   rn  ro  r¯   r°  r
   )r³   r^  s     r)   Ú	get_isnanr_    sF   € õ �%�%œ+¥u¤}Ð5Ñ6Ô6ð ÝŒxˆå	ð	ð 	ñ 
Ô	ð	àÐr(   c                 ó*   — t          | ¦  «        rd„ S d S )Nc                 ó<   — t          j        | ¦  «        j        dk    S rW   ©r¯   r3  r¡  r\  s    r)   rß   znp_iscomplex.<locals>.<lambda>  ó   € �œ A™œÔ+¨qÒ0€ r(   ©r   r\  s    r)   Únp_iscomplexre    ó    € å˜ÑÔð 1à0Ð0Ð0Øˆ4r(   c                 ó*   — t          | ¦  «        rd„ S d S )Nc                 ó<   — t          j        | ¦  «        j        dk    S rW   rb  r\  s    r)   rß   znp_isreal.<locals>.<lambda>   rc  r(   rd  r\  s    r)   Ú	np_isrealri    rf  r(   c                 ó
  ‡— t          | ¦  «        }t          | t          j        ¦  «        rt          | j        ¦  «        }t          j        |t
          j        ¦  «        Št          | t          j        ¦  «        rˆfd„}nˆfd„}|S )Nc                 ó   •— | €dS ‰S r˜  r'   ©r]  Úiscmplxs    €r)   rì  ziscomplexobj.<locals>.impl.  s   ø€ ØˆyØ�uØˆNr(   c                 ó   •— ‰S r.   r'   rl  s    €r)   rì  ziscomplexobj.<locals>.impl3  s   ø€ ØˆNr(   )Údetermine_dtyper¸   r   ÚOptionalry   r¯   Ú
issubdtypeÚcomplexfloating)r]  Údtrì  rm  s      @r)   Úiscomplexobjrt  $  s™   ø€ õ 
˜Ñ	Ô	€BÝ�!•U”^Ñ$Ô$ð %Ý˜QœVÑ$Ô$ˆÝŒm˜B¥Ô 2Ñ3Ô3€Gå�!•U”^Ñ$Ô$ð ð	ð 	ð 	ð 	ð 	ð 	ð
	ð 	ð 	ð 	ð 	à€Kr(   c                 ó   — d„ }|S )Nc                 ó,   — t          j        | ¦  «         S r.   )r¯   rt  r\  s    r)   rì  zisrealobj.<locals>.impl=  s   € Ý”? 1Ñ%Ô%Ð%Ð%r(   r'   ©r]  rì  s     r)   Ú	isrealobjrx  8  s   € ð
&ð &ð &à€Kr(   c                 ó0   ‡— t          | ¦  «        Šˆfd„}|S )Nc                 ó   •— ‰S r.   r'   )Úelementr  s    €r)   rì  znp_isscalar.<locals>.implF  s   ø€ Øˆ
r(   )r   )r{  rì  r  s     @r)   Únp_isscalarr|  B  s.   ø€ å
˜Ñ
!Ô
!€Cðð ð ð ð à€Kr(   c                 ó@   ‡— t          |¦  «        rdˆfd„	}ndˆfd„	}|S )Nc                 óˆ   •— t          j        t          j        | ¦  «         ‰t          j        | ¦  «        ¦  «        ¦  «        S r.   ©r¯   Úlogical_andr  Úsignbit©r]  rV  Úfns     €r)   rì  zis_np_inf_impl.<locals>.implO  s/   ø€ Ý”>¥"¤(¨1¡+¤+¨r¨rµ"´*¸Q±-´-Ñ/@Ô/@ÑAÔAÐAr(   c                 óŠ   •— t          j        t          j        | ¦  «         ‰t          j        | ¦  «        ¦  «        |¦  «        S r.   r  r‚  s     €r)   rì  zis_np_inf_impl.<locals>.implR  s1   ø€ Ý”>¥"¤(¨1¡+¤+¨r¨rµ"´*¸Q±-´-Ñ/@Ô/@À#ÑFÔFÐFr(   r.   ©r   )r]  rV  rƒ  rì  s     ` r)   Úis_np_inf_implr†  K  sk   ø€ õ �3ÑÔð Gð	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð	Gð 	Gð 	Gð 	Gð 	Gð 	Gð €Kr(   c                 óD   — t          d„ ¦  «        }t          | ||¦  «        S )Nc                 ó   — | S r.   r'   r\  s    r)   rß   zisneginf.<locals>.<lambda>Z  s   €  A€ r(   ©r
   r†  r‚  s      r)   ÚisneginfrŠ  X  s#   € å	˜+˜+Ñ	&Ô	&€BÝ˜!˜S "Ñ%Ô%Ð%r(   c                 óD   — t          d„ ¦  «        }t          | ||¦  «        S )Nc                 ó   — |  S r.   r'   r\  s    r)   rß   zisposinf.<locals>.<lambda>`  s   €  Q B€ r(   r‰  r‚  s      r)   Úisposinfr�  ^  s#   € å	˜,˜,Ñ	'Ô	'€BÝ˜!˜S "Ñ%Ô%Ð%r(   c                 ó   — | |k     S r.   r'   ©r  r.  s     r)   Ú	less_thanr�  d  ó   € àˆqŠ5€Lr(   c                 ó   — | |k    S r.   r'   r�  s     r)   Úgreater_thanr“  i  r‘  r(   c                 ó:   — | j         dk    rt          d¦  «        ‚d S )Nr   z3zero-size array to reduction operation not possible)rD   rÎ   rc  s    r)   Úcheck_arrayr•  n  s#   € à„v�‚{€{ÝÐNÑOÔOÐOð €{r(   c                 ó"   ‡ — |rˆ fd„}nˆ fd„}|S )Nc                 óØ  •— t          j        | ¦  «        }t          |¦  «         t          j        |¦  «        }t	          |¦  «                             d¦  «        }|D ]Œ}|                     ¦   «         }t          j        |j        ¦  «        rt          j        |j        ¦  «        s|}ŒK ‰|j        |j        ¦  «        r|}Œd|j        |j        k    r ‰|j	        |j	        ¦  «        r|}Œ�|S rW   )
r¯   r3  r•  r-  r¦  r§  r.  r°  r{  r¡  ©r  rR  r¨  Ú
return_valr²   r1  Úcomparison_ops         €r)   rì  z!nan_min_max_factory.<locals>.implv  sÞ   ø€ Ý”*˜Q‘-”-ˆCÝ˜ÑÔÐÝ”˜3‘”ˆBÝ˜b™œŸš qÑ)Ô)ˆJØð 	+ð 	+�Ø—I’I‘K”K�Ý”8˜JœOÑ,Ô,ð +µR´X¸a¼fÑ5EÔ5Eð +Ø!"�J�Jà$�} Q¤V¨Z¬_Ñ=Ô=ð +Ø%&˜
˜
Øœ :¤?Ò2Ð2Ø(˜=¨¬°´ÑAÔAð +Ø)*˜JøØÐr(   c                 ó0  •— t          j        | ¦  «        }t          |¦  «         t          j        |¦  «        }t	          |¦  «                             d¦  «        }|D ]8}|                     ¦   «         }t          j        |¦  «        s ‰||¦  «        s|}Œ9|S rW   )r¯   r3  r•  r-  r¦  r§  r.  r°  r˜  s         €r)   rì  z!nan_min_max_factory.<locals>.impl‡  sŽ   ø€ Ý”*˜Q‘-”-ˆCÝ˜ÑÔÐÝ”˜3‘”ˆBÝ˜b™œŸš qÑ)Ô)ˆJØð 'ð '�Ø—I’I‘K”K�Ý”x ‘{”{ð 'Ø(˜=¨°QÑ7Ô7ð 'Ø%&˜
øØÐr(   r'   )rš  Úis_complex_dtyperì  s   `  r)   Únan_min_max_factoryr�  t  sI   ø€ Øð ð	ð 	ð 	ð 	ð 	ð 	ð"
	ð 
	ð 
	ð 
	ð 
	ð €Kr(   )rœ  Tc                 óh  — t          j        | ¦  «        rt          j        |¦  «        r|S t          j        | ¦  «        r"t          j        |¦  «        r| dk    |dk    k    S t          j        | ¦  «        st          j        |¦  «        rdS t          | |z
  ¦  «        ||t          |¦  «        z  z   k    S )Nr   Fr  )r]  Úyr  r  r   s        r)   Ú_isclose_itemr   ¤  s¡   € å	„x��{„{ð 2•r”x ‘{”{ð 2ØÐÝ	Œ�!‰Œð 2�œ !™œð 2Ø�A’˜1˜qš5Ò!Ð!Ý	Œ�!‰Œð 2�œ ™œð 2Øˆuå�1�q‘5‰zŒz˜T D­3¨q©6¬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	„}nvt          | t          j	        ¦  «        rt          |t          j        ¦  «        rdd
„}n=t          | t          j        ¦  «        rt          |t          j        ¦  «        rdd„}ndd„}|S )Nr&  r'  r(  r)  r*  r  r  Fc                 ó2  — |                       d¦  «        }|}t          j        t          |¦  «        t          j        ¦  «        }t          t          |¦  «        ¦  «        D ]}t          ||         ||||¦  «        ||<   Œ|                      | j        ¦  «        S ©Nrã  ©rI  r¯   ÚzerosrJ   rÔ   rI   r   rC   ©	r  r.  r  r  r   r]  rŸ  rV  rA   s	            r)   Úisclose_implzisclose.<locals>.isclose_implÅ  s   € Ø—	’	˜"‘”ˆAØˆAÝ”(�3˜q™6œ6¥2¤8Ñ,Ô,ˆCÝ�3˜s™8œ8‘_”_ð Gð G�Ý& q¨¤t¨Q°°d¸IÑFÔF��A‘�Ø—;’;˜qœwÑ'Ô'Ð'r(   c                 ó2  — | }|                      d¦  «        }t          j        t          |¦  «        t          j        ¦  «        }t          t          |¦  «        ¦  «        D ]}t          |||         |||¦  «        ||<   Œ|                      |j        ¦  «        S r£  r¤  r¦  s	            r)   r§  zisclose.<locals>.isclose_implÎ  s   € ØˆAØ—	’	˜"‘”ˆAÝ”(�3˜q™6œ6¥2¤8Ñ,Ô,ˆCÝ�3˜s™8œ8‘_”_ð Gð G�Ý& q¨!¨A¬$°°d¸IÑFÔF��A‘�Ø—;’;˜qœwÑ'Ô'Ð'r(   c                 óä  — t          j        | j        |j        ¦  «        }t          j        | |¦  «        }t          j        ||¦  «        }t          j        t          |¦  «        t           j        ¬¦  «        }t          t          j        ||f¦  «        ¦  «        D ]B\  }	\  }
}t          |
 
                    ¦   «         | 
                    ¦   «         |||¦  «        ||	<   ŒCt          j        ||¦  «        S ©N©r³   )r¯   Úbroadcast_shapesrC   Úbroadcast_tor¥  rJ   rÔ   rT  r-  r   r.  )r  r.  r  r  r   rC   Úa_Úb_rV  rA   r7  r4  s               r)   r§  zisclose.<locals>.isclose_impl×  sÅ   € ÝÔ'¨¬°´Ñ9Ô9ˆEÝ”  EÑ*Ô*ˆBÝ”  EÑ*Ô*ˆBå”(�3˜r™7œ7­"¬(Ð3Ñ3Ô3ˆCÝ(­¬°B¸°8Ñ)<Ô)<Ñ=Ô=ð 2ð 2‘�‘8�B˜Ý& r§w¢w¡y¤y°"·'²'±)´)¸TÀ4Ø'0ñ2ô 2��A‘�å”? 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   r¸   r?  r   rn  r	  ré   r  r'  )r  r.  r  r  r   r§  s         r)   Úiscloser±  °  s¸  € å˜AÑÔð GÝÐEÑFÔFÐFå˜AÑÔð HÝÐFÑGÔGÐGå�d�U¥E¤KÐ0Ñ1Ô1ð ,Ýð +ñ ,ô ,ð 	,õ �d�U¥E¤KÐ0Ñ1Ô1ð ,Ýð +ñ ,ô ,ð 	,õ �i¥$­¬Ð!6Ñ7Ô7ð %Ýð $ñ %ô %ð 	%õ �!•U”[Ñ!Ô!ð  >¥j°µE´LÑ&AÔ&Að  >ð	(ð 	(ð 	(ð 	(ð 	(õ 
�A•u”|Ñ	$Ô	$ð >­°Aµu´{Ñ)CÔ)Cð >ð	(ð 	(ð 	(ð 	(ð 	(õ 
�A•u”{Ñ	#Ô	#ð >­
°1µe´kÑ(BÔ(Bð >ð		/ð 		/ð 		/ð 		/ð 		/ð	>ð 	>ð 	>ð 	>ð Ðr(   c                 óz   — t          | ¦  «        }t          j        |t          j        ¦  «        rt          S t
          S r.   )ro  r¯   rq  rr  Úcomplex_nanminÚreal_nanmin©r  rs  s     r)   Ú	np_nanminr¶  é  ó2   € å	˜Ñ	Ô	€BÝ	„}�R�Ô+Ñ,Ô,ð ÝÐåÐr(   c                 óz   — t          | ¦  «        }t          j        |t          j        ¦  «        rt          S t
          S r.   )ro  r¯   rq  rr  Úcomplex_nanmaxÚreal_nanmaxrµ  s     r)   Ú	np_nanmaxr»  ò  r·  r(   c                 ór   ‡— t          | t          j        ¦  «        sd S t          | j        ¦  «        Šˆfd„}|S )Nc                 óÚ   •— d}d}t          j        | ¦  «        D ]=}|                     ¦   «         } ‰|¦  «        s||                     ¦   «         z  }|dz  }Œ>t          j        ||¦  «        S ©Nr`  r   rˆ   )r¯   r-  r.  Údivide)r  r0  rŠ   r²   r1  r°  s        €r)   Únanmean_implz np_nanmean.<locals>.nanmean_impl  sn   ø€ ØˆØˆÝ”I˜a‘L”Lð 	ð 	ˆDØ—	’	‘”ˆAØ�5˜‘8”8ð Ø�Q—V’V‘X”X‘�Ø˜‘
�øåŒy˜˜EÑ"Ô"Ð"r(   ©r¸   r   r  r_  r³   )r  rÀ  r°  s     @r)   Ú
np_nanmeanrÂ  û  sL   ø€ å�a�œÑ%Ô%ð ØˆÝ�a”gÑÔ€Eð	#ð 	#ð 	#ð 	#ð 	#ð Ðr(   c                 ó„  ‡— t          | t          j        ¦  «        sd S t          |t          j        t          j        t
          f¦  «        sd S t          |¦  «        st          d¦  «        ‚t          |¦  «        st          d¦  «        ‚t          |¦  «        st          d¦  «        ‚t          | j	        ¦  «        Šdˆfd„	}|S )Nz(Numba does not support nanvar with axis.z)Numba does not support nanvar with dtype.z'Numba does not support nanvar with out.r   c                 ó„  •— t          j        | ¦  «        }d}d}t          j        | ¦  «        D ]i}|                     ¦   «         }	 ‰|	¦  «        sH|	                     ¦   «         |z
  }
|t          j        |
t          j        |
¦  «        z  ¦  «        z  }|dz  }Œj||k    rt           j        S t          j        |||z
  ¦  «        S r¾  )r¯   Únanmeanr-  r.  r{  r|  rs  r¿  )r  r¼   r³   rV  Úddofr}  r~  rŠ   r²   r1  rÃ   r°  s              €r)   Únanvar_implznp_nanvar.<locals>.nanvar_impl  s°   ø€ åŒJ�q‰MŒMˆàˆØˆÝ”I˜a‘L”Lð 	ð 	ˆDØ—	’	‘”ˆAØ�5˜‘8”8ð Ø—v’v‘x”x !‘|�Ø•r”w˜s¥R¤W¨S¡\¤\Ñ1Ñ2Ô2Ñ2�Ø˜‘
�øà�DŠ=ˆ=Ý”6ˆMåŒy˜˜e d™lÑ+Ô+Ð+r(   ©NNNr   )
r¸   r   r  rÕ   ÚOmittedÚintr   r   r_  r³   )r  r¼   r³   rV  rÆ  rÇ  r°  s         @r)   Ú	np_nanvarrË    sÓ   ø€ å�a�œÑ%Ô%ð ØˆÝ�d�Uœ]­E¬M½3Ð?Ñ@Ô@ð ØˆÝ�tÑÔð FÝÐDÑEÔEÐEÝ�uÑÔð GÝÐEÑFÔFÐFÝ�sÑÔð EÝÐCÑDÔDÐDå�a”gÑÔ€Eð,ð ,ð ,ð ,ð ,ð ,ð$ Ðr(   c                 óV  — t          | t          j        ¦  «        sd S t          |t          j        t          j        t
          f¦  «        sd S t          |¦  «        st          d¦  «        ‚t          |¦  «        st          d¦  «        ‚t          |¦  «        st          d¦  «        ‚dd„}|S )Nz(Numba does not support nanstd with axis.z)Numba does not support nanstd with dtype.z'Numba does not support nanstd with out.r   c                 ó4   — t          j        | |¬¦  «        dz  S )N©rÆ  r…  )r¯   Únanvar)r  r¼   r³   rV  rÆ  s        r)   Únanstd_implznp_nanstd.<locals>.nanstd_impl@  s   € ÝŒy˜ Ð&Ñ&Ô&¨#Ñ-Ð-r(   rÈ  )r¸   r   r  rÕ   rÉ  rÊ  r   r   )r  r¼   r³   rV  rÆ  rÐ  s         r)   Ú	np_nanstdrÑ  3  s¹   € å�a�œÑ%Ô%ð ØˆÝ�d�Uœ]­E¬M½3Ð?Ñ@Ô@ð ØˆÝ�tÑÔð FÝÐDÑEÔEÐEÝ�uÑÔð GÝÐEÑFÔFÐFÝ�sÑÔð EÝÐCÑDÔDÐDð.ð .ð .ð .ð Ðr(   c                 óò   ‡‡— t          | t          j        ¦  «        sd S t          | j        t          j        ¦  «        rt          j        }n| j        } |d¦  «        Št          | j        ¦  «        Šˆˆfd„}|S )Nr   c                 ó‚   •— ‰}t          j        | ¦  «        D ]&}|                     ¦   «         } ‰|¦  «        s||z  }Œ'|S r.   r,  )r  r0  r²   r1  r°  r”   s       €€r)   Únansum_implznp_nansum.<locals>.nansum_implQ  sK   ø€ ØˆÝ”I˜a‘L”Lð 	ð 	ˆDØ—	’	‘”ˆAØ�5˜‘8”8ð Ø�Q‘�øØˆr(   ©r¸   r   r  r³   rÕ   r5   r_  )r  rê  rÔ  r°  r”   s      @@r)   Ú	np_nansumrÖ  F  s…   øø€ å�a�œÑ%Ô%ð ØˆÝ�!”'�5œ=Ñ)Ô)ð Ý”
ˆˆà”ˆØˆ5�‰8Œ8€DÝ�a”gÑÔ€Eðð ð ð ð ð ð Ðr(   c                 óò   ‡‡— t          | t          j        ¦  «        sd S t          | j        t          j        ¦  «        rt          j        }n| j        } |d¦  «        Št          | j        ¦  «        Šˆˆfd„}|S )Nrˆ   c                 ó‚   •— ‰}t          j        | ¦  «        D ]&}|                     ¦   «         } ‰|¦  «        s||z  }Œ'|S r.   r,  )r  r0  r²   r1  r°  Úones       €€r)   Únanprod_implz np_nanprod.<locals>.nanprod_implg  sK   ø€ ØˆÝ”I˜a‘L”Lð 	ð 	ˆDØ—	’	‘”ˆAØ�5˜‘8”8ð Ø�Q‘�øØˆr(   rÕ  )r  rê  rÚ  r°  rÙ  s      @@r)   Ú
np_nanprodrÛ  \  s…   øø€ å�a�œÑ%Ô%ð ØˆÝ�!”'�5œ=Ñ)Ô)ð Ý”
ˆˆà”ˆØ
ˆ%�‰(Œ(€CÝ�a”gÑÔ€Eðð ð ð ð ð ð Ðr(   c                 óð   ‡‡‡— t          | t          j        ¦  «        sd S t          | j        t          j        t          j        f¦  «        rd„ S | j        Št          ‰¦  «        Š ‰d¦  «        Šˆˆˆfd„}|S )Nc                 ó*   — t          j        | ¦  «        S r.   )r¯   rO  rc  s    r)   rß   znp_nancumprod.<locals>.<lambda>y  s   € �œ A™œ€ r(   rˆ   c                 ó    •— t          j        | j        ‰¦  «        }‰}t          | j        ¦  «        D ]\  }} ‰|¦  «         r||z  }|||<   Œ|S r.   rR  )r  rV  r0  r½   r1  Úis_nanrÙ  rê  s        €€€r)   Únancumprod_implz&np_nancumprod.<locals>.nancumprod_impl  sc   ø€ Ý”(˜1œ6 5Ñ)Ô)ˆCØˆAÝ# A¤FÑ+Ô+ð ð ‘��QØ�F˜1‘I”I�:ð Ø˜‘F�AØ��C‘�ØˆJr(   ©r¸   r   r  r³   ré   rÕ   r_  )r  rà  rß  rÙ  rê  s     @@@r)   Únp_nancumprodrâ  r  s�   øøø€ å�a�œÑ%Ô%ð Øˆå�!”'�EœM­5¬=Ð9Ñ:Ô:ð à&Ð&Ð&à”ˆÝ˜5Ñ!Ô!ˆØˆe�A‰hŒhˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð Ðr(   c                 óð   ‡‡‡— t          | t          j        ¦  «        sd S t          | j        t          j        t          j        f¦  «        rd„ S | j        Št          ‰¦  «        Š ‰d¦  «        Šˆˆˆfd„}|S )Nc                 ó*   — t          j        | ¦  «        S r.   )r¯   rF  rc  s    r)   rß   znp_nancumsum.<locals>.<lambda>’  s   € �œ 1™œ€ r(   r   c                 ó    •— t          j        | j        ‰¦  «        }‰}t          | j        ¦  «        D ]\  }} ‰|¦  «         r||z  }|||<   Œ|S r.   rR  )r  rV  r0  r½   r1  rß  rê  r”   s        €€€r)   Únancumsum_implz$np_nancumsum.<locals>.nancumsum_impl˜  sc   ø€ Ý”(˜1œ6 5Ñ)Ô)ˆCØˆAÝ# A¤FÑ+Ô+ð ð ‘��QØ�F˜1‘I”I�:ð Ø˜‘F�AØ��C‘�ØˆJr(   rá  )r  ræ  rß  rê  r”   s     @@@r)   Únp_nancumsumrç  ‹  s�   øøø€ å�a�œÑ%Ô%ð Øˆå�!”'�EœM­5¬=Ð9Ñ:Ô:ð à%Ð%Ð%à”ˆÝ˜5Ñ!Ô!ˆØˆu�Q‰xŒxˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð Ðr(   c                 óh   — t          | ¦  «        }t          |¦  «        dk    rt          d¦  «        ‚|S )Nr   z&zero-size array reduction not possible)Ú_asarrayrJ   rÎ   ©r  rR  s     r)   Úprepare_ptp_inputrë  ¤  s0   € å
�1‰+Œ+€CÝ
ˆ3�x„x�1‚}€}ÝÐAÑBÔBÐBàˆ
r(   c                 óR   ‡ — t          |t          j        ¦  «        rˆ fd„}nˆ fd„}|S )Nc                 óˆ   •—  ‰|j         | j         ¦  «        r|S |j         | j         k    r ‰|j        | j        ¦  «        r|S | S r.   r   ©Úcurrent_valrÃ   Úops     €r)   rì  z+_compute_current_val_impl_gen.<locals>.impl´  sU   ø€ Øˆr�#”(˜KÔ,Ñ-Ô-ð Ø�
Ø”(˜kÔ.Ò.Ð.Ø˜˜3œ8 [Ô%5Ñ6Ô6ð /à�
ØÐr(   c                 ó$   •—  ‰|| ¦  «        r|n| S r.   r'   rî  s     €r)   rì  z+_compute_current_val_impl_gen.<locals>.impl¼  s   ø€ Ø˜"˜S +Ñ.Ô.Ð?�3�3°KÐ?r(   )r¸   r   ro  )rð  rï  rÃ   rì  s   `   r)   Ú_compute_current_val_impl_genrò  ­  sY   ø€ Ý�+�uœ}Ñ-Ô-ð @ð	ð 	ð 	ð 	ð 	ð 	ð	@ð 	@ð 	@ð 	@ð 	@à€Kr(   c                 ó   — d S r.   r'   ©rï  rÃ   s     r)   Ú_compute_a_maxrõ  Á  ó   € Ø€Dr(   c                 ó   — d S r.   r'   rô  s     r)   Ú_compute_a_minrø  Å  rö  r(   c                 ó8   — t          t          j        | |¦  «        S r.   )rò  rå   Úgtrô  s     r)   Ú_compute_a_max_implrû  É  ó   € å(­¬°kÀ3ÑGÔGÐGr(   c                 ó8   — t          t          j        | |¦  «        S r.   )rò  rå   Últrô  s     r)   Ú_compute_a_min_implrÿ  Î  rü  r(   c                 ó   — d S r.   r'   ©rÃ   s    r)   Ú_early_returnr  Ó  rö  r(   c                 ó–   ‡— dŠt          | t          j        ¦  «        rˆfd„}n%t          | t          j        ¦  «        rˆfd„}nˆfd„}|S )Nr   c                 óÎ   •— t          j        | j        ¦  «        rHt          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)r¯   r°  r{  r¡  rs  ©rÃ   ÚUNUSEDs    €r)   rì  z _early_return_impl.<locals>.implÛ  s^   ø€ ÝŒx˜œÑ!Ô!ð %Ý”8˜CœHÑ%Ô%ð -Ø¥¤­"¬&°2©+Ñ!5Ð5Ð5à¥¤¨"¡Ð,Ð,à˜f�}Ð$r(   c                 óP   •— t          j        | ¦  «        rdt           j        fS d‰fS rŸ  )r¯   r°  rs  r  s    €r)   rì  z _early_return_impl.<locals>.implä  s)   ø€ ÝŒx˜‰}Œ}ð %Ø�RœV�|Ð#à˜f�}Ð$r(   c                 ó   •— d‰fS r˜  r'   r  s    €r)   rì  z _early_return_impl.<locals>.implê  s   ø€ Ø˜&�=Ð r(   )r¸   r   ro  rn  )rÃ   rì  r  s     @r)   Ú_early_return_implr
  ×  sŒ   ø€ à€FÝ�#•u”}Ñ%Ô%ð !ð	%ð 	%ð 	%ð 	%ð 	%ð 	%õ 
�C�œÑ	%Ô	%ð !ð	%ð 	%ð 	%ð 	%ð 	%ð 	%ð	!ð 	!ð 	!ð 	!ð 	!à€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 ]B}||         }t	          |¦  «        \  }}|r|c S t          ||¦  «        }t          ||¦  «        }ŒC||z
  S rW   )rë  rU  rI   rD   r  rõ  rø  )	r  rR  Úa_flatÚa_minÚa_maxrA   rÃ   Útake_branchÚretvals	            r)   Únp_ptp_implznp_ptp.<locals>.np_ptp_impl÷  s•   € Ý Ñ"Ô"ˆà”ˆØ�q”	ˆØ�q”	ˆå�s”x‘”ð 	/ð 	/ˆAØ˜”)ˆCÝ"/°Ñ"4Ô"4ÑˆK˜Øð Ø���Ý" 5¨#Ñ.Ô.ˆEÝ" 5¨#Ñ.Ô.ˆEˆEà�u‰}Ðr(   )Úhasattrr¸   r³   r   ré   r   )r  r  s     r)   Únp_ptpr  ï  sT   € õ ˆq�'ÑÔð MÝ�a”g�uœ}Ñ-Ô-ð 	MÝÐKÑLÔLÐLðð ð ð" Ðr(   )é   r   Úptpc                 óf   — t          j        | ¦  «        rdS t          j        |¦  «        rdS | |k     S r%   )r¯   r°  r�  s     r)   Únan_aware_less_thanr    s5   € å	„x��{„{ð ØˆuåŒ8�A‰;Œ;ð 	Ø�4à�q’5ˆLr(   c                 ó   ‡ ‡— dˆˆ fd„	}|S )Nc                 ó   •— ||z   dz	  } ‰	| |         | |         ¦  «        r0| |         | |         c| |<   | |<   ‰r||         ||         c||<   ||<    ‰	| |         | |         ¦  «        r0| |         | |         c| |<   | |<   ‰r||         ||         c||<   ||<    ‰	| |         | |         ¦  «        r0| |         | |         c| |<   | |<   ‰r||         ||         c||<   ||<   | |         }| |         | |         c| |<   | |<   ‰r||         ||         c||<   ||<   |}|dz
  }	 ||k     r/ ‰	| |         |¦  «        r|dz  }||k     r ‰	| |         |¦  «        °||k    r/ ‰	|| |         ¦  «        r|dz  }||k    r ‰	|| |         ¦  «        °||k    rn;| |         | |         c| |<   | |<   ‰r||         ||         c||<   ||<   |dz  }|dz  }Œ¬| |         | |         c| |<   | |<   ‰r||         ||         c||<   ||<   |S ©Nrˆ   r'   )
ÚAÚlowÚhighÚIÚmidÚpivotrA   ÚjÚargpartitionÚ	pivotimpls
           €€r)   Ú
_partitionz&_partition_factory.<locals>._partition  s«  ø€ Ø�T‰z˜aÑˆð ˆ9�Q�s”V˜Q˜sœVÑ$Ô$ð 	0Ø˜sœV Q s¤VˆNˆAˆc‰F�A�c‘FØð 0Ø!" 3¤¨¨3¬���#‘˜˜#™Øˆ9�Q�t”W˜a œfÑ%Ô%ð 	2Ø œf a¨¤gˆOˆAˆd‰G�Q�s‘VØð 2Ø"# C¤&¨!¨D¬'���$‘˜˜3™Øˆ9�Q�s”V˜Q˜sœVÑ$Ô$ð 	0Ø˜sœV Q s¤VˆNˆAˆc‰F�A�c‘FØð 0Ø!" 3¤¨¨3¬���#‘˜˜#™Ø�#”ˆà˜Cœ& ! D¤'ˆˆˆ$‰��3‘Øð 	.Ø œf a¨¤gˆOˆAˆd‰G�Q�s‘VØˆØ�1‰Hˆð	Ø�d’(�(˜y˜y¨¨1¬¨uÑ5Ô5�(Ø�Q‘�ð �d’(�(˜y˜y¨¨1¬¨uÑ5Ô5�(à�s’(�(˜y˜y¨°°!´Ñ5Ô5�(Ø�Q‘�ð �s’(�(˜y˜y¨°°!´Ñ5Ô5�(à�AŠvˆ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'   )r%  r$  r&  s   `` r)   Ú_partition_factoryr'    s0   øø€ ð,ð ,ð ,ð ,ð ,ð ,ð ,ðZ Ðr(   )r$  c                 ó   ‡ — dˆ fd„	}|S )Nc                 ó¢   •—  ‰| |||¦  «        }||k    r3||k     r|dz   } ‰| |||¦  «        }n|dz
  } ‰| |||¦  «        }||k    °3| |         S )zJ
        Select the k'th smallest element in array[low:high + 1].
        rˆ   r'   )rÁ  Úkr  r  r½   rA   Úpartitionimpls         €r)   Ú_selectz _select_factory.<locals>._selectW  s€   ø€ ð ˆM˜$  T¨3Ñ/Ô/ˆØ�1ŠfˆfØ�1ŠuˆuØ˜!‘e�Ø!�M $¨¨T°3Ñ7Ô7��à˜1‘u�Ø!�M $¨¨T°3Ñ7Ô7�ð �1Šfˆfð �AŒwˆr(   r.   r'   )r+  r,  s   ` r)   Ú_select_factoryr-  V  s(   ø€ ðð ð ð ð ð ð €Nr(   c                 óþ   — 	 ||k    sJ ‚t          | ||¦  «        }||k     r|dz   }nD||dz   k    r|dz
  }n5||k    rt          | |dz   |dz   |¦  «         nt          | |||dz
  ¦  «         nŒj| |         | |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.
    Trˆ   )r&  r,  )rÁ  r*  r  r  rA   s        r)   Ú_select_twor/  l  s²   € ðØ�cŠzˆzˆzˆzÝ�t˜S $Ñ'Ô'ˆØˆqŠ5ˆ5Ø�a‘%ˆCˆCØ��Q‘ŠYˆYØ�q‘5ˆDˆDØ�!ŠVˆ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Únr  r  Úhalfr  r.  s          r)   Ú_median_innerr4  …  se   € ð €CØˆq‰5€DØ�‰6€DØˆ1�u�‚z€zÝ˜9 d¨Q¡h°°TÑ:Ô:‰ˆˆ1Ø�A‘˜‰{Ðå�y $¨¨TÑ2Ô2Ð2r(   c                 ó€   ‡— t          | t          j        ¦  «        sd S t          | j        ¦  «        j        dv Šˆfd„}|S )NÚmMc                 óŽ   •— |                       ¦   «         }|j        d         }‰s|dk    rt          j        S t	          ||¦  «        S rW   )ÚflattenrC   r¯   rs  r4  )r  r1  r2  Úis_datetimes      €r)   Úmedian_implznp_median.<locals>.median_implœ  sE   ø€ ð —I’I‘K”Kˆ	ØŒO˜AÔˆØð 	˜q Ašv˜vÝ”6ˆMÝ˜Y¨Ñ*Ô*Ð*r(   )r¸   r   r  r   r³   Úchar)r  r:  r9  s     @r)   Ú	np_medianr<  •  sT   ø€ å�a�œÑ%Ô%ð Øˆå˜1œ7Ñ#Ô#Ô(¨DÐ0€Kð+ð +ð +ð +ð +ð Ðr(   c                 óÈ  — t          | ¦  «        }|dk    r6t          j        t          |¦  «        | d         t          j        ¬¦  «        }�nt          j        t          |¦  «        t          j        ¬¦  «        }t          t          |¦  «        ¦  «        D �]Ë}||         }|dk    r^t          j        | ¦  «        }t          j        t          j        | ¦  «        ¦  «         r!t          j        |¦  «         rt          j	        }�nW|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k    rt          j	        }|	dk    r|dk    r|dk    rt          j	        }nnd|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*  r  r  )rJ   r¯   Úfullrb  rS  rI   r³  r  r‹  rs  rš  r  ÚinfÚtrue_divideÚmathÚfloorr/  rÊ  )r  Úqr2  rV  rA   Ú
percentilerÃ   Únum_pos_infÚnum_neg_infÚ
num_finiteÚrankÚfr}  ÚlowerÚuppers                  r)   Ú_collect_percentiles_innerrN  §  s&  € õ 	ˆA‰Œ€AàˆA‚v€våŒg•c˜!‘f”f˜a œd­"¬*Ð5Ñ5Ô5ˆ‰åŒh•s˜1‘v”v¥R¤ZÐ0Ñ0Ô0ˆÝ•s˜1‘v”v‘”ð %	ñ %	ˆAØ˜1œˆJð ˜SÒ Ð Ý”f˜Q‘i”i�å”F�2œ; q™>œ>Ñ*Ô*Ð*ð %Ýœ CÑ(Ô(Ð(ð %Ý œf˜ùð ˜q’�Ý”f˜Q‘i”i�å”F�2œ; q™>œ>Ñ*Ô*Ð*ð -Ý"$¤&¨­b¬fªÑ"5Ô"5�KÝ"$¤&¨­r¬v¨gªÑ"6Ô"6�KØ!" k°KÑ&?Ñ!@�JØ! Q’�Ý œf˜Ø" aÒ'Ð'¨A°ªF¨FÝ œf˜Ø" Q’�Ý œf˜Ø! Q’�Ø&¨š?˜?Ø*¨aÒ/Ð/Ý&(¤f øð ˜A ™E¥R¤^°JÀÑ%FÔ%FÑFÑF�Ý”J˜tÑ$Ô$�Ø˜1‘H�Ý*¨1µ°A¸±E±
´
ÀÈÈQÉÐPÑPÔP‘��uØ˜q 1™u‘o¨°©	Ñ1�ØˆC�‰F‰Fà€Jr(   c                 óÒ   — |r| |          } t          | ¦  «        dk    rdS nt          j        |¦  «        rdS t          | ¦  «        dk    r| d         }t          j        |¦  «        S dS )Nr   Frˆ   T)rJ   r¯   rC  r‹  )r  Únan_maskÚskip_nanrÃ   s       r)   Ú_can_collect_percentilesrR  Ü  st   € àð ØˆxˆiŒLˆÝˆq‰6Œ6�QŠ;ˆ;Ø�5ð õ Œ6�(ÑÔð 	Ø�5å
ˆ1�v„v�‚{€{Ø�ŒdˆÝŒ{˜3ÑÔÐàˆtr(   c                 ó‚  — d}| j         dk    rY| j        dk     rNt          | j        ¦  «        D ]8}| |         dk     s&| |         |k    st          j        | |         ¦  «        rd} nŒ9nXt          j        t          j        | ¦  «        ¦  «        s0t          j        | dk     ¦  «        st          j        | |k    ¦  «        rd}|S )NTrˆ   é
   r`  F)r~   rD   rI   r¯   r°  rC  )rE  Úq_upper_boundÚvalidrA   s       r)   Úcheck_validrW  í  sÀ   € à€Eð 	„v�‚{€{�q”v ’{�{Ý�q”v‘”ð 	ð 	ˆAØ�Œt�cŠzˆz˜Q˜qœT MÒ1Ð1µR´X¸aÀ¼d±^´^Ð1Ø�Ø�ð 2øõ Œ6•"”(˜1‘+”+ÑÔð 	¥"¤&¨¨Sª¡/¤/ð 	µR´V¸AÀÒ<MÑ5NÔ5Nð 	ØˆEà€Lr(   c                 óF   — t          | d¬¦  «        st          d¦  «        ‚d S )Nr?  ©rU  z)Percentiles must be in the range [0, 100]©rW  rÎ   ©rE  s    r)   Úpercentile_is_validr\  þ  s3   € å�q¨Ð.Ñ.Ô.ð FÝÐDÑEÔEÐEðFð Fr(   c                 óF   — t          | d¬¦  «        st          d¦  «        ‚d S )Nr  rY  z%Quantiles must be in the range [0, 1]rZ  r[  s    r)   Úquantile_is_validr^  	  s3   € å�q¨Ð,Ñ,Ô,ð BÝÐ@ÑAÔAÐAðBð Br(   c                 óÄ  — t          j        |t           j        ¬¦  «                             ¦   «         } ||¦  «         ||z  }t          j        | t           j        ¬¦  «                             ¦   «         }t          j        |¦  «        }t          |||¦  «        r||          }t          ||¦  «        }n,t          j        t          |¦  «        t           j	        ¦  «        }|S rª  )
r¯   r3  rb  r8  r°  rR  rN  r@  rJ   rs  )r  rE  Úcheck_qÚfactorrQ  r1  rP  rV  s           r)   Ú_collect_percentilesrb  
	  sº   € å
Œ
�1�BœJÐ'Ñ'Ô'×/Ò/Ñ1Ô1€AØ€GˆA�J„J€JØ	ˆF‰
€Aå”
˜1¥B¤JÐ/Ñ/Ô/×7Ò7Ñ9Ô9€IÝŒx˜	Ñ"Ô"€Hå 	¨8°XÑ>Ô>ð &Ø˜x˜iÔ(ˆ	Ý(¨°AÑ6Ô6ˆˆåŒg•c˜!‘f”f�bœfÑ%Ô%ˆà€Jr(   c                 ó@  ‡‡‡— 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                 ó6   •— t          | |‰‰‰¦  «        d         S rW   ©rb  ©r  rE  r`  ra  rQ  s     €€€r)   Únp_percentile_q_scalar_implz?_percentile_quantile_inner.<locals>.np_percentile_q_scalar_impl(	  s   ø€ Ý# A q¨'°6¸8ÑDÔDÀQÔGÐGr(   c                 ó*   •— t          | |‰‰‰¦  «        S r.   re  rf  s     €€€r)   Únp_percentile_implz6_percentile_quantile_inner.<locals>.np_percentile_impl+	  s   ø€ Ý# A q¨'°6¸8ÑDÔDÐDr(   r   )ro  r¯   rq  rr  r   r¸   r   r'  ré   r  r~   )r  rE  rQ  ra  r`  rs  rg  ri  s     ```   r)   Ú_percentile_quantile_innerrj  	  sÛ   øøø€ õ 
˜Ñ	Ô	€BÝ	„}�R�Ô+Ñ,Ô,ð =ÝÐ;Ñ<Ô<Ð<ðHð Hð Hð Hð Hð Hð HðEð Eð Eð Eð Eð Eð Eõ �!•e”l¥E¤MÐ2Ñ3Ô3ð "Ø*Ð*Ý	�A•u”{Ñ	#Ô	#ð "¨¬°!ª¨Ø*Ð*à!Ð!r(   c                 ó4   — t          | |ddt          ¬¦  «        S )NFr  ©rQ  ra  r`  ©rj  r\  ©r  rE  s     r)   Únp_percentilero  6	  s%   € å%Ø	ˆ1�u SÕ2Eðñ ô ð r(   c                 ó4   — t          | |ddt          ¬¦  «        S )NTr  rl  rm  rn  s     r)   Únp_nanpercentilerq  =	  s%   € å%Ø	ˆ1�t CÕ1Dðñ ô ð r(   c                 ó4   — t          | |ddt          ¬¦  «        S )NFr?  rl  ©rj  r^  rn  s     r)   Únp_quantilert  D	  s%   € å%Ø	ˆ1�u UÕ4Eðñ ô ð r(   c                 ó4   — t          | |ddt          ¬¦  «        S )NTr?  rl  rs  rn  s     r)   Únp_nanquantilerv  K	  s%   € å%Ø	ˆ1�t EÕ3Dðñ ô ð r(   c                 ór   ‡— t          | t          j        ¦  «        sd S t          | j        ¦  «        Šˆfd„}|S )Nc                 ó
  •— t          j        | j        | j        ¦  «        }d}t          j        | ¦  «        D ]+}|                     ¦   «         } ‰|¦  «        s
|||<   |dz  }Œ,|dk    rt           j        S t          ||¦  «        S ©Nr   rˆ   )r¯   rS  rD   r³   r-  r.  rs  r4  )r  r1  r2  r²   r1  r°  s        €r)   Únanmedian_implz$np_nanmedian.<locals>.nanmedian_implX	  s†   ø€ å”H˜QœV Q¤WÑ-Ô-ˆ	ØˆÝ”I˜a‘L”Lð 	ð 	ˆDØ—	’	‘”ˆAØ�5˜‘8”8ð Ø �	˜!‘Ø�Q‘�øð �Š6ˆ6Ý”6ˆMå˜Y¨Ñ*Ô*Ð*r(   rÁ  )r  rz  r°  s     @r)   Únp_nanmedianr{  R	  sL   ø€ å�a�œÑ%Ô%ð ØˆÝ�a”gÑÔ€Eð+ð +ð +ð +ð +ð  Ðr(   c                 ó  — t          j        | ¦  «        }t          j        | j        d d…         ¦  «        }|D ]N}| |                              ¦   «         }d}t          |¦  «        dz
  }|D ]}t          ||||¦  «         |}Œ|||<   ŒO|S )Nrã  r   rˆ   )r¯   Ú
empty_likeÚndindexrC   r  rJ   Ú_select_w_nan)	r  Ú	kth_arrayrV  r½   ÚsrÁ  r  r  Úkths	            r)   Únp_partition_impl_innerrƒ  k	  sš   € õ
 Œ-˜Ñ
Ô
€Cå
Œ*�Q”W˜S˜b˜S”\Ñ
"Ô
"€CØð 	ð 	ˆØ�Œt�yŠy‰{Œ{ˆØˆÝ�4‰yŒy˜1‰}ˆàð 	ð 	ˆCÝ˜$  S¨$Ñ/Ô/Ð/ØˆCˆCàˆˆA‰ˆØ€Jr(   c           	      ón  — t          j        | t           j        ¬¦  «        }t          j        | j        d d…         ¦  «        }|D ]p}| |                              ¦   «         }t          j        t          |¦  «        ¦  «        }d}t          |¦  «        dz
  }|D ]}	t          ||	|||¦  «         |	}Œ|||<   Œq|S )Nr«  rã  r   rˆ   )	r¯   r}  r5   r~  rC   r  ÚarangerJ   Ú_arg_select_w_nan)
r  r€  rV  r½   r�  rÁ  Úidx_arryr  r  r‚  s
             r)   Únp_argpartition_impl_innerrˆ  €	  s¸   € õ
 Œ-˜¥¤Ð
)Ñ
)Ô
)€Cå
Œ*�Q”W˜S˜b˜S”\Ñ
"Ô
"€CØð 
ð 
ˆØ�Œt�yŠy‰{Œ{ˆÝ”9�S ™YœYÑ'Ô'ˆØˆÝ�4‰yŒy˜1‰}ˆàð 	ð 	ˆCÝ˜d C¨¨d°HÑ=Ô=Ð=ØˆCˆCàˆˆA‰ˆØ€Jr(   c                 óØ  — t          |¦  «                             t          j        ¦  «        }|j        dk    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-Drã  zkth out of boundsr   )ré  r  r¯   r±   r~   rÎ   rC  r  rC   r}  Úndenumerater  )r  r‚  r€  rV  rH   rÃ   s         r)   Ú
valid_kthsr‹  –	  s×   € õ ˜‘”×$Ò$¥R¤XÑ.Ô.€Ià„~˜ÒÐÝÐ4Ñ5Ô5Ð5õ 
„v�bŒf�YÑÔ 1¤7¨2¤;Ò.Ñ/Ô/ð .ÝÐ,Ñ-Ô-Ð-å
Œ-˜	Ñ
"Ô
"€Cå”n YÑ/Ô/ð ð ‰
ˆˆsØ�Š7ˆ7Ø˜qœw rœ{Ñ*ˆC�‰JˆJàˆC�‰JˆJåŒ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  é   úPartition index must be integerc                 óž   — t          | ¦  «        }|j        dk    r|                     ¦   «         S t          ||¦  «        }t	          ||¦  «        S rW   )ré  rD   r  r‹  rƒ  ©r  r‚  Úa_tmpr€  s       r)   Únp_partition_implz'np_partition.<locals>.np_partition_implÌ	  sE   € Ý˜‘”ˆØŒ:˜Š?ˆ?Ø—:’:‘<”<Ðå" 5¨#Ñ.Ô.ˆIÝ*¨5°)Ñ<Ô<Ð<r(   ©r¸   r   r  ÚSequencer&  r    r~   r¡   r   rÕ   ré   )r  r‚  ÚmsgÚkthdtÚ	kth_typesr•  s         r)   Únp_partitionr›  ¹	  sÐ   € õ �a�%œ+¥u¤~µu´{ÐCÑDÔDð IÝÐGÑHÔHÐHå�!•U”[Ñ!Ô!ð " a¤f°¢k kØCˆÝ˜SÑ!Ô!Ð!å�C˜ #Ñ&Ô&€EÝ˜ÒÐÝ”Mˆ	ˆ	å”]¥E¤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'|                     ¦   «                              d¦  «        S t	          ||¦  «        }t          ||¦  «        S )Nr   r5   )ré  rD   r  r  r‹  rˆ  r“  s       r)   Únp_argpartition_implz-np_argpartition.<locals>.np_argpartition_implê	  sS   € Ý˜‘”ˆØŒ:˜Š?ˆ?Ø—:’:‘<”<×&Ò& vÑ.Ô.Ð.å" 5¨#Ñ.Ô.ˆIÝ-¨e°YÑ?Ô?Ð?r(   r–  )r  r‚  r˜  r™  rš  rž  s         r)   Únp_argpartitionrŸ  ×	  sÓ   € õ �a�%œ+¥u¤~µu´{ÐCÑDÔDð IÝÐGÑHÔHÐHå�!•U”[Ñ!Ô!ð " a¤f°¢k kØCˆÝ˜SÑ!Ô!Ð!å�C˜ #Ñ&Ô&€EÝ˜ÒÐÝ”Mˆ	ˆ	å”]¥E¤MÐ2ˆ	Ý�e˜YÑ'Ô'ð @åÐ>Ñ?Ô?Ð?ð@ð @ð @ð  Ðr(   c                 ó.  — t          d| ¦  «        t          d|¦  «        f}t          j        |t          j        ¬¦  «        }t	          |d         ¦  «        D ]>}t          t          d||z   dz   ¦  «        |d         ¦  «        }d||d |…f<   d|||d …f<   Œ?|S )Nr   r«  rˆ   )r³  r¯   rS  rb  rI   rš  )ÚNÚMr*  rC   rV  rA   Úm_maxs          r)   Ú	_tri_implr¤  ø	  s™   € å��1‰IŒI•s˜1˜a‘y”yÐ €EÝ
Œ(�5¥¤
Ð
+Ñ
+Ô
+€Cå�5˜”8‰_Œ_ð ð ˆÝ•C˜˜1˜q™5 1™9Ñ%Ô% u¨Q¤xÑ0Ô0ˆØˆˆAˆv�ˆvˆI‰ØˆˆAˆuˆvˆvˆI‰ˆà€Jr(   c                 ó.   — t          |d¦  «         dd„}|S )Nr*  r   c                 ó,   — |€| }t          | ||¦  «        S r.   )r¤  )r¡  r¢  r*  s      r)   Útri_implznp_tri.<locals>.tri_impl
  s   € Øˆ9ØˆAÝ˜˜A˜qÑ!Ô!Ð!r(   rW   )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~   rJ   r¯   rS  r³   rI   )r}  Úlen_mrV  rA   s       r)   Ú_make_squarer«  
  s]   € ð Œ6�QŠ;ˆ;ˆ;ˆ;å�‰FŒF€EÝ
Œ(�E˜5�>¨¬Ð
1Ñ
1Ô
1€Cå�5‰\Œ\ð ð ˆØˆˆA‰ˆà€Jr(   c                 óô   — t          j        | j        d         | j        d         |¬¦  «                             t           j        ¦  «        }t          j        || t          j        | | j        ¬¦  «        ¦  «        S ©Néþÿÿÿrã  ©r¢  r*  r«  ©r¯   ÚtrirC   r  ÚuintÚwhereÚ
zeros_liker³   ©r}  r*  r�   s      r)   Únp_tril_impl_2dr¶  $
  sY   € åŒ6�!”'˜"”+ ¤¨¤°Ð2Ñ2Ô2×9Ò9½"¼'ÑBÔB€DÝŒ8�D˜!�Rœ]¨1°A´GÐ<Ñ<Ô<Ñ=Ô=Ð=r(   c                 ót   — t          |d¦  «         dd„}dd„}| j        dk    r|S | j        dk    rt          S |S )Nr*  r   c                 ó@   — t          | ¦  «        }t          ||¦  «        S r.   )r«  r¶  ©r}  r*  Úm_2ds      r)   Únp_tril_impl_1dz my_tril.<locals>.np_tril_impl_1d0
  ó   € Ý˜A‰ŒˆÝ˜t QÑ'Ô'Ð'r(   c                 ó‚  — t          j        | j        d         | j        d         |¬¦  «                             t           j        ¦  «        }t          j        | j        d d…         ¦  «        }t          j        | ¦  «        }t          j        || j        ¬¦  «        }|D ]!}t          j	        || |         |¦  «        ||<   Œ"|S r­  ©
r¯   r±  rC   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_multi4
  s£   € ÝŒv�a”g˜b”k Q¤W¨R¤[°AÐ6Ñ6Ô6×=Ò=½b¼gÑFÔFˆÝŒj˜œ  " œÑ&Ô&ˆÝŒM˜!ÑÔˆÝ”= ¨Q¬WÐ5Ñ5Ô5ˆØð 	6ð 	6ˆCÝ”X˜d A c¤F¨HÑ5Ô5ˆAˆc‰FˆFØˆr(   rˆ   r  ©r   )r   r~   r¶  )r}  r*  r»  rÃ  s       r)   Úmy_trilrÅ  *
  sf   € õ �Q˜ÑÔÐð(ð (ð (ð (ðð ð ð ð 	„v�‚{€{ØÐØ	
Œ�1ŠˆÝÐà!Ð!r(   c                 óŒ   — t          | d¦  «         t          |d¦  «         t          |¦  «        st          |d¦  «         dd„}|S )Nr2  r*  r}  r   c                 óT   — t          j        t          j        | ||¬¦  «        ¦  «        S )N©r*  ©r¯   Únonzeror±  ©r2  r*  r}  s      r)   Únp_tril_indices_implz-np_tril_indices.<locals>.np_tril_indices_implN
  s#   € ÝŒz�"œ&  A¨Ð+Ñ+Ô+Ñ,Ô,Ð,r(   ©r   N©r   r   )r2  r*  r}  rÌ  s       r)   Únp_tril_indicesrÏ  E
  s\   € õ �Q˜ÑÔÐÝ�Q˜ÑÔÐÝ�q‰>Œ>ð !Ý˜˜CÑ Ô Ð ð-ð -ð -ð -àÐr(   c                 ób   — t          |d¦  «         | j        dk    rt          d¦  «        ‚dd„}|S )Nr*  r  úinput array must be 2-dr   c                 ó\   — t          j        | j        d         || j        d         ¬¦  «        S ©Nr   rˆ   )r*  r}  )r¯   Útril_indicesrC   ©rR  r*  s     r)   Únp_tril_indices_from_implz7np_tril_indices_from.<locals>.np_tril_indices_from_impl\
  ó%   € ÝŒ˜sœy¨œ|¨q°C´I¸a´LÐAÑAÔAÐAr(   rÄ  ©r   r~   r   )rR  r*  rÖ  s      r)   Únp_tril_indices_fromrÙ  S
  óL   € õ �Q˜ÑÔÐà
„x�1‚}€}ÝÐ3Ñ4Ô4Ð4ðBð Bð Bð Bà$Ð$r(   c                 óú   — t          j        | j        d         | j        d         |dz
  ¬¦  «                             t           j        ¦  «        }t          j        |t          j        | | j        ¬¦  «        | ¦  «        S ©Nr®  rã  rˆ   r¯  r«  r°  rµ  s      r)   Únp_triu_impl_2drÝ  a
  s]   € åŒ6�!”'˜"”+ ¤¨¤°°A±Ð6Ñ6Ô6×=Ò=½b¼gÑFÔF€DÝŒ8�D�"œ-¨°´Ð9Ñ9Ô9¸1Ñ=Ô=Ð=r(   c                 ót   — t          |d¦  «         dd„}dd„}| j        dk    r|S | j        dk    rt          S |S )Nr*  r   c                 ó@   — t          | ¦  «        }t          ||¦  «        S r.   )r«  rÝ  r¹  s      r)   Únp_triu_impl_1dz my_triu.<locals>.np_triu_impl_1dl
  r¼  r(   c                 óˆ  — t          j        | j        d         | j        d         |dz
  ¬¦  «                             t           j        ¦  «        }t          j        | j        d d…         ¦  «        }t          j        | ¦  «        }t          j        || j        ¬¦  «        }|D ]!}t          j	        ||| |         ¦  «        ||<   Œ"|S rÜ  r¾  r¿  s          r)   Únp_triu_impl_multiz#my_triu.<locals>.np_triu_impl_multip
  s§   € ÝŒv�a”g˜b”k Q¤W¨R¤[°A¸±EÐ:Ñ:Ô:×AÒAÅ"Ä'ÑJÔJˆÝŒj˜œ  " œÑ&Ô&ˆÝŒM˜!ÑÔˆÝ”= ¨Q¬WÐ5Ñ5Ô5ˆØð 	6ð 	6ˆCÝ”X˜d H¨a°¬fÑ5Ô5ˆAˆc‰FˆFØˆr(   rˆ   r  rÄ  )r   r~   rÝ  )r}  r*  rà  râ  s       r)   Úmy_triurã  g
  sf   € õ �Q˜ÑÔÐð(ð (ð (ð (ðð ð ð ð 	„v�‚{€{ØÐØ	
Œ�1ŠˆÝÐà!Ð!r(   c                 óŒ   — t          | d¦  «         t          |d¦  «         t          |¦  «        st          |d¦  «         dd„}|S )Nr2  r*  r}  r   c           	      ó`   — 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_implŠ
  s,   € ÝŒz˜!�bœf Q¨¨Q°©UÐ3Ñ3Ô3Ñ3Ñ4Ô4Ð4r(   rÍ  rÎ  )r2  r*  r}  ræ  s       r)   Únp_triu_indicesrç  �
  s\   € õ �Q˜ÑÔÐÝ�Q˜ÑÔÐÝ�q‰>Œ>ð !Ý˜˜CÑ Ô Ð ð5ð 5ð 5ð 5àÐr(   c                 ób   — t          |d¦  «         | j        dk    rt          d¦  «        ‚dd„}|S )Nr*  r  rÑ  r   c                 ó\   — t          j        | j        d         || j        d         ¬¦  «        S rÓ  )r¯   Útriu_indicesrC   rÕ  s     r)   Únp_triu_indices_from_implz7np_triu_indices_from.<locals>.np_triu_indices_from_impl˜
  r×  r(   rÄ  rØ  )rR  r*  rë  s      r)   Únp_triu_indices_fromrì  �
  rÚ  r(   c                 ó   — d S r.   r'   ©rR  s    r)   Ú_prepare_arrayrï  �
  rö  r(   c                 ó.   — | d t           j        fv rd„ S d„ S )Nc                 ó*   — t          j        d¦  «        S )Nr'   ©r¯   r  rî  s    r)   rß   z%_prepare_array_impl.<locals>.<lambda>¤
  s   € �2œ8 B™<œ<€ r(   c                 óD   — t          | ¦  «                             ¦   «         S r.   )ré  rå  rî  s    r)   rß   z%_prepare_array_impl.<locals>.<lambda>¦
  s   € �8 C™=œ=×.Ò.Ñ0Ô0€ r(   ©r   Únonerî  s    r)   Ú_prepare_array_implrö  ¡
  s&   € à
ˆt•U”ZÐ Ð Ð Ø'Ð'Ð'à0Ð0Ð0r(   c                 ót  — | }	 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 Œ¶)NTÚ__len__r   r³   ztype has no dtype attr)r¸   r   r'  ré   r   r¡   r¯   rb  r    r—  r³   )ÚinobjÚobjÚlrs  s       r)   Ú_dtype_of_compoundrü  ©
  s²   € Ø
€Cð Ý�c�EœL­%¬-Ð8Ñ9Ô9ð 	!Ý˜C‘=”=Ð Ý�C˜ DÑ)Ô)ˆØˆ=˜Q˜Q™SœS AšX˜XÝ”:ÐÝ�S˜' 4Ñ(Ô(ˆØˆ:Ý Ð!9Ñ:Ô:Ð:Ý�c�5œ>Ñ*Ô*ð 	 Ø”)ˆCˆ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                 ór  — t          |¦  «        }t          | ¦  «        }t          |¦  «        }|j        }t          |¦  «        dk    rŸt          j        t          |¦  «        t          |¦  «        z   t          |¦  «        z   dz
  |¬¦  «        }t          |¦  «        }t          |¦  «        t          |¦  «        z   dz
  }	||d |…<   t          j        |¦  «        |||	…<   |||	d …<   nPt          j        t          |¦  «        t          |¦  «        z   |¬¦  «        }t          |¦  «        }||d |…<   |||d …<   |S )Nr   rˆ   r«  )rï  r³   rJ   r¯   rS  Údiff)
r2   Úto_endÚto_beginÚstartr!  ÚendrŽ  rV  Ú	start_idxÚmid_idxs
             r)   Únp_ediff1d_implz#np_ediff1d.<locals>.np_ediff1d_implÔ
  s%  € å˜xÑ(Ô(ˆÝ˜SÑ!Ô!ˆÝ˜VÑ$Ô$ˆà”Iˆ	õ ˆs‰8Œ8�aŠ<ˆ<Ý”(�C ™JœJ­¨S©¬Ñ1µC¸±H´HÑ<¸qÑ@Ø!*ð,ñ ,ô ,ˆCå˜E™
œ
ˆIÝ˜%‘j”j¥3 s¡8¤8Ñ+¨aÑ/ˆGØ#ˆC�
��
‰OÝ%'¤W¨S¡\¤\ˆC�	˜'Ð!Ñ"ØˆC���‰MˆMå”(�C ™JœJ­¨S©¬Ñ1¸)ÐDÑDÔDˆCÝ˜E™
œ
ˆIØ#ˆC�
��
‰OØ!ˆC�	�
�
‰OØˆ
r(   r­   )
r¸   r   r  r³   ré   r    rü  r   r¯   Úcan_cast)r2   r   r  Úary_dtÚto_begin_dtÚ	to_end_dtr˜  r  s           r)   Ú
np_ediff1dr  º
  s  € õ �#•u”{Ñ#Ô#ð PÝ�c”i¥¤Ñ/Ô/ð 	PÝ Ð!NÑOÔOÐOõ
   Ñ$Ô$€FØ€KÝ˜Ñ!Ô!ð 3Ý(¨Ñ2Ô2ˆØ€IÝ˜ÑÔð /Ý& vÑ.Ô.ˆ	àÐ¥r¤{°;ÀÑ'GÔ'GÐØCˆÝ˜SÑ!Ô!Ð!àÐ¥R¤[°¸FÑ%CÔ%CÐØAˆÝ˜SÑ!Ô!Ð!ðð ð ð ð6 Ðr(   c                 ó   — d S r.   r'   rî  s    r)   Ú_select_elementr  ò
  rö  r(   c                 óD   — t          | dd ¦  «        dk    }|rd„ }|S d„ }|S )Nr~   r   c                 óV   — t          j        d| j        ¬¦  «        }| |d d …<   |d         S )N©rˆ   r«  r   )r¯   r  r³   )rR  r]  s     r)   rì  z"_select_element_impl.<locals>.implú
  s.   € Ý”˜ S¤YÐ/Ñ/Ô/ˆAØˆAˆaˆaˆa‰DØ�Q”4ˆKr(   c                 ó   — | S r.   r'   rî  s    r)   rì  z"_select_element_impl.<locals>.impl   s   € ØˆJr(   ©r¡   )rR  Úzerodrì  s      r)   Ú_select_element_implr  ö
  sJ   € å�C˜ Ñ&Ô&¨!Ò+€EØð 	ð	ð 	ð 	ð ˆð	ð 	ð 	àˆr(   c                 ó   — d S r.   r'   )Údxr]  s     r)   Ú_get_dr    rö  r(   c                 ó2   — t          | ¦  «        rd„ }nd„ }|S )Nc                 ó*   — t          j        |¦  «        S r.   ©r¯   r3  ©r]  r  s     r)   rì  zget_d_impl.<locals>.impl  s   € Ý”:˜b‘>”>Ð!r(   c                 óN   — t          j        t          j        | ¦  «        ¦  «        S r.   )r¯   rÿ  r3  r  s     r)   rì  zget_d_impl.<locals>.impl  s   € Ý”7�2œ: a™=œ=Ñ)Ô)Ð)r(   r…  )r]  r  rì  s      r)   Ú
get_d_implr  	  s8   € å�1�~„~ð *ð	"ð 	"ð 	"ð 	"ð	*ð 	*ð 	*à€Kr(   r  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 0DNr  c                 ó  — t          j        | ¦  «        }t          ||¦  «        }|dt          dd ¦  «        f         |dt          d d¦  «        f         z   dz  }t          j        ||z  d¦  «        }t          |¦  «        }|S )N.rˆ   rã  ç       @)r¯   r3  r  Úslicer  r  )rŸ  r]  r  ÚyarrÚdÚy_aver
  Ú	processeds           r)   rì  z_trapz_impl.<locals>.impl  sw   € ÝŒz˜!‰}Œ}ˆÝ�1�b‰MŒMˆØ�c�5  D™>œ>Ð)Ô*¨T°#µu¸TÀ2±´Ð2FÔ-GÑGÈ3ÑNˆÝŒf�Q˜‘Y Ñ#Ô#ˆÝ# CÑ(Ô(ˆ	ØÐr(   ©Nr  )r¸   r   r'  ré   r   r  r~   )rŸ  r]  r  rì  s       r)   Ú_trapz_implr'    st   € å�!•e”l¥E¤MÐ2Ñ3Ô3ð ,ÝÐ0Ñ1Ô1Ð1Ý	�A•u”{Ñ	#Ô	#ð ,¨¬°!ª¨ÝÐ*Ñ+Ô+Ð+ð
ð ð ð ð €Kr(   )r  é   c                 ó$   — t          | ||¦  «        S r.   ©r'  ©rŸ  r]  r  s      r)   Únp_trapzr,  +  ó   € å˜1˜a Ñ$Ô$Ð$r(   c                 ó$   — t          | ||¦  «        S r.   r*  r+  s      r)   Únp_trapezoidr/  2  r-  r(   c                 ó˜  — |j         \  }}|t          | ¦  «        k    sJ ‚||k    sJ ‚|rMt          |¦  «        D ];}|dk    r
d|dd…|f<   Œt          j        | |dd…|dz
  f         ¦  «        |dd…|f<   Œ<dS t          |dz
  dd¦  «        D ]>}||dz
  k    r
d|dd…|f<   Œt          j        | |dd…|dz   f         ¦  «        |dd…|f<   Œ?dS )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ˆ   Nrã  )rC   rJ   rI   r¯   rU  )r]  r¡  Ú
increasingrV  r}  r2  rA   s          r)   Ú
_np_vanderr2  7  s  € ð Œ9�D€A€qØ•�A‘”Š;ˆ;ˆ;ˆ;Ø�Š6ˆ6ˆ6ˆ6àð <Ý�q‘”ð 	<ð 	<ˆAØ�AŠvˆvØ��A�A�A�q�D‘	�	åœK¨¨3¨q¨q¨q°1°q±5¨z¬?Ñ;Ô;��A�A�A�q�D‘	�	ð		<ð 	<õ �q˜1‘u˜b "Ñ%Ô%ð 	<ð 	<ˆAØ�A˜‘EŠzˆzØ��A�A�A�q�D‘	�	åœK¨¨3¨q¨q¨q°1°q±5¨z¬?Ñ;Ô;��A�A�A�q�D‘	�	ð		<ð 	<r(   c                 ód   — | j         dk    rt          d¦  «        ‚|dk     rt          d¦  «        ‚d S )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_paramsr4  S  s;   € à„v�‚z€zÝÐIÑJÔJÐJØˆ1‚u€uÝÐ>Ñ?Ô?Ð?ð €ur(   c                 ór  ‡— |d t           j        fvr)t          |t           j        ¦  «        st	          d¦  «        ‚dˆfd„	}dd„}t          | t           j        ¦  «        r0t          | j        ¦  «        }t          j	        |t          ¦  «        Š|S t          | t           j        t           j        f¦  «        r|S d S )Nz,Second argument N must be None or an integerFc                 óÒ   •— |€t          | ¦  «        }t          | |¦  «         t          j        t          | ¦  «        t	          |¦  «        f‰¬¦  «        }t          | |||¦  «         |S rª  )rJ   r4  r¯   rS  rÊ  r2  )r]  r¡  r1  rV  r³   s       €r)   Únp_vander_implz!np_vander.<locals>.np_vander_impla  sc   ø€ Øˆ9Ý�A‘”ˆAå˜Q Ñ"Ô"Ð"õ Œh�˜A™œ¥ A¡¤Ð'¨uÐ5Ñ5Ô5ˆå�1�a˜ SÑ)Ô)Ð)Øˆ
r(   c                 ó  — |€t          | ¦  «        }t          j        | ¦  «        }t          ||¦  «         t          j        t          | ¦  «        t          |¦  «        f|j        ¬¦  «        }t          ||||¦  «         |S rª  )rJ   r¯   r  r4  rS  rÊ  r³   r2  )r]  r¡  r1  Úx_arrrV  s        r)   Únp_vander_seq_implz%np_vander.<locals>.np_vander_seq_implm  sq   € Øˆ9Ý�A‘”ˆAå”˜‘”ˆÝ˜U AÑ&Ô&Ð&õ Œh�˜A™œ¥ A¡¤Ð'¨u¬{Ð;Ñ;Ô;ˆå�5˜!˜Z¨Ñ-Ô-Ð-Øˆ
r(   r˜  )r   rõ  r¸   rÕ   r   r  r   r³   r¯   Úpromote_typesrÊ  r&  r—  )r]  r¡  r1  r7  r:  Úx_dtr³   s         @r)   Ú	np_vanderr=  [  sÓ   ø€ à�•u”zÐ"Ð"Ð"Ý˜!�Uœ]Ñ+Ô+ð 	NÝÐLÑMÔMÐMð
ð 
ð 
ð 
ð 
ð 
ðð ð ð õ �!•U”[Ñ!Ô!ð "Ý˜œÑ Ô ˆåÔ  ¥sÑ+Ô+ˆØÐÝ	�A�œ¥U¤^Ð4Ñ	5Ô	5ð "Ø!Ð!ð"ð "r(   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ª  )r¯   r3  rS  rC   r³   rU  rI   rD   )r  ÚshiftrR  rV  Úarr_flatrA   r½   s          r)   Únp_roll_implznp_roll.<locals>.np_roll_implˆ  sm   € ÝŒj˜‰mŒmˆÝŒh�s”y¨¬	Ð2Ñ2Ô2ˆð ”8ˆÝ�s”x‘”ð 	(ð 	(ˆAØ�u‘9 ¤Ñ(ˆCØ$ QœKˆCŒH�S‰MˆMàˆ
r(   c                 ó*   — t          j        | ¦  «        S r.   r  )r  r@  s     r)   rß   znp_roll.<locals>.<lambda>•  s   € ¥¤
¨1¡¤€ r(   )r¸   r   rÕ   ré   r   r'  )r  r@  rB  s      r)   Únp_rollrD  ƒ  sg   € å�e�eœm­U¬]Ð;Ñ<Ô<ð 6ÝÐ4Ñ5Ô5Ð5ð
ð 
ð 
õ �!•e”l¥E¤MÐ2Ñ3Ô3ð Ø-Ð-Ð-àÐr(   é   c                 ó�  — d}|}| ||dz
           k    r|S | |d         k     rdS |dk    r0d}||k     r#| ||         k    r|dz  }||k     r| ||         k    °|dz
  S ||dz
  k    r|dz
  }|dk     rd}| ||         k     rC| ||dz
           k     r/|dz
  }|t           k    r| ||t           z
           k    r
|t           z
  }n^|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     °%|dz
  S )Nr   rˆ   rã  r(  r�  r  )ÚLIKELY_IN_CACHE_SIZE)ÚkeyrR  ÚlengthÚguessÚiminÚimaxrA   Úimids           r)   Úbinary_search_with_guessrN     så  € ð €DØ€Dð ˆS�˜!‘Œ_ÒÐØˆØ	ˆs�1ŒvŠˆØˆrð �‚{€{ØˆØ�&Šjˆj˜S C¨¤Fš]˜]Ø�‰FˆAð �&Šjˆj˜S C¨¤Fš]˜]à�1‰uˆàˆv˜‰zÒÐØ˜‘
ˆàˆq‚y€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àˆDð �Š+ˆ+ð �!‰8€Or(   c                 ó	  — t          j        | ¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          |¦  «        dk    rt          d¦  «        ‚t          |¦  «        t          |¦  «        k    rt          d¦  «        ‚|j        dk    r"t          j        |j        |d         |¬¦  «        S t          j        |j        |¬¦  «        }|j        }t          |¦  «        }	|d         }
||	dz
           }|	dk    r]|d         }|d         }t          |¦  «        D ];}|j	        |         }||k     r|
|j	        |<   Œ ||k    r||j	        |<   Œ1||j	        |<   Œ<�n&d}|	|k    rt          j        |	dz
  |¬¦  «        }nt          j        d|¬¦  «        }|j        ryt          |	dz
  ¦  «        D ]f}d||dz            ||         z
  z  }||dz            j
        ||         j
        z
  |z  }||dz            j        ||         j        z
  |z  }|d|z  z   ||<   Œgt          |¦  «        D �]]}|j	        |         }t          j        |¦  «        r|}d}|d|z  z   |j	        |<   Œ9t          |||	|¦  «        }|d	k    r|
|j	        |<   Œ\||	k    r||j	        |<   Œm||	dz
  k    r||         |j	        |<   Œ‡||         |k    r||         |j	        |<   Œ¤|j        r	||         }nad||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        |¦  «        rg|j
        |||dz            z
  z  ||dz            j
        z   }t          j        |¦  «        r,||         j
        ||dz            j
        k    r||         j
        }|j        |||         z
  z  ||         j        z   }t          j        |¦  «        rg|j        |||dz            z
  z  ||dz            j        z   }t          j        |¦  «        r,||         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«  r  r`  rã  )r¯   r3  rJ   rÎ   rD   r@  rC   rS  rI   rU  r{  r¡  r°  rN  )r]  ÚxpÚfpr³   Údzr  ÚdyÚdresÚlenxÚlenxpÚlvalÚrvalÚxp_valÚfp_valrA   Úx_valr#  ÚslopesÚinv_dxr{  r¡  Úslopes                         r)   Únp_interp_impl_complex_innerrc  å  s�  € õ 
Œ�A‰Œ€BÝ	Œ�B‰Œ€BÝ	Œ�B‰Œ€Bå
ˆ2�w„w�!‚|€|ÝÐ:Ñ;Ô;Ð;å
ˆ2�w„w•#�b‘'”'ÒÐÝÐ>Ñ?Ô?Ð?à	„w�!‚|€|ÝŒw�r”x¨B¨q¬E¸Ð?Ñ?Ô?Ð?åŒ8�B”H EÐ*Ñ*Ô*€DàŒ7€DÝ�‰GŒG€EØˆaŒ5€DØˆe�a‰iŒ=€Dà�‚z€zØ�A”ˆØ�A”ˆå�t‘”ð 	&ð 	&ˆAØ”G˜A”JˆEØ�vŠ~ˆ~Ø#�”	˜!‘�Ø˜’�Ø#�”	˜!‘�à%�”	˜!‘�ñ	&ð ˆð �DŠ=ˆ=Ý”X˜u q™y°Ð7Ñ7Ô7ˆFˆFå”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ñ 0	0ˆAØ”G˜A”JˆEåŒx˜‰Œð Ø�Ø�Ø# b¨4¡iÑ/�”	˜!‘Øå(¨°°E¸1Ñ=Ô=ˆAà�BŠwˆwØ#�”	˜!‘�Ø�e’�Ø#�”	˜!‘�Ø�e˜a‘i’�Ø! !œu�”	˜!‘�Ø�A”˜%’�à! !œu�”	˜!‘�à”;ð -Ø" 1œI�E�Eà " Q¨¡U¤)¨b°¬eÑ"3Ñ4�FØ˜q 1™uœIœN¨R°¬U¬ZÑ7¸6ÑA�DØ˜q 1™uœIœN¨R°¬U¬ZÑ7¸6ÑA�DØ  2¨¡9Ñ,�Eð ”z U¨R°¬U¡]Ñ3°b¸´e´jÑ@�Ý”8˜D‘>”>ð *Ø œ:¨°°A¸±E´Ñ):Ñ;¸bÀÀQÁ¼i¼nÑL�DÝ”x ‘~”~ð *¨"¨Q¬%¬*¸¸1¸q¹5¼	¼Ò*FÐ*FØ! !œuœz˜à”z U¨R°¬U¡]Ñ3°b¸´e´jÑ@�Ý”8˜D‘>”>ð *Ø œ:¨°°A¸±E´Ñ):Ñ;¸bÀÀQÁ¼i¼nÑL�DÝ”x ‘~”~ð *¨"¨Q¬%¬*¸¸1¸q¹5¼	¼Ò*FÐ*FØ! !œuœz˜à# b¨4¡iÑ/�”	˜!‘‘à€Kr(   c                 óº  — t          j        | t           j        ¬¦  «        }t          j        |t           j        ¬¦  «        }t          j        |t           j        ¬¦  «        }t          |¦  «        dk    rt	          d¦  «        ‚t          |¦  «        t          |¦  «        k    rt	          d¦  «        ‚|j        dk    r"t          j        |j        |d         |¬¦  «        S t          j        |j        |¬¦  «        }|j        }t          |¦  «        }	|d         }
||	dz
           }|	dk    r]|d         }|d         }t          |¦  «        D ];}|j
        |         }||k     r|
|j
        |<   Œ ||k    r||j
        |<   Œ1||j
        |<   Œ<�nÕd}|	|k    r,|dd …         |d d…         z
  |dd …         |d d…         z
  z  }nt          j        d|¬¦  «        }t          |¦  «        D �]z}|j
        |         }t          j        |¦  «        r||j
        |<   Œ/t          |||	|¦  «        }|dk    r|
|j
        |<   ŒR||	k    r||j
        |<   Œc||	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
        |         ¦  «        ri||||dz            z
  z  ||dz            z   |j
        |<   t          j        |j
        |         ¦  «        r%||         ||dz            k    r||         |j
        |<   �Œ||S )Nr«  r   rP  rQ  rˆ   rR  rã  )r¯   r3  rb  rJ   rÎ   rD   r@  rC   rS  rI   rU  r°  rN  )r]  rT  rU  r³   rV  r  rW  rX  rY  rZ  r[  r\  r]  r^  rA   r_  r#  r`  rb  s                      r)   Únp_interp_impl_innerre  S  sh  € õ 
Œ�A�RœZÐ	(Ñ	(Ô	(€BÝ	Œ�B�bœjÐ	)Ñ	)Ô	)€BÝ	Œ�B�bœjÐ	)Ñ	)Ô	)€Bå
ˆ2�w„w�!‚|€|ÝÐ:Ñ;Ô;Ð;å
ˆ2�w„w•#�b‘'”'ÒÐÝÐ>Ñ?Ô?Ð?à	„w�!‚|€|ÝŒw�r”x¨B¨q¬E¸Ð?Ñ?Ô?Ð?åŒ8�B”H EÐ*Ñ*Ô*€DàŒ7€DÝ�‰GŒG€EØˆaŒ5€DØˆe�a‰iŒ=€Dà�‚z€zØ�A”ˆØ�A”ˆå�t‘”ð 	&ð 	&ˆAØ”G˜A”JˆEØ�vŠ~ˆ~Ø#�”	˜!‘�Ø˜’�Ø#�”	˜!‘�à%�”	˜!‘�ñ	&ð ˆð �DŠ=ˆ=Ø˜˜˜”f˜r # 2 #œwÑ&¨2¨a¨b¨b¬6°B°s¸°s´GÑ+;Ñ<ˆFˆFå”X˜a uÐ-Ñ-Ô-ˆFå�t‘”ð #	-ñ #	-ˆAØ”G˜A”JˆEåŒx˜‰Œð Ø$�”	˜!‘Øå(¨°°E¸1Ñ=Ô=ˆAà�BŠwˆwØ#�”	˜!‘�Ø�e’�Ø#�”	˜!‘�Ø�e˜a‘i’�Ø! !œu�”	˜!‘�Ø�A”˜%’�à! !œu�”	˜!‘�à”;ð FØ" 1œI�E�Eà  A¡œY¨¨A¬Ñ.°2°a¸!±e´9¸rÀ!¼uÑ3DÑE�Eà$¨°°1´©Ñ6¸¸A¼Ñ>�”	˜!‘õ ”8˜DœI aœLÑ)Ô)ð -Ø#(¨E°B°q¸1±u´IÑ,=Ñ#>ÀÀAÈÁEÄÑ#J�D”I˜a‘LÝ”x ¤	¨!¤Ñ-Ô-ð -°"°Q´%¸2¸aÀ!¹e¼9Ò2DÐ2DØ')¨!¤u˜œ	 !™ùà€Kr(   c                 óŠ  ‡‡	— t          |d¦  «        r|j        dk    rt          d¦  «        ‚t          |d¦  «        r|j        dk    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]  rT  rU  r³   Úinners      €€r)   Únp_interp_implz!np_interp.<locals>.np_interp_implÇ  s   ø€ Øˆu�Q˜˜B Ñ&Ô&Ð&r(   c                 ó6   •—  ‰| ||‰¦  «        j         d         S rW   ©rU  rh  s      €€r)   Únp_interp_scalar_implz(np_interp.<locals>.np_interp_scalar_implÊ  s!   ø€ Øˆu�Q˜˜B Ñ&Ô&Ô+¨AÔ.Ð.r(   )r  r~   r   ro  r¯   rq  rr  Úresult_typerb  rc  re  r¸   r   r'  ro  )
r]  rT  rU  Úcomplex_dtype_msgÚxp_dtÚfp_dtrj  rm  r³   ri  s
           @@r)   Ú	np_interprr  ¬  s^  øø€ õ ˆr�6ÑÔð +˜rœw¨š{˜{Ý˜/Ñ*Ô*Ð*Ýˆr�6ÑÔð +˜rœw¨š{˜{Ý˜/Ñ*Ô*Ð*ð 	Eð õ ˜BÑÔ€EÝ	„}�U�BÔ.Ñ/Ô/ð -ÝÐ+Ñ,Ô,Ð,å˜BÑÔ€EÝŒN˜5¥"¤*Ñ-Ô-€Eå	„}�U�BÔ.Ñ/Ô/ð %Ý,ˆˆå$ˆð'ð 'ð 'ð 'ð 'ð 'ð/ð /ð /ð /ð /ð /õ �!•U”\Ñ"Ô"ð %Ý�a�œÑ'Ô'ð 	1ÝÐ/Ñ0Ô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~   rC   r¯   rS  r³   rI   r  )r  r}  r2  rV  rA   s        r)   Úrow_wise_averagert  Ø  sx   € àŒ6�QŠ;ˆ;ˆ;ˆ;àŒ7�D€A€qÝ
Œ(�A�q�6 ¤Ð
)Ñ
)Ô
)€Cå�1‰XŒXð (ð (ˆÝ”F˜1˜Q   ˜Tœ7‘O”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`  )rC   r³  rt  r¯   Údotr|  ÚTrB  )ÚXÚbiasrÆ  Úfactr0  s        r)   Únp_cov_impl_innerr{  å  s‹   € ð €|Øð 	ØˆDˆDàˆDð Œ7�1Œ:˜Ñ€Dõ ˆt�S‰>Œ>€Dð Õ	˜!Ñ	Ô	Ñ€Aõ 	Œˆq•"”'˜!œ#‘,”,ÑÔ€AØ�Œ˜˜4Ñ	 Ô	 Ñ €AØ€Hr(   c                  ó   — d S r.   r'   r'   r(   r)   Ú_prepare_cov_input_innerr}  þ  rö  r(   c                 ó4   — |d t           j        fv rd„ }nd„ }|S )Nc                 óZ   — t          j        t          | ¦  «        ¦  «        }|s|j        }|S r.   )r¯   Ú
atleast_2dré  rw  )r}  rŸ  Úrowvarr³   Úm_arrs        r)   r}  z9_prepare_cov_input_impl.<locals>._prepare_cov_input_inner  s+   € Ý”M¥(¨1¡+¤+Ñ.Ô.ˆEàð  Øœ�àˆLr(   c                 ó¤  — t          j        t          | ¦  «        ¦  «        }t          j        t          |¦  «        ¦  «        }|s0|j        d         dk    r|j        }|j        d         dk    r|j        }|j        \  }}|j        \  }}	||	k    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«  )r¯   r€  ré  rC   rw  rÎ   rS  )r}  rŸ  r�  r³   r‚  Úy_arrÚm_rowsÚm_colsÚy_rowsÚy_colsrV  s              r)   r}  z9_prepare_cov_input_impl.<locals>._prepare_cov_input_inner  sç   € Ý”M¥(¨1¡+¤+Ñ.Ô.ˆEÝ”M¥(¨1¡+¤+Ñ.Ô.ˆEð
 ð $Ø”;˜q”> QÒ&Ð&Ø!œG�EØ”;˜q”> QÒ&Ð&Ø!œG�Eà"œ[‰NˆF�FØ"œ[‰NˆF�Fà˜ÒÐÝ Ð!GÑHÔHÐHõ ”(˜F V™O¨VÐ4¸EÐBÑBÔBˆCØ#ˆC���˜˜˜�
‰OØ$ˆC����˜!˜!˜!�ÑàˆJr(   rô  )r}  rŸ  r�  r³   r}  s        r)   Ú_prepare_cov_input_implr‰    s?   € àˆT•5”:ÐÐÐð	ð 	ð 	ð 	ð	ð 	ð 	ð4 $Ð#r(   c                 ód   — | j         dk    r"| j        d         dk    rd}t          |¦  «        ‚d S d S )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~   rC   rÌ  )r}  r˜  s     r)   Ú_handle_m_dim_changer‹  *  s=   € à„v�‚{€{�q”w˜q”z Q’�ð?ˆõ ˜3ÑÔÐð	 €{��r(   c                 ó   — | S r.   r'   r\  s    r)   rß   rß   3  s   € ¨q€ r(   c                 ó†  ‡— t           j        }t          | t          j        ¦  «        rt          | j        ¦  «        }�nt          | t          j        t          j        f¦  «        rt          | ¦  «        }nÍt          | t          j	        t          j
        f¦  «        r§t          ¦   «         Š| D ]6}t          |d¦  «        rˆfd„|D ¦   «          Œ!‰                     |¦  «         Œ7t          ‰¦  «        dk    rt          j        d„ ‰D ¦   «         Ž }n4t          ‰¦  «        dk    r!t          ‰                     ¦   «         ¦  «        }|S )NrŠ   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r'   )r�   )r@   r1  Úcoltypess     €r)   rB   z#determine_dtype.<locals>.<listcomp>@  s#   ø€ Ð.Ð.Ð. Q�—’˜a‘”Ð.Ð.Ð.r(   rˆ   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r'   )r   )r@   Útys     r)   rB   z#determine_dtype.<locals>.<listcomp>D  s   € Ð.OÐ.OÐ.OÀ­x¸©|¬|Ð.OÐ.OÐ.Or(   )r¯   rb  r¸   r   r  r   r³   r'  ré   r‰   r&  Úsetr  r�   rJ   r;  Úpop)Ú
array_likeÚarray_like_dtrÃ   r�  s      @r)   ro  ro  6  s,  ø€ Ý”J€MÝ�*�eœkÑ*Ô*ð 5Ý  Ô!1Ñ2Ô2ˆ‰Ý	�J¥¤­u¬}Ð =Ñ	>Ô	>ð 5Ý  Ñ,Ô,ˆˆÝ	�J¥¤µ´Ð =Ñ	>Ô	>ð 
5Ý‘5”5ˆØð 	"ð 	"ˆCÝ�s˜GÑ$Ô$ð "Ø.Ð.Ð.Ð.¨#Ð.Ñ.Ô.Ð.Ð.à—’˜SÑ!Ô!Ð!Ð!Ýˆx‰=Œ=˜1ÒÐÝÔ,Ð.OÐ.OÀhÐ.OÑ.OÔ.OÐPˆMˆMÝ�‰]Œ]˜aÒÐÝ$ X§\¢\¡^¤^Ñ4Ô4ˆMàÐr(   c                 óÆ  — t          | t          j        ¦  «        r/| j        dk    r"t	          d                     |¦  «        ¦  «        ‚d S t          | t          j        ¦  «        ryt          | j        d         t          j        ¦  «        rVt          | j        d         j        d         t          j        ¦  «        r(d                     |¦  «        }t	          |¦  «        ‚d S d S d S )Nr  z{0} has more than 2 dimensionsr   )r¸   r   r  r~   r    Úformatr—  rH  )r”  rø  r˜  s      r)   Úcheck_dimensionsr˜  K  sÙ   € Ý�*�eœkÑ*Ô*ð *ØŒ?˜QÒÐÝ Ð!A×!HÒ!HÈÑ!NÔ!NÑOÔOÐOð Ðå	�J¥¤Ñ	/Ô	/ð *Ý�j”n QÔ'­¬Ñ8Ô8ð 	*Ý˜*œ.¨Ô+Ô/°Ô2µE´NÑCÔCð *Ø6×=Ò=¸dÑCÔC�Ý$ SÑ)Ô)Ð)ð	*ð *ð	*ð 	*ð*ð *r(   c                 ó–   — t          j        | ¦  «        st          d¦  «        ‚| t          | ¦  «        z
  dk    rt          d¦  «        ‚d S )Nz)Cannot convert non-finite ddof to integerr   zddof must be integral value)r¯   r‹  rÎ   rÊ  rÎ  s    r)   Ú_handle_ddofrš  V  sQ   € åŒ;�tÑÔð FÝÐDÑEÔEÐEØ�c�$‰iŒiÑ˜1ÒÐÝÐ6Ñ7Ô7Ð7ð Ðr(   c                 ó   — | S r.   r'   r\  s    r)   rß   rß   ^  s   € ¨a€ r(   c                 óR   —  || ¦  «          ||¦  «         t          | |||¦  «        S r.   )r}  )r}  rŸ  r�  r³   rÆ  Ú_DDOF_HANDLERÚ_M_DIM_HANDLERs          r)   Ú_prepare_cov_inputrŸ  a  s8   € ð €N�1ÑÔÐØ€M�$ÑÔÐÝ# A q¨&°%Ñ8Ô8Ð8r(   c                 ó<  — |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dS dS )Nrˆ   c              3   ób   K  — | ]*}t          |t          j        t          j        f¦  «        V — Œ+d S r.   )r¸   r   r'  ré   ©r@   r]  s     r)   ú	<genexpr>z)scalar_result_expected.<locals>.<genexpr>p  sI   è è € ð /ð /Øõ ˜!�eœl­E¬MÐ:Ñ;Ô;ð /ð /ð /ð /ð /ð /r(   r   TF)r   rõ  r¸   r  r~   Ú	BaseTupler  rJ   r'  ré   r—  rH  )Úmandatory_inputÚoptional_inputÚopt_is_nones      r)   Úscalar_result_expectedr¨  i  s   € Ø  T­5¬:Ð$6Ð6€Kå�/¥5¤;Ñ/Ô/ð °OÔ4HÈAÒ4MÐ4MØÐå�/¥5¤?Ñ3Ô3ð #Ýð /ð /Ø'Ô-ð/ñ /ô /ñ /ô /ð 	#àÐå�OÔ)Ñ*Ô*¨aÒ/Ð/Ý˜Ô4°QÔ7½¼ÑIÔIð 0à"Ð"å�/¥E¤Lµ%´-Ð#@ÑAÔAð ØÐå�/¥5¤>Ñ2Ô2ð Ý˜?Ô.¨qÔ1µ5´>ÑBÔBð 	Øð	à�4àˆ5r(   c                 ó~   — t          j        t          j        | ¦  «        dk    t          j        | ¦  «        | ¦  «        S r  )r¯   r³  ÚfabsÚsignr\  s    r)   Ú
_clip_corrr¬  ƒ  s*   € åŒ8•B”G˜A‘J”J ’N¥B¤G¨A¡J¤J°Ñ2Ô2Ð2r(   c                 ób   — t          | j        ¦  «        }t          | j        ¦  «        }|d|z  z   S )Nr  )r¬  r{  r¡  )r]  r{  r¡  s      r)   Ú_clip_complexr®  ˆ  s/   € å�a”fÑÔ€DÝ�a”fÑÔ€DØ�"�t‘)ÑÐr(   c                 óN  ‡	‡
‡— t          | d¦  «         t          |d¦  «         |d t          j        fv rt          Š	n_t	          |t          j        t          j        f¦  «        rt          Š	n1t	          |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 typeTFc           	      óF  •— t          | ||‰|‰‰¦  «                             ‰¦  «        }t          j        t          j        |j        ¦  «        dk    ¦  «        r9t          j        |j        d         |j        d         ft          j        ‰¬¦  «        S t          |||¦  «        S )Nr   rR  )	rŸ  r  r¯   rC  r  rC   r@  rs  r{  )	r}  rŸ  r�  ry  rÆ  rx  r�  rž  r³   s	         €€€r)   Únp_cov_implznp_cov.<locals>.np_cov_impl®  s›   ø€ Ý˜q ! V¨U°D¸-Ø-ñ/ô /ß/5ªv°e©}¬}ð 	
õ Œ6•"”(˜1œ7Ñ#Ô# qÒ(Ñ)Ô)ð 	4Ý”7˜AœG AœJ¨¬°¬
Ð3ÅÄØ!&ð(ñ (ô (ð (õ % Q¨¨dÑ3Ô3Ð3r(   c           	      ó,  •— t          | |||‰	‰‰¦  «                             ‰	¦  «        }t          j        t          j        |j        ¦  «        dk    ¦  «        rt          j        }nt          |||¦  «        j        d         }t          j        |¦  «        S rW   )	rŸ  r  r¯   rC  r  rC   rs  r{  rU  )
r}  rŸ  r�  ry  rÆ  rx  Úvariancer�  rž  r³   s
          €€€r)   Únp_cov_impl_single_variablez+np_cov.<locals>.np_cov_impl_single_variable¸  s‡   ø€ å˜q ! V¨T°5¸-Ø-ñ/ô /ß/5ªv°e©}¬}ð 	
õ Œ6•"”(˜1œ7Ñ#Ô# qÒ(Ñ)Ô)ð 	@Ý”vˆHˆHå(¨¨D°$Ñ7Ô7Ô<¸QÔ?ˆHåŒx˜Ñ!Ô!Ð!r(   ©NTFN)r˜  r   rõ  Ú_handle_ddof_nopr¸   rÕ   ré   rn  rš  r   Ú_handle_m_dim_nopr  r‹  ro  r¯   rn  rb  r¨  )r}  rŸ  r�  ry  rÆ  Úm_dtÚy_dtr±  r´  r�  rž  r³   s            @@@r)   Únp_covrº  �  s[  øøø€ õ �Q˜ÑÔÐÝ�Q˜ÑÔÐð �•e”jÐ!Ð!Ð!Ý(ˆˆå�d�Uœ]­E¬MÐ:Ñ;Ô;ð 	KÝ,ˆMˆMÝ˜�eœkÑ*Ô*ð 	KÝ(ˆMˆMåÐIÑJÔJÐJõ
 '€NÝ�!•U”[Ñ!Ô!ð .Ý-ˆõ ˜1ÑÔ€DÝ˜1ÑÔ€DÝŒN˜4 ¥r¤zÑ2Ô2€Eð4ð 4ð 4ð 4ð 4ð 4ð 4ð 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 )NTc                 ó*  •— 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 rW   )r¯   ÚcovÚdiagÚsqrtr{  rI   rC   )r]  rŸ  r�  r0  r#  ÚstddevrA   Úclip_fns          €r)   Únp_corrcoef_implz%np_corrcoef.<locals>.np_corrcoef_implÖ  s›   ø€ ÝŒF�1�a˜Ñ Ô ˆÝŒG�A‰JŒJˆÝ”˜œ‘”ˆå�q”w˜q”zÑ"Ô"ð 	ð 	ˆAØˆa���ˆdˆGˆGŒG�vÑˆGˆG‰GØˆaˆaˆa�ˆdˆGˆGŒG�vÑˆGˆG‰GˆGàˆw�q‰zŒzÐr(   c                 ó8   — t          j        | ||¦  «        }||z  S r.   )r¯   r½  )r]  rŸ  r�  r0  s       r)   Ú np_corrcoef_impl_single_variablez5np_corrcoef.<locals>.np_corrcoef_impl_single_variableá  s   € ÝŒF�1�a˜Ñ Ô ˆØ�1‰uˆr(   ©NT)ro  r¯   rn  rb  Ú
complex128r®  r¬  r¨  )	r]  rŸ  r�  r<  r¹  r³   rÂ  rÄ  rÁ  s	           @r)   Únp_corrcoefrÇ  Ê  sŸ   ø€ õ ˜1ÑÔ€DÝ˜1ÑÔ€DÝŒN˜4 ¥r¤zÑ2Ô2€Eà•”ÒÐÝˆˆåˆð	ð 	ð 	ð 	ð 	ð 	ðð ð ð õ ˜a Ñ#Ô#ð  Ø/Ð/àÐr(   c                 ó”   ‡‡— t          | t          j        t          j        f¦  «        }t	          | ¦  «        r|sd„ }n
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«  )	r¯   r3  rC   r¥  r   r5   rä  ÚvstackrÊ  rê  s     r)   rì  znp_argwhere.<locals>.implö  sS   € Ý”*˜Q‘-”-ˆCØŒy˜BŠˆÝ”x ­e¬jÐ9Ñ9Ô9Ð9Ý”<¥¤	­"¬*°S©/¬/Ñ :Ô :Ñ;Ô;Ð;r(   )r   r   )rˆ   r   c                 ó¦   •— | �/t          | ¦  «        r t          j        ‰t          j        ¬¦  «        S t          j        ‰t          j        ¬¦  «        S rª  )r	  r¯   r¥  r   r5   )r  ÚfalseishÚtrueishs    €€r)   rì  znp_argwhere.<locals>.implÿ  s@   ø€ Øˆ}¥ a¡¤ˆ}Ý”x ­u¬zÐ:Ñ:Ô:Ð:å”x µ´
Ð;Ñ;Ô;Ð;r(   )r¸   r   r'  ré   r   )r  Ú
use_scalarrì  rÌ  rÍ  s      @@r)   Únp_argwhererÏ  ï  sz   øø€ õ
 ˜A¥¤­e¬mÐ<Ñ=Ô=€JÝ˜ÑÔð < :ð <ð	<ð 	<ð 	<ð 	<ð ˆØˆð	<ð 	<ð 	<ð 	<ð 	<ð 	<ð €Kr(   c                 ó2   — t          | ¦  «        rd„ }nd„ }|S )Nc                 ó‚   — t          j        | ¦  «        }t          j        t          j        |¦  «        ¦  «        d         S rW   )r¯   r3  rÊ  rå  rê  s     r)   rì  znp_flatnonzero.<locals>.impl  s,   € Ý”*˜Q‘-”-ˆCÝ”:�bœh s™mœmÑ,Ô,¨QÔ/Ð/r(   c                 óž   — | �t          | ¦  «        rdg}nd„ t          d¦  «        D ¦   «         }t          j        |t          j        ¬¦  «        S )Nr   c                 ó   — g | ]}|‘ŒS r'   r'   r¢  s     r)   rB   z0np_flatnonzero.<locals>.impl.<locals>.<listcomp>  s   € Ð,Ð,Ð,˜a˜Ð,Ð,Ð,r(   r«  )r	  rI   r¯   r  r   r5   )r  rx   s     r)   rì  znp_flatnonzero.<locals>.impl  sJ   € Øˆ}¥ a¡¤ˆ}Ø�s��à,Ð,¥5¨¡8¤8Ð,Ñ,Ô,�Ý”8˜D­¬
Ð3Ñ3Ô3Ð3r(   rd  )r  rì  s     r)   Únp_flatnonzerorÔ    s>   € õ ˜ÑÔð 
4ð	0ð 	0ð 	0ð 	0ð	4ð 	4ð 	4ð €Kr(   c                 óÄ  — | j         dk    r;| j        d         }| j        d         }d|z   }|r||z  }n«|t          ||¦  «        z  }n—t          j        | j        ¦  «        }t          j        t          j        |¦  «        dk    ¦  «        st          d¦  «        ‚dt          j        |d d…         ¦  «         	                    ¦   «         z   }| 
                    ¦   «         }||fS )Nr  r   rˆ   z/All dimensions of input must be of equal lengthrã  )r~   rC   rš  r¯   r  r  rÿ  rÎ   rO  r  r)  )r  Úwrapr}  r2  Ústepr  rC   s          r)   Ú_fill_diagonal_paramsrØ    sÑ   € à„v�‚{€{ØŒG�AŒJˆØŒG�AŒJˆØ�1‰uˆØð 	 Ø�a‘%ˆCˆCà•c˜!˜Q‘i”i‘-ˆCˆCå”˜œÑ!Ô!ˆåŒv•b”g˜e‘n”n¨Ò)Ñ*Ô*ð 	PÝÐNÑOÔOÐOà•B”J˜u S b SœzÑ*Ô*×/Ò/Ñ1Ô1Ñ1ˆØ�jŠj‰lŒlˆà�ˆ9Ðr(   c                 óh   — t          | |¦  «        \  }}t          d||¦  «        D ]}|| j        |<   Œd S rW   )rØ  rI   rU  )r  rÃ   rÖ  r  r×  rA   s         r)   Ú_fill_diagonal_scalarrÚ  0  sG   € å% a¨Ñ.Ô.�I€Cˆå�1�c˜4Ñ Ô ð ð ˆØˆŒˆq‰	ˆ	ðð r(   c                 óª   — t          | |¦  «        \  }}d}t          |¦  «        }t          d||¦  «        D ]}||         | j        |<   |dz  }||z  }Œd S ry  )rØ  rJ   rI   rU  )r  rÃ   rÖ  r  r×  ÚctrÚv_lenrA   s           r)   Ú_fill_diagonalrÞ  8  sm   € å% a¨Ñ.Ô.�I€CˆØ
€CÝ�‰HŒ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        ||k    ¦  «        rt          d¦  «        ‚d S ©Nz'Unable to safely conform val to a.dtype)r¯   Úiinfor³   rš  r³  rC  r‹  rÎ   )r  rÃ   rá  Úv_minÚv_maxs        r)   Ú_check_val_inträ  D  sŠ   € åŒH�Q”WÑÔ€EØŒI€EØŒI€Eõ 
„v�rŒ{˜3ÑÔÐÑ Ô ð D¥B¤F¨3°ª;Ñ$7Ô$7ð D½2¼6À#ÈÂ+Ñ;NÔ;Nð DÝÐBÑCÔCÐCðDð Dr(   c                 ó  — t          j        | j        ¦  «        }|j        }|j        }|t          j        |¦  «                 }t          j        ||k     ¦  «        st          j        ||k    ¦  «        rt          d¦  «        ‚d S rà  )r¯   Úfinfor³   rš  r³  r‹  rC  rÎ   )r  rÃ   ræ  râ  rã  Úfinite_valss         r)   Ú_check_val_floatrè  O  s�   € åŒH�Q”WÑÔ€EØŒI€EØŒI€Eð •b”k #Ñ&Ô&Ô'€KÝ	„vˆk˜EÒ!Ñ"Ô"ð D¥b¤f¨[¸5Ò-@Ñ&AÔ&Að DÝÐBÑCÔCÐCðDð Dr(   c                 ó   — | S r.   r'   ©r]  rŸ  s     r)   rß   rß   \  s   € ¨1€ r(   c                 ó   — d S r.   r'   r\  s    r)   ré  ré  _  rö  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 d S )Nc                 ó   — | S r.   r'   r\  s    r)   rß   z_asarray_impl.<locals>.<lambda>f  s   € ˜€ r(   c                 ó*   — t          j        | ¦  «        S r.   rò  r\  s    r)   rß   z_asarray_impl.<locals>.<lambda>h  s   € �œ !™œ€ r(   c                 ó2   •— t          j        | g‰¬¦  «        S rª  rò  ©r]  r‘  s    €r)   rß   z_asarray_impl.<locals>.<lambda>k  s   ø€ �œ 1 #¨RÐ0Ñ0Ô0€ r(   )r¸   r   r  r—  r&  r'  ré   r   rð  s    @r)   Ú_asarray_implrñ  c  s‚   ø€ å�!•U”[Ñ!Ô!ð 1Øˆ{ÐÝ	�A�œ­¬Ð4Ñ	5Ô	5ð 1Ø$Ð$Ð$Ý	�A�œ¥e¤mÐ4Ñ	5Ô	5ð 1Ý�a‰[Œ[ˆØ0Ð0Ð0Ð0Ð0ð1ð 1r(   c                 óÞ  ‡— | j         dk    rÉt          | j        t          j        ¦  «        rt
          Šn.t          | 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 d S d| j         z  }t          |¦  «        ‚)Nrˆ   Fc                 ó„   •— t          |¦  «                             ¦   «         } ‰| |¦  «         t          | ||¦  «         d S r.   )ré  r8  rÚ  ©r  rÃ   rÖ  ÚtmpvalÚcheckers       €r)   Úscalar_implz%np_fill_diagonal.<locals>.scalar_impl|  sD   ø€ Ý˜c‘]”]×*Ò*Ñ,Ô,ˆFØˆG�A�vÑÔÐÝ! ! S¨$Ñ/Ô/Ð/Ð/Ð/r(   c                 ó„   •— t          |¦  «                             ¦   «         } ‰| |¦  «         t          | ||¦  «         d S r.   )ré  r8  rÞ  rô  s       €r)   Únon_scalar_implz)np_fill_diagonal.<locals>.non_scalar_impl�  sD   ø€ Ý˜c‘]”]×*Ò*Ñ,Ô,ˆFØˆG�A�vÑÔÐÝ˜1˜f dÑ+Ô+Ð+Ð+Ð+r(   z4The first argument must be at least 2-D (found %s-D)©F)r~   r¸   r³   r   rÕ   rä  rn  rè  Ú
_check_nopré   r&  r—  r  r   )r  rÃ   rÖ  r÷  rù  r˜  rö  s         @r)   Únp_fill_diagonalrü  n  s   ø€ ð 	„v�‚z€zõ �a”g�uœ}Ñ-Ô-ð 	!Ý$ˆGˆGÝ˜œ¥¤Ñ-Ô-ð 	!Ý&ˆGˆGå ˆGð	0ð 	0ð 	0ð 	0ð 	0ð 	0ð
	,ð 	,ð 	,ð 	,ð 	,ð 	,õ
 �c�EœK­¬½¼ÐFÑGÔGð 	#ØÐÝ˜�eœk­5¬>½5¼;ÐGÑHÔHð 	#Ø"Ð"ð	#ð 	#ð EÀqÄvÑMˆÝ˜#ÑÔÐr(   c                 ó   — d| j         fz  S )Nzllvm.rint.f%d)rÖ   )Útps    r)   Ú_np_round_intrinsicrÿ  �  s   € à˜bœk˜^Ñ+Ð+r(   c                 ó&   —  ||¦  «        }d„ }||fS )Nc                 ó@  — |\  }|j         d         }|                      |¦  «        }|j        }t          j                             ||g¦  «        }t          j        ||t          |¦  «        ¦  «        }	| 	                    |	|f¦  «        }
t          | ||j        |
¦  «        S rW   )rÞ   r4   ÚmoduleÚllvmliteÚirÚFunctionTyper   Úget_or_insert_functionrÿ  Úcallr   rè   )r/   r0   rì   rÞ   rÃ   rþ  Úlltyr  rï   rƒ  r  s              r)   rô   z _np_round_float.<locals>.codegen˜  s•   € Ø‰ˆØŒX�aŒ[ˆØ×%Ò% bÑ)Ô)ˆØ”ˆÝŒ{×'Ò'¨¨t¨fÑ5Ô5ˆÝÔ+¨F°DÝ,?ÀÑ,CÔ,CñEô Eˆà�lŠl˜2 ˜vÑ&Ô&ˆÝ! '¨7°C´OÀSÑIÔIÐIr(   r'   )rõ   rÃ   rì   rô   s       r)   Ú_np_round_floatr	  ”  s-   € à
ˆ#ˆc‰(Œ(€Cð	Jð 	Jð 	Jð �ˆ<Ðr(   c                 ó2  — t          j        | ¦  «        st          j        | ¦  «        r| S |dk    rK|dk    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Ïð€Dr  )rC  r  r°  r	  )r]  ÚndigitsÚpow1Úpow2rŸ  s        r)   Úround_ndigitsr  ¦  sÄ   € å„z�!�}„}ð �œ
 1™œð Øˆð �!‚|€|Ø�RŠ<ˆ<ð ˜G b™LÑ)ˆDØˆDˆDà˜7‘?ˆDØˆDØ�‰X˜ÑˆÝŒ:�a‰=Œ=ð 	ØˆHÝ Ñ"Ô" TÑ)¨TÑ1Ð1ð ˜˜Ñ!ˆØ�‰HˆÝ˜qÑ!Ô! DÑ(Ð(r(   c                 óp  — t          | ¦  «        st          d¦  «        ‚t          |t          j        ¦  «        s t          |¦  «        sd}t          |¦  «        ‚t          | t          j        t          j        t          j        f¦  «        rwt          |¦  «        rbt          | t          j        ¦  «        rd
d„}|S t          | t          j        ¦  «        rd
d„}|S t          | t          j        ¦  «        rd
d„}|S d S d
d„}|S t          | t          j        ¦  «        rt          |¦  «        rd
d„}|S d
d	„}|S d S )Nz#The argument "a" must be array-likez5The argument "out" must be an array if it is providedr   c                 óL   — |dk    rt          | ¦  «        S t          | |¦  «        S rW   )r	  r  ©r  ÚdecimalsrV  s      r)   rì  zimpl_np_round.<locals>.implÎ  s)   € Ø 1’}�}Ý.¨qÑ1Ô1Ð1å,¨Q°Ñ9Ô9Ð9r(   c                 óL   — |dk    r| S t          t          | |¦  «        ¦  «        S rW   )rÊ  r  r  s      r)   rì  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 rW   )r	  r{  r¡  r  rr  )r  r  rV  r{  r¡  s        r)   rì  zimpl_np_round.<locals>.implÜ  s]   € Ø 1’}�}Ý.¨q¬vÑ6Ô6˜Ý.¨q¬vÑ6Ô6˜˜å,¨Q¬V°XÑ>Ô>˜Ý,¨Q¬V°XÑ>Ô>˜Ý" 4¨Ñ.Ô.Ð.r(   c                 ó6   — t          j        | |¦  «        |d<   |S rW   )r¯   Úroundr  s      r)   rì  zimpl_np_round.<locals>.implæ  s   € Ýœ ! XÑ.Ô.��A‘Ø�
r(   c                 óV   — t          j        | ¦  «        }t          j        | ||¦  «        S r.   )r¯   r}  r  r  s      r)   rì  zimpl_np_round.<locals>.implì  s%   € Ý”m AÑ&Ô&�Ý”x  8¨SÑ1Ô1Ð1r(   c                 ó¨   — | j         |j         k    rt          d¦  «        ‚t          j        | ¦  «        D ]\  }}t          j        ||¦  «        ||<   Œ|S )Nzinvalid output shape)rC   rÎ   r¯   rŠ  r  )r  r  rV  rH   rÃ   s        r)   rì  zimpl_np_round.<locals>.implñ  sY   € Ø”7˜cœiÒ'Ð'Ý$Ð%;Ñ<Ô<Ð<Ý"$¤.°Ñ"3Ô"3ð 9ð 9‘J�E˜3Ý!#¤¨#¨xÑ!8Ô!8�C˜‘J�JØ�
r(   rÍ  )	r   r   r¸   r   r  r   rn  rÕ   ro  )r  r  rV  r˜  rì  s        r)   Úimpl_np_roundr  Á  sŸ  € õ ˜AÑÔð AÝÐ?Ñ@Ô@Ð@å�s�EœKÑ(Ô(ð ­K¸Ñ,<Ô,<ð ØEˆÝ˜#ÑÔÐå�!•e”k¥5¤=µ%´-Ð@ÑAÔAð ,Ý�sÑÔð 	Ý˜!�Uœ[Ñ)Ô)ð ð:ð :ð :ð :ð
 �Ý˜A�uœ}Ñ-Ô-ð ð?ð ?ð ?ð ?ð
 �Ý˜A�uœ}Ñ-Ô-ð 	ð/ð /ð /ð /ð �ð	ð 	ðð ð ð ð ˆKÝ	�A•u”{Ñ	#Ô	#ð Ý�sÑÔð 	ð2ð 2ð 2ð 2ð ˆKðð ð ð ð ˆKðð r(   c                 óœ   — t          | t          j        ¦  «        rd„ }|S t          | t          j        ¦  «        rd„ }|S t	          d¦  «        ‚)Nc                 ó^   — | dk    rd} | t           j        z  } t          j        | ¦  «        | z  S )Nr`  g#B’¡œÇ;)r¯   ÚpiÚsinr\  s    r)   rì  zimpl_np_sinc.<locals>.impl  s-   € Ø�DŠyˆyØ�Ø•”‰JˆAÝ”6˜!‘9”9˜q‘=Ð r(   c                 ó�   — t          j        | ¦  «        }t          j        | ¦  «        D ]\  }}t          j        |¦  «        ||<   Œ|S r.   )r¯   r´  rŠ  Úsinc)r]  rV  rH   rÃ   s       r)   rì  zimpl_np_sinc.<locals>.impl  sF   € Ý”- Ñ"Ô"ˆCÝ œn¨QÑ/Ô/ð *ð *‘
��sÝœW S™\œ\��E‘
�
ØˆJr(   z,Argument "x" must be a Number or array-like.)r¸   r   r'  r  r    rw  s     r)   Úimpl_np_sincr!  þ  sg   € å�!•U”\Ñ"Ô"ð Mð	!ð 	!ð 	!ð
 ˆÝ	�A•u”{Ñ	#Ô	#ð Mð	ð 	ð 	ð
 ˆåÐKÑLÔLÐLr(   c                 óz  ‡‡— t          dt          j        z  ¦  «        Št          | t          j        ¦  «        rdˆfd„	}|S t          | t          j        ¦  «        rP| j        }t          |t          j        ¦  «        r|j	        Šnt          |t          j
        ¦  «        r|Šnd S dˆfd„	}|S t          d| › �¦  «        ‚)Né´   Fc                 óŠ   •— |r"t          j        | j        | j        ¦  «        ‰z  S t          j        | j        | j        ¦  «        S r.   )r¯   Úarctan2r¡  r{  )rÀ  ÚdegÚdeg_mults     €r)   rì  zov_np_angle.<locals>.impl  s<   ø€ Øð 2Ý”z !¤&¨!¬&Ñ1Ô1°HÑ<Ð<å”z !¤&¨!¬&Ñ1Ô1Ð1r(   c                 ó˜   •— t          j        | ‰¬¦  «        }t          j        | ¦  «        D ]\  }}t          j        ||¦  «        ||<   Œ|S rª  )r¯   r´  rŠ  Úangle)rÀ  r&  rV  rH   rÃ   r×   s        €r)   rì  zov_np_angle.<locals>.impl(  sP   ø€ Ý”- ¨Ð3Ñ3Ô3ˆCÝ œn¨QÑ/Ô/ð 0ð 0‘
��sÝœX c¨3Ñ/Ô/��E‘
�
ØˆJr(   z6Argument "z" must be a complex or Array[complex]. Got rú  )r?  r¯   r  r¸   r   r'  r  r³   ro  r‰  rn  r    )rÀ  r&  rì  r³   r'  r×   s       @@r)   Úov_np_angler*    sô   øø€ å�S�2œ5‘[Ñ!Ô!€Hõ �!•U”\Ñ"Ô"ð <ð	2ð 	2ð 	2ð 	2ð 	2ð 	2ð
 ˆÝ	�A•u”{Ñ	#Ô	#ð <Ø”ˆå�e�Uœ]Ñ+Ô+ð 	ØÔ.ˆIˆIÝ˜�uœ{Ñ+Ô+ð 	ØˆIˆIàˆFð	ð 	ð 	ð 	ð 	ð 	ð
 ˆåð ;Ø78ð;ð ;ñ <ô <ð 	<r(   zarray.nonzeroc                 ó&  ‡ ‡‡‡— |j         d         }|j        }|j        Š|j        } t	          |¦  «        ‰ ‰|d         ¦  «        }t          j        ‰|j        ¦  «        }t          j        ‰|j        ¦  «        }	|j	        }
|j
        }‰                      t          j        d¦  «        }‰                      t          j        d¦  «        }t          j        ‰|¦  «        }t          j        ‰||j        ¦  «        5 }t          j        ‰ ‰|
||	||¦  «        }t%          ‰ ‰||¦  «        }‰                      ‰|j        |¦  «        }‰                     |¦  «        5  ‰                     ‰                     ‰                     |¦  «        |¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   ‰                     |¦  «        fŠˆˆ ˆˆfd„t1          |¦  «        D ¦   «         }ˆˆ ˆfd„|D ¦   «         }d„ |D ¦   «         }t          j        ‰|¦  «        }t          j        ‰||j        ¦  «        5 }t          j        ‰ ‰|
||	||¦  «        }t%          ‰ ‰||¦  «        }‰                      ‰|j        |¦  «        }‰                     |¦  «        5  |s|f}‰                     |¦  «        }t1          |¦  «        D ]<}t          j        ‰ ‰||         ‰dd|g¦  «        }t3          ‰ ‰‰||         |¦  «         Œ=‰                     ‰                     ||¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   ‰                      ‰|j        |¦  «        }t7          ‰ ‰|j        |¦  «        S )Nr   rˆ   c                 óX   •— g | ]&}t          ‰‰‰‰¦  «                             ¦   «         ‘Œ'S r'   )r   r  )r@   rA   r0   r/   Ú	out_shapeÚoutarytys     €€€€r)   rB   z!array_nonzero.<locals>.<listcomp>P  sC   ø€ ð #ð #ð #Øõ ˜7 G¨X°yÑAÔA×KÒKÑMÔMð #ð #ð #r(   c                 óD   •— g | ]} t          ‰¦  «        ‰‰|¦  «        ‘ŒS r'   )r   )r@   rV  r0   r/   r.  s     €€€r)   rB   z!array_nonzero.<locals>.<listcomp>R  s0   ø€ ÐKÐKÐK¸sÐ#�z˜(Ñ#Ô# G¨W°cÑ:Ô:ÐKÐKÐKr(   c                 ó   — g | ]	}|j         ‘Œ
S r'   )rx   )r@   rV  s     r)   rB   z!array_nonzero.<locals>.<listcomp>S  s   € Ð-Ð-Ð-˜c�”Ð-Ð-Ð-r(   r'   rù   )rÞ   rè   r³   rŠ   r   r   rþ   rC   rE   rx   rû   rá   r   r5   râ   Ú	loop_nestry   Úget_item_pointer2r   Úis_truera   r]   r�   r`   rI   r   Ú
make_tupler   )r/   r0   rì   rÞ   r1   rê  Únoutsr2   rC   rE   rx   rû   r”   rÙ  rŠ   ÚindicesÚptrrÃ   ÚnzÚoutsÚoutarysÚ	out_datasrH   ÚcurrA   Útupr-  r.  s   ``                        @@r)   Úarray_nonzeror>  3  s®  øøøø€ ð ŒH�QŒK€EàŒO€EØŒ{€HØŒK€Eà
�*�UÑ
Ô
˜G W¨d°1¬gÑ
6Ô
6€CÝÔ  ¨#¬)Ñ4Ô4€EÝÔ" 7¨C¬KÑ8Ô8€GØŒ8€DØŒ\€Fð ×Ò¥¤
¨AÑ.Ô.€DØ
×
Ò
�uœz¨1Ñ
-Ô
-€CÝÔ% g¨tÑ4Ô4€EÝ	Ô	˜7 E¨4¬9Ñ	5Ô	5ð H¸ÝÔ'¨°¸$ÀÀwØ(.°ñ9ô 9ˆå˜ ¨%°Ñ5Ô5ˆØ�_Š_˜W e¤k°3Ñ7Ô7ˆØ�_Š_˜RÑ Ô ð 	Hð 	HØ�MŠM˜'Ÿ+š+ g§l¢l°5Ñ&9Ô&9¸3Ñ?Ô?ÀÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	HðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð —’˜eÑ$Ô$Ð&€Ið#ð #ð #ð #ð #ð #ð #Ý˜5‘\”\ð#ñ #ô #€DàKÐKÐKÐKÐKÐKÀdÐKÑKÔK€GØ-Ð- WÐ-Ñ-Ô-€Iõ Ô% g¨tÑ4Ô4€EÝ	Ô	˜7 E¨4¬9Ñ	5Ô	5ð 8¸ÝÔ'¨°¸$ÀÀwØ(.°ñ9ô 9ˆå˜ ¨%°Ñ5Ô5ˆØ�_Š_˜W e¤k°3Ñ7Ô7ˆØ�_Š_˜RÑ Ô ð 	8ð 	8àð "à˜'�Ø—,’,˜uÑ%Ô%ˆCÝ˜5‘\”\ð Hð H�ÝÔ/°¸À)ÈAÄ,Ø09¸2Ø03°c°Uñ<ô <�õ ˜7 G¨X°w¸q´zÀ3ÑGÔGÐGÐGØ�MŠM˜'Ÿ+š+ c¨3Ñ/Ô/°Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð$ ×
Ò
˜W c¤o°tÑ
<Ô
<€CÝ˜G W¨c¬o¸sÑCÔCÐCso   Ã9AF8Å>F!ÆF8Æ!F%	Æ%F8Æ(F%	Æ)F8Æ8F<Æ?F<ÉAMÊ!BL>Ì2MÌ>M	ÍMÍM	ÍMÍMÍMc                 ó   ‡ — ˆ fd„}|S )Nc                 ó¬   •— t          j        |¦  «                             ‰¦  «        }t          j        |¦  «                             ‰¦  «        }| r|n|S r.   )r¯   r3  r  )Ú	conditionr]  rŸ  Úx_Úy_r³   s        €r)   rì  z)_where_zero_size_array_impl.<locals>.impln  sH   ø€ ÝŒZ˜‰]Œ]×!Ò! %Ñ(Ô(ˆÝŒZ˜‰]Œ]×!Ò! %Ñ(Ô(ˆØÐ&ˆrˆr BÐ&r(   r'   )r³   rì  s   ` r)   Ú_where_zero_size_array_implrD  m  s#   ø€ ð'ð 'ð 'ð 'ð 'ð €Kr(   c                 ód   — t          j        | ¦  «        D ]\  }}|r||         n||         ||<   Œ|S r.   )r¯   rŠ  )Úcondr]  rŸ  r  r½   r0  s         r)   Ú_where_generic_inner_implrG  u  s@   € å”. Ñ&Ô&ð +ð +‰ˆˆQØÐ*�1�S”6�6 A c¤FˆˆC‰ˆØ€Jr(   c                 ó¢   — | j         }|j         }|j         }|j         }t          | j        ¦  «        D ]}||         r||         n||         ||<   Œ|S r.   )rU  rI   rD   )	rF  r]  rŸ  r  ÚcfÚxfÚyfÚrfrA   s	            r)   Ú_where_fast_inner_implrM  |  s\   € à	Œ€BØ	
Œ€BØ	
Œ€BØ	Œ€BÝ�4”9ÑÔð *ð *ˆØ˜AœÐ)��1”� B q¤Eˆˆ1‰ˆØ€Jr(   c                 ó*   ‡ ‡‡— ‰dhdhfv Šˆ ˆˆfd„}|S )Nrù   ÚFc                 ó  •— 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 )NrO  rã  r«  )	r¯   r3  r¬  rC   r­  rS  rw  rM  rG  )rA  r]  rŸ  Úcond1Úx1Úy1rC   Úcond_rB  rC  r  r³   rû   Úuse_faster_impls              €€€r)   rì  z!_where_generic_impl.<locals>.implŠ  sè   ø€ Ýœ
 9Ñ-Ô-­r¬z¸!©}¬}½b¼jÈ¹m¼m�2ˆrˆÝÔ# E¤K°´¸2¼8ÑDÔDˆÝ”  uÑ-Ô-ˆÝŒ_˜R Ñ'Ô'ˆÝŒ_˜R Ñ'Ô'ˆà�SŠ=ˆ=Ý”(˜5   2 œ;¨eÐ4Ñ4Ô4Ô6ˆCˆCå”(˜5¨Ð.Ñ.Ô.ˆCàð 	AÝ)¨%°°R¸Ñ=Ô=Ð=å,¨U°B¸¸CÑ@Ô@Ð@r(   r'   )r³   rû   rì  rU  s   `` @r)   Ú_where_generic_implrV  ‡  sH   øøø€ Ø # ¨¨ Ð.€OðAð Að Að Að Að Að Að" €Kr(   c                 óL   — t          | ¦  «        sd}t          |¦  «        ‚d„ }|S )Nú+The argument "condition" must be array-likec                 óN   — t          j        | ¦  «                             ¦   «         S r.   )r¯   r3  rÊ  )rA  s    r)   Úwhere_cond_none_nonez)ov_np_where.<locals>.where_cond_none_none¤  s   € ÝŒz˜)Ñ$Ô$×,Ò,Ñ.Ô.Ð.r(   )r   r    )rA  r˜  rZ  s      r)   Úov_np_wherer[  ž  s:   € å˜IÑ&Ô&ð "Ø;ˆÝ˜SÑ!Ô!Ð!ð/ð /ð /àÐr(   c                 ó0  ‡— t          | ¦  «        sd}t          |¦  «        ‚t          |¦  «        st          |¦  «        rt          d¦  «        ‚t          ||fd¦  «        D ]8\  }}t          |¦  «        s$d}t          |                     |¦  «        ¦  «        ‚Œ9t          | t          j        ¦  «        }t          |t          j        ¦  «        }t          |t          j        ¦  «        }|r©t          |¦  «        }	t          |¦  «        }
t          j
        |	|
¦  «        }d„ Št          ˆfd„| ||fD ¦   «         ¦  «        }|rt          |¦  «        S | j        }|r+|r)|j        |j        cxk    r| j        k    rn n|j        }nd}t          ||¦  «        S d„ }|S )	NrX  z"Argument "x" or "y" cannot be Nonerê  z0The argument "{}" must be array-like if providedc                 ó€   — t          | t          j        ¦  «        p$t          | t          j        ¦  «        o
| j        dk    S rW   )r¸   r   r'  r  r~   )Úargs    r)   Úcheck_0_dimz$ov_np_where_x_y.<locals>.check_0_dimË  s7   € Ý˜c¥5¤<Ñ0Ô0ð @Ý˜3¥¤Ñ,Ô,Ð>°´¸Q²ð@r(   c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r'   r'   )r@   r  r_  s     €r)   rB   z#ov_np_where_x_y.<locals>.<listcomp>Î  s!   ø€ ÐHÐHÐH°˜k˜k¨!™nœnÐHÐHÐHr(   r  c                 óš   — t          j        t          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        ¦  «        S r.   )r¯   r³  r3  )rA  r]  rŸ  s      r)   rì  zov_np_where_x_y.<locals>.implÚ  s0   € Ý”8�BœJ yÑ1Ô1µ2´:¸a±=´=Å"Ä*ÈQÁ-Ä-ÑPÔPÐPr(   )r   r    r   Úzipr—  r¸   r   r  ro  r¯   r;  r  rD  rû   rV  )rA  r]  rŸ  r˜  r^  rø  Úcond_arrr9  r„  r<  r¹  r³   Úspecial_0_caserû   rì  r_  s                  @r)   Úov_np_where_x_yre  ©  sÚ  ø€ å˜IÑ&Ô&ð "Ø;ˆÝ˜SÑ!Ô!Ð!õ �1�~„~ð C� Q™œð CåÐAÑBÔBÐBå˜!˜Q˜ Ñ,Ô,ð 3ð 3‰	ˆˆTÝ Ñ$Ô$ð 	3ØDˆCÝ  §¢¨DÑ!1Ô!1Ñ2Ô2Ð2ð	3õ ˜)¥U¤[Ñ1Ô1€HÝ�q�%œ+Ñ&Ô&€EÝ�q�%œ+Ñ&Ô&€Eàð Ý˜qÑ!Ô!ˆÝ˜qÑ!Ô!ˆÝÔ   tÑ,Ô,ˆð	@ð 	@ð 	@õ ÐHÐHÐHÐH°yÀ!ÀQÐ6GÐHÑHÔHÑIÔIˆØð 	6Ý.¨uÑ5Ô5Ð5àÔ!ˆØð 	�Uð 	ØŒx˜1œ8Ð7Ð7Ò7Ð7 yÔ'7Ò7Ð7Ð7Ð7Ð7Øœ��à�Ý" 5¨&Ñ1Ô1Ð1ð	Qð 	Qð 	Qàˆr(   c                 ó   — d„ }|S )Nc                 ó   — | j         S r.   )r{  r  s    r)   Únp_real_implznp_real.<locals>.np_real_implá  ó	   € ØŒxˆr(   r'   )rÃ   rh  s     r)   Únp_realrj  ß  ó   € ðð ð ð Ðr(   c                 ó   — d„ }|S )Nc                 ó   — | j         S r.   )r¡  r  s    r)   Únp_imag_implznp_imag.<locals>.np_imag_implé  ri  r(   r'   )rÃ   rn  s     r)   Únp_imagro  ç  rk  r(   c                 óD   — t          | t          j        ¦  «        sd S d„ }|S )Nc                 óF   — t          j        | ¦  «        D ]}||k    r dS ŒdS rŸ  )r¯   r-  )rR  rH  r]  s      r)   Únp_contains_implz%np_contains.<locals>.np_contains_impl÷  s3   € Ý”˜3‘”ð 	ð 	ˆAØ�CŠxˆxØ�t�tð àˆur(   r€  )rR  rH  rr  s      r)   Únp_containsrs  ò  s2   € å�c�5œ;Ñ'Ô'ð Øˆðð ð ð Ðr(   c                 ót   — t          | ¦  «        st          d¦  «        ‚t          |¦  «        rdd„}|S dd„}|S )Nz3The argument to np.count_nonzero must be array-likec                 óZ   — t          j        | ¦  «        }t          j        |dk    ¦  «        S rW   )r¯   rå  r  ©r  r¼   Úarr2s      r)   rì  znp_count_nonzero.<locals>.impl  s#   € Ý”8˜A‘;”;ˆDÝ”6˜$ !š)Ñ$Ô$Ð$r(   c                 ól   — |                       t          j        ¦  «        }t          j        ||¬¦  «        S )N)r¼   )r  r¯   rÔ   r  rv  s      r)   rì  znp_count_nonzero.<locals>.impl  s*   € Ø—8’8�BœHÑ%Ô%ˆDÝ”6˜$ TÐ*Ñ*Ô*Ð*r(   r.   )r   r   r   )r  r¼   rì  s      r)   Únp_count_nonzerory     sh   € å˜AÑÔð QÝÐOÑPÔPÐPå�4ÑÔð 	ð	%ð 	%ð 	%ð 	%ð ˆð	+ð 	+ð 	+ð 	+ð ˆr(   c                 ó   — | S r.   r'   r\  s    r)   rß   rß     s   € ¸€ r(   c                 ó*   — t          j        | ¦  «        S r.   r  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 )Nú)arr must be either an Array or a Sequenceúobj should be of Integer dtypec                 óÎ   •— t          j        t          j        | ¦  «        ¦  «        } | j        }t          j        |t           j        ¬¦  «        } ‰|¦  «        }d||<   | |         S )Nr«  F)r¯   rå  r3  rD   ÚonesrÔ   )rR  rú  r¡  ÚkeepÚhandlers       €r)   Únp_delete_implz!np_delete.<locals>.np_delete_impl%  sW   ø€ Ý”(�2œ: c™?œ?Ñ+Ô+ˆCØ”ˆAå”7˜1¥B¤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ˆ   )r¯   rå  r3  rD   Ú
IndexErrorÚconcatenate)rR  rú  r¡  Úposs       r)   Únp_delete_scalar_implz(np_delete.<locals>.np_delete_scalar_impl3  s„   € Ý”(�2œ: c™?œ?Ñ+Ô+ˆCØ”ˆAØˆCà�q�b’�˜C 1šH˜HÝ Ð!EÑFÔFÐFð �a’�Ø�q‘�å”> 3 t¨ t¤9¨c°#¸±'°(°(¬mÐ"<Ñ=Ô=Ð=r(   )
r¸   r   r  r—  r   Ú	SliceTypeÚnp_delete_handler_isslicer³   rÕ   Únp_delete_handler_isarray)rR  rú  rƒ  rˆ  r‚  s       @r)   Ú	np_deleterŒ    só   ø€ õ
 �c�EœK­¬Ð8Ñ9Ô9ð GÝÐEÑFÔFÐFå�#�œ¥U¤^µU´_ÐEÑFÔFð $%Ý�c�EœOÑ-Ô-ð 	0Ý/ˆGˆGå˜cœi­¬Ñ7Ô7ð DÝ!Ð"BÑCÔCÐCÝ/ˆGð	ð 	ð 	ð 	ð 	ð Ðõ ˜#�uœ}Ñ-Ô-ð 	@ÝÐ>Ñ?Ô?Ð?ð	>ð 	>ð 	>ð %Ð$r(   c                 óP  — t          | t          j        t          j        f¦  «        st	          d¦  «        ‚t          |t          j        t          j        t          j        t          j        f¦  «        st	          d¦  «        ‚t          |¦  «        st	          d¦  «        ‚t          |t          j        ¦  «        rdd„}|S t          |t          j        t          j        f¦  «        r4t          |j	        t          j        ¦  «        st	          d¦  «        ‚dd„}|S t	          d¦  «        ‚)	Nr}  z/values must be a scalar, an Array or a Sequencez$The 'axis' argument is not supportedc                 óž  — t          j        t          j        | ¦  «        ¦  «        } | j        }|}|| k     s||k    rt	          d¦  «        ‚|dk     r||z  }t          j        t          j        |¦  «        ¦  «        }|j        }t          j        ||z   | j        ¬¦  «        }| d |…         |d |…<   |||||z   …<   | |d …         |||z   d …<   |S )Nú/index is out of bounds for the given array sizer   r«  )r¯   rå  r3  rD   r…  rS  r³   )	rR  rú  Úvaluesr¼   r¡  r‡  ÚvalsÚn_insrV  s	            r)   Únp_insert_scalar_implz(np_insert.<locals>.np_insert_scalar_implX  sá   € Ý”(�2œ: c™?œ?Ñ+Ô+ˆCØ”ˆAØˆCà�a�RŠxˆx˜3 š7˜7Ý ð ".ñ /ô /ð /à�QŠwˆwØ�q‘�å”8�BœJ vÑ.Ô.Ñ/Ô/ˆDØ”IˆEå”(˜1˜u™9¨C¬IÐ6Ñ6Ô6ˆCØ˜D˜S˜Dœ	ˆC���‰IØ#'ˆC��C˜%‘K�Ñ Ø # C D D¤	ˆC��e‘��ÑØˆJr(   r~  c                 ó  — t          j        t          j        | ¦  «        ¦  «        } | j        }t          j        t          j        |¦  «        ¦  «                             t           j        ¦  «        }|j        }t          j        t          j        |¦  «        ¦  «        }|dk    r�|d         }|| k     s||k    rt          d¦  «        ‚|dk     r||z  }|j        }	t          j        ||	z   | j        ¬¦  «        }
| d |…         |
d |…<   ||
|||	z   …<   | |d …         |
||	z   d …<   |
S |j        dk    r|j        |k    rt          d¦  «        ‚t          |¦  «        D ]F}||         | k     s||         |k    rt          d¦  «        ‚||         dk     r||xx         |z  cc<   ŒGt          j        |d¬¦  «        }t          |¦  «        D ]}|||         xx         |z  cc<   Œt          j        ||z   | j        ¬¦  «        }
t          j        ||z   t           j        ¬¦  «        }t          |¦  «        D ]}d|||         <   Œ| |
|<   t          |¦  «        D ]0}|j        dk    r|d         |
||         <   Œ||         |
||         <   Œ1|
S )	Nrˆ   r   r�  r«  zSshape mismatch: the number of values does not match the number of insertion indicesÚ	mergesort©ÚkindF)r¯   rå  r3  rD   r  r±   r…  rS  r³   rÎ   rI   Úargsortr€  rÔ   )rR  rú  r�  r¼   r¡  r6  r’  r‘  r‡  Ún_valsrV  rA   Úorderr�   s                 r)   Únp_insert_array_implz'np_insert.<locals>.np_insert_array_implq  s¹  € Ý”(�2œ: c™?œ?Ñ+Ô+ˆCØ”ˆAÝ”h�rœz¨#™œÑ/Ô/×6Ò6µr´xÑ@Ô@ˆGØ”LˆEÝ”8�BœJ vÑ.Ô.Ñ/Ô/ˆDð ˜ŠzˆzØ˜a”j�Ø˜!˜’8�8˜s Qšw˜wÝ$ð &2ñ 3ô 3ð 3à˜’7�7Ø˜1‘H�CØœ�Ý”h˜q 6™z°´Ð;Ñ;Ô;�Ø   œI��D�S�D‘	Ø(,��C˜˜f™Ð$Ñ%Ø%(¨¨¨¤Y��C˜&‘L�M�MÑ"Ø�
ð
 Œy˜AŠ~ˆ~ $¤)¨uÒ"4Ð"4Ý ð "+ñ ,ô ,ð ,õ
 ˜5‘\”\ð $ð $�Ø˜1”:  ’?�? g¨a¤j°1¢n nÝ$ð &8ñ 9ô 9ð 9à˜1”: ’>�>Ø˜A�J�J”J !‘O�J�J‘Jøõ
 ”J˜w¨[Ð9Ñ9Ô9ˆEÝ˜5‘\”\ð 'ð '�Ø˜˜aœÐ!Ð!Ô! QÑ&Ð!Ð!Ñ!Ð!å”(˜1˜u™9¨C¬IÐ6Ñ6Ô6ˆCÝ”7˜1˜u™9­B¬HÐ5Ñ5Ô5ˆDÝ˜5‘\”\ð )ð )�Ø#(��W˜Q”ZÑ Ð ØˆC�‰Iõ ˜5‘\”\ð .ð .�Ø”9 ’>�>Ø&*¨1¤g�C˜ œ
‘O�Oà&*¨1¤g�C˜ œ
‘O�OØˆJr(   z0obj should be an Integer, an Array or a Sequencer.   )
r¸   r   r  r—  r   r'  ré   r   rÕ   r³   )rR  rú  r�  r¼   r“  r›  s         r)   Ú	np_insertrœ  D  s.  € õ �c�EœK­¬Ð8Ñ9Ô9ð GÝÐEÑFÔFÐFå�f�uœ|­U¬]½E¼KÝ$œ~ð/ñ 0ô 0ð MåÐKÑLÔLÐLõ �tÑÔð BÝÐ@ÑAÔAÐAå�#•u”}Ñ%Ô%ð YNð	ð 	ð 	ð 	ð& %Ð$å	�C�%œ+¥u¤~Ð6Ñ	7Ô	7ð BNÝ˜#œ)¥U¤]Ñ3Ô3ð 	@ÝÐ>Ñ?Ô?Ð?ð:	ð :	ð :	ð :	ðv $Ð#õ ÐLÑMÔMÐMr(   rˆ   c                 ó\   — t          | t          j        ¦  «        r| j        dk    rd S dd„}|S )Nr   rˆ   c                 óø  — |dk    r|                       ¦   «         S |dk     rt          d¦  «        ‚| j        d         }| j        d d…         t          ||z
  d¦  «        fz   }t	          j        || j        ¦  «        }|j        dk    r|S |                      d|f¦  «        }|                     d|j        d         f¦  «        }t	          j        || j        ¦  «        }t          |j        d         ¦  «        D ]„}t          |dz
  ¦  «        D ]}	|||	dz   f         |||	f         z
  ||	<   Œt          d|¦  «        D ]1}
t          ||
z
  dz
  ¦  «        D ]}	||	dz            ||	         z
  ||	<   ŒŒ2|d ||z
  …         ||<   Œ…|S )Nr   z"diff(): order must be non-negativerã  rˆ   )
r  rÎ   rC   r³  r¯   rS  r³   rD   rI  rI   )r  r2  rD   r-  rV  Úa2Úout2ÚworkÚmajorrA   Úniters              r)   Ú	diff_implznp_diff_impl.<locals>.diff_impl·  sš  € Ø�Š6ˆ6Ø—6’6‘8”8ˆOØˆqŠ5ˆ5ÝÐAÑBÔBÐBØŒw�rŒ{ˆØ”G˜C˜R˜C”L¥C¨¨q©°!Ñ$4Ô$4Ð#6Ñ6ˆ	ÝŒh�y !¤'Ñ*Ô*ˆØŒ8�qŠ=ˆ=ØˆJð �YŠY˜˜D�zÑ"Ô"ˆØ�{Š{˜B ¤	¨"¤Ð.Ñ/Ô/ˆåŒx˜˜aœgÑ&Ô&ˆå˜2œ8 Aœ;Ñ'Ô'ð 		*ð 		*ˆEå˜4 !™8‘_”_ð :ð :�Ø˜U A¨¡E˜\Ô*¨R°°q°¬\Ñ9��Q‘�å˜q !™œð 4ð 4�Ý˜t e™|¨aÑ/Ñ0Ô0ð 4ð 4�AØ" 1 q¡5œk¨D°¬GÑ3�D˜‘G�Gð4ð ˜y  q¡˜yœ/ˆD�‰KˆKàˆ
r(   r  )r¸   r   r  r~   )r  r2  r¤  s      r)   Únp_diff_implr¥  ²  sA   € å�a�œÑ%Ô%ð ¨¬°1ª¨Øˆðð ð ð ð> Ðr(   c                 óÞ   — t          | ¦  «        rt          |¦  «        st          d¦  «        ‚t          j        t          j        f}t          | |¦  «        rt          ||¦  «        rd„ }nd„ }|S )Nz3Both arguments to "array_equals" must be array-likec                 ó   — | |k    S r.   r'   )Úa1rŸ  s     r)   rì  znp_array_equal.<locals>.implâ  s   € Ø˜’8ˆOr(   c                 ó¦   — t          j        | ¦  «        }t          j        |¦  «        }|j        |j        k    rt          j        ||k    ¦  «        S dS r˜  )r¯   r3  rC   r  )r¨  rŸ  r  r.  s       r)   rì  znp_array_equal.<locals>.implå  sB   € Ý”
˜2‘”ˆAÝ”
˜2‘”ˆAØŒw˜!œ'Ò!Ð!Ý”v˜a 1šf‘~”~Ð%Ø�5r(   )r   r   r   ré   r'  r¸   )r¨  rŸ  Úacceptedrì  s       r)   Únp_array_equalr«  Ù  s�   € õ ˜RÑ Ô ð QÕ%5°bÑ%9Ô%9ð QÝÐOÑPÔPÐPå”�uœ|Ð,€HÝ�"�hÑÔð 
¥J¨r°8Ñ$<Ô$<ð 
ð	ð 	ð 	ð 	ð	ð 	ð 	ð €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 booleanFc                 óœ  — t          j        | ¦  «        } t          j        |¦  «        }|s)t          j        | ¦  «        } t          j        |¦  «        }n(|                      ¦   «         } |                     ¦   «         }t          j        | |f¦  «        }|                     ¦   «          |dd …         |d d…         k    }|d d…         |         }|S )Nrˆ   rã  )r¯   r3  r  rå  r†  Úsort)Úar1Úar2Úassume_uniqueÚauxr�   Úint1ds         r)   Únp_intersects1d_implz0jit_np_intersect1d.<locals>.np_intersects1d_implú  sª   € ÝŒj˜‰oŒoˆÝŒj˜‰oŒoˆàð 	Ý”)˜C‘.”.ˆCÝ”)˜C‘.”.ˆCˆCà—)’)‘+”+ˆCØ—)’)‘+”+ˆCåŒn˜c 3˜ZÑ(Ô(ˆØ�Š‰
Œ
ˆ
Ø�1�2�2Œw˜#˜c˜r˜cœ(Ò"ˆØ�C�R�C”˜”ˆØˆr(   rú  ©r   r   r¸   r   ré   r	  )r¯  r°  r±  r´  s       r)   Újit_np_intersect1dr¶  ï  s†   € õ
 ˜SÑ!Ô!ð LÕ%5°cÑ%:Ô%:ð LÝÐJÑKÔKÐKÝ�m¥e¤mµTÐ%:Ñ;Ô;ð FÝð Eñ Fô Fð 	Fðð ð ð ð   Ðr(   c                 ó  — t          |t          j        ¦  «        r/|j        dk    r"t	          d                     | ¦  «        ¦  «        ‚d S t          |t          j        ¦  «        s"t	          d                     | ¦  «        ¦  «        ‚d S )Nrˆ   z${0}(): input should have dimension 1z+{0}(): input should be an array or sequence)r¸   r   r  r~   r    r—  r—  )Ú	func_nameÚseqs     r)   Úvalidate_1d_array_likerº    sŒ   € Ý�#•u”{Ñ#Ô#ð 1ØŒ8�qŠ=ˆ=Ý Ð!Gß"(¢&¨Ñ"3Ô"3ñ5ô 5ð 5ð ˆ=õ ˜�Uœ^Ñ,Ô,ð 1ÝÐJß$šf YÑ/Ô/ñ1ô 1ð 	1ð1ð 1r(   c                 ó�  ‡‡‡— t          d| ¦  «         t          | j        t          j        ¦  «        sd S t          |d¦  «         |d t          j        fvr=t          d|¦  «         t          j        Št          d„ ¦   «         Št          d„ ¦   «         Šn,t          j
        Št          d„ ¦   «         Št          d„ ¦   «         Šd	ˆˆˆfd„	}|S )
NÚbincountÚ	minlengthc                 ód   — t          | ¦  «        t          |¦  «        k    rt          d¦  «        ‚d S )Nz7bincount(): weights and list don't have the same length)rJ   rÎ   ©r  rO  r½  s      r)   Úvalidate_inputsz$np_bincount.<locals>.validate_inputs&  s8   € å�1‰vŒv�˜W™œÒ%Ð%Ý ð "3ñ 4ô 4ð 4ð &Ð%r(   c                 ó2   — | |xx         ||         z  cc<   d S r.   r'   ©rV  r½   rÃ   rO  s       r)   Ú
count_itemznp_bincount.<locals>.count_item,  s    € à�ˆHˆHŒH˜ œÑ$ˆHˆH‰HˆHˆHr(   c                 ó   — d S r.   r'   r¿  s      r)   rÀ  z$np_bincount.<locals>.validate_inputs3  s   € àˆDr(   c                 ó&   — | |xx         dz  cc<   d S r  r'   rÂ  s       r)   rÃ  znp_bincount.<locals>.count_item7  s   € à�ˆHˆHŒH˜‰MˆHˆH‰HˆHˆHr(   r   c                 ó®  •—  ‰
| ||¦  «         |dk     rt          d¦  «        ‚t          | ¦  «        }|dk    r| d         nd}t          d|¦  «        D ]3}| |         dk     rt          d¦  «        ‚t          || |         ¦  «        }Œ4t          |dz   |¦  «        }t	          j        |‰	¦  «        }t          |¦  «        D ]} ‰||| |         |¦  «         Œ|S )Nr   z 'minlength' must not be negativerã  rˆ   z/bincount(): first argument must be non-negative)rÎ   rJ   rI   r³  r¯   r¥  )r  rO  r½  r2  r  rA   Ú
out_lengthrV  rÃ  rŽ  rÀ  s           €€€r)   Úbincount_implz"np_bincount.<locals>.bincount_impl;  sú   ø€ Øˆ˜˜7 IÑ.Ô.Ð.Ø�qŠ=ˆ=ÝÐ?Ñ@Ô@Ð@å�‰FŒFˆØ˜Aš˜��!”� 2ˆÝ�q˜!‘”ð 	%ð 	%ˆAØ�Œt�aŠxˆxÝ ð "0ñ 1ô 1ð 1å˜˜q œtÑ$Ô$ˆEˆEå˜ ™ IÑ.Ô.ˆ
ÝŒh�z 9Ñ-Ô-ˆÝ�q‘”ð 	.ð 	.ˆAØˆJ�s˜A˜q œt WÑ-Ô-Ð-Ð-Øˆ
r(   rW   )rº  r¸   r³   r   rÕ   r   rõ  r¯   rb  r
   r5   )r  rO  r½  rÈ  rÃ  rŽ  rÀ  s       @@@r)   Únp_bincountrÉ    s  øøø€ å˜: qÑ)Ô)Ð)å�a”g�uœ}Ñ-Ô-ð Øˆå�Y Ñ,Ô,Ð,à�t�UœZÐ(Ð(Ð(Ý˜z¨7Ñ3Ô3Ð3õ ”Jˆ	å	ð	4ð 	4ñ 
Ô	ð	4õ
 
ð	%ð 	%ñ 
Ô	ð	%ð 	%õ ”Jˆ	å	ð	ð 	ñ 
Ô	ð	õ 
ð	ð 	ñ 
Ô	ð	ðð ð ð ð ð ð ð ð& Ðr(   c                 ó€  — t          j        | j        ¦  «        rxt          j        |j        ¦  «        r]t          j        | j        ¦  «        rt          j        |j        ¦  «        S t          j        |j        ¦  «        rdS | j        |j        k    S dS t          j        |j        ¦  «        rdS t          j        | j        ¦  «        r+t          j        |j        ¦  «        r| j        |j        k    S dS t          j        |j        ¦  «        rdS | j        |j        k     rdS | j        |j        k    r| j        |j        k    S dS rŸ  )r¯   r°  r{  r¡  r�  s     r)   Úless_than_or_equal_complexrË  U  s"  € å	„x�”ÑÔð !ÝŒ8�A”FÑÔð 		ÝŒx˜œÑÔð ,Ý”x ¤Ñ'Ô'Ð'å”8˜AœFÑ#Ô#ð ,Ø˜4àœ6 Q¤VÒ+Ð+à�5õ Œ8�A”FÑÔð 	!Ø�4åŒx˜œÑÔð !Ý”8˜AœFÑ#Ô#ð !Øœ6 Q¤VÒ+Ð+à ˜5å”8˜AœFÑ#Ô#ð !Ø˜4à”v ¤’�Ø#˜tØœ 1¤6Ò)Ð)Ø œv¨¬Ò/Ð/Ø ˜5r(   c                 ó  — t          | t          ¦  «        st          |t          ¦  «        rt          | |¦  «        S t          |t          t          j        t          j        f¦  «        rt          j        |¦  «        rdS | |k    S rÅ  )	r¸   rr  rË  r?  r   Úfloat32rb  r¯   r°  r�  s     r)   Ú_less_than_or_equalrÎ  w  sp   € å�!•WÑÔð ¥¨A­wÑ!7Ô!7ð Ý)¨!¨QÑ/Ô/Ð/å	�A��uœ}­e¬mÐ<Ñ	=Ô	=ð ÝŒ8�A‰;Œ;ð 	Ø�4à�Š6€Mr(   c                 óú   — t          | t          ¦  «        st          |t          ¦  «        rt          | |¦  «        S t          |t          t          j        t          j        f¦  «        rt          | |¦  «        S | |k     S r.   )r¸   rr  Úless_than_complexr?  r   rÍ  rb  Úless_than_floatr�  s     r)   Ú
_less_thanrÒ  ƒ  sk   € å�!•WÑÔð %¥¨A­wÑ!7Ô!7ð %Ý   AÑ&Ô&Ð&å	�A��uœ}­e¬mÐ<Ñ	=Ô	=ð %Ý˜q !Ñ$Ô$Ð$àˆqŠ5€Lr(   c                 óf   — t          j        | ¦  «        rdS t          j        |¦  «        rdS | |k     S ry  )r¯   r¯  r�  s     r)   Ú_less_then_datetime64rÔ  Ž  s7   € õ 
„x��{„{ð Øˆqå	„x��{„{ð ØˆqàˆqŠ5€Lr(   c                 ó$   — t          || ¦  «         S r.   )rÔ  r�  s     r)   Ú_less_then_or_equal_datetime64rÖ  ›  s   € å$ Q¨Ñ*Ô*Ð*Ð*r(   c                 ó   ‡ — ˆ fd„}|S )Nc                 ór   •— ||k     r-|||z
  dz	  z   }| |         } ‰||¦  «        r|dz   }n|}||k     °-||fS r  r'   )r  Úkey_valrÂ  rÚ  r  Úmid_valÚcmps         €r)   rì  z_searchsorted.<locals>.impl¤  si   ø€ Ø˜ÒÐà '¨GÑ"3¸Ñ!9Ñ:ˆGØ˜”jˆGØˆs�7˜GÑ$Ô$ð "Ø! A™+��à!�ð ˜ÒÐð ˜ÐÐr(   r'   )rÛ  rì  s   ` r)   Ú_searchsortedrÜ     s#   ø€ ð	 ð 	 ð 	 ð 	 ð 	 ð €Kr(   ÚleftÚrightc                 ój  — |t           v sJ ‚| j        dv rt          }t          }nt          }t
          }|dk    rt          |¦  «        }|}nMt          j        | t          j	        ¦  «        rt          dk     rt          |¦  «        }|}nt          |¦  «        }|}t          |¦  «        t          |¦  «        fS )Nr6  rÝ  )rˆ   é   )ÚVALID_SEARCHSORTED_SIDESr;  rÔ  rÖ  rÒ  rÎ  rÜ  r¯   rq  Úinexactr   r
   )Únp_dtypeÚsiderþ  ÚleÚ_implÚ_cmps         r)   Ú make_searchsorted_implementationrè  µ  s¸   € ØÕ+Ð+Ð+Ð+Ð+à„}˜ÐÐå"ˆÝ+ˆˆåˆÝ ˆàˆv‚~€~Ý˜bÑ!Ô!ˆØˆˆåŒ=˜¥2¤:Ñ.Ô.ð 	µ=À7Ò3JÐ3Jõ " "Ñ%Ô%ˆEØˆDˆ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„	}n%t          |t          j        ¦  «        rdd„}ndˆfd„	}|S )NÚliteral_valuez Invalid value given for 'side': rÝ  c                 óÂ  •— t          j        |j        t           j        ¬¦  «        }|j        d         }d}t          | ¦  «        }t          |j        ¦  «        D ]m}|j        |         } ‰	||¦  «        rt          | ¦  «        }n*d}|t          | ¦  «        k     r|dz  }nt          | ¦  «        }|} ‰
| |||¦  «        \  }}|||<   Œn|                     |j        ¦  «        S )Nr«  r   rˆ   )	r¯   rS  rD   r5   rU  rJ   rI   rI  rC   )r  r1  rä  rV  Úlast_key_valrÂ  rÚ  rA   rÙ  rç  ræ  s            €€r)   rì  zsearchsorted.<locals>.implã  sã   ø€ Ý”(˜1œ6­¬Ð1Ñ1Ô1ˆCØœ6 !œ9ˆLØˆGÝ˜!‘f”fˆGå˜1œ6‘]”]ð !ð !�Øœ& œ)�à�4˜ gÑ.Ô.ð )Ý! !™fœf�G�Gà�GØ¥ Q¡¤Ò'Ð'Ø 1™˜˜å"% a¡&¤&˜à&�Ø#( 5¨¨G°W¸gÑ#FÔ#FÑ �˜Ø ��A‘�à—;’;˜qœwÑ'Ô'Ð'r(   c                 óX   — t          j        |¦  «        }t          j        | ||¬¦  «        S )N©rä  )r¯   r3  Úsearchsorted)r  r1  rä  s      r)   rì  zsearchsorted.<locals>.implû  s&   € Ý”
˜1‘”ˆAÝ”? 1 a¨dÐ3Ñ3Ô3Ð3r(   c                 óD   •—  ‰| |dt          | ¦  «        ¦  «        \  }}|S rW   )rJ   )r  r1  rä  Úrrí   ræ  s        €r)   rì  zsearchsorted.<locals>.implÿ  s'   ø€ Ø�5˜˜A˜q¥# a¡&¤&Ñ)Ô)‰DˆAˆqØˆHr(   ©rÝ  )r¡   rá  r   r¸   r   r  r—  r   r³   r¯   r;  rè  )	r  r1  rä  Úside_valÚv_dtÚnp_dtrì  rç  ræ  s	          @@r)   rï  rï  Ñ  s0  øø€ å�t˜_¨dÑ3Ô3€HàÕ/Ð/Ð/õ ÐKÀÐKÐKÑLÔLÐLå�!•e”k¥5¤>Ð2Ñ3Ô3ð Ý˜œÑ Ô ˆˆå˜‰{Œ{ˆåÔ�X a¤gÑ.Ô.°Ñ5Ô5€EÝ2°5¸(ÑCÔC�K€Eˆ4å�!•U”[Ñ!Ô!ð ð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(õ. 
�A•u”~Ñ	&Ô	&ð ð	4ð 	4ð 	4ð 	4ð 	4ð	ð 	ð 	ð 	ð 	ð 	ð €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          | ¦  «        dk    rdS | d         }d}|t          | ¦  «        k     r0| |         |k    r$|dz  }|t          | ¦  «        k     r| |         |k    °$|t          | ¦  «        k    rdS | |         }||k     r8t          |dz   t          | ¦  «        ¦  «        D ]}|}| |         }||k    r dS ŒdS t          |dz   t          | ¦  «        ¦  «        D ]}|}| |         }||k     r dS ŒdS )Nr   rˆ   rã  )rJ   rI   )ÚbinsÚ
last_valuerA   Ú
next_values       r)   Ú_monotonicityz"np_digitize.<locals>._monotonicity  s3  € õ ˆt‰9Œ9˜Š>ˆ>Ø�1ð ˜!”Wˆ
ØˆØ•#�d‘)”)Šmˆm  Q¤¨:Ò 5Ð 5Ø�‰FˆAð •#�d‘)”)Šmˆm  Q¤¨:Ò 5Ð 5ð •�D‘	”	Š>ˆ>Ø�1à˜!”Wˆ
à˜
Ò"Ð"å˜1˜q™5¥# d¡)¤)Ñ,Ô,ð ð �Ø'�
Ø! !œW�
Ø 
Ò*Ð*Ø˜1˜1ð +à�1õ ˜1˜q™5¥# d¡)¤)Ñ,Ô,ð ð �Ø'�
Ø! !œW�
Ø 
Ò*Ð*Ø˜1˜1ð +à�2r(   Fc                 ó|  •—  ‰|¦  «        }|dk    rt          d¦  «        ‚|rM|dk    r0t          |¦  «        t          j        |d d d…         | d¬¦  «        z
  S t          j        || d¬¦  «        S |dk    r0t          |¦  «        t          j        |d d d…         | d¬¦  «        z
  S t          j        || d¬¦  «        S )Nr   z3bins must be monotonically increasing or decreasingrã  rÝ  rî  rÞ  )rÎ   rJ   r¯   rï  )r]  rø  rÞ  Úmonorû  s       €r)   Údigitize_implz"np_digitize.<locals>.digitize_impl0  sÒ   ø€ àˆ}˜TÑ"Ô"ˆà�1Š9ˆ9ÝØEñô ð ð
 ð 	>Ø�rŠzˆzå˜4‘y”y¥2¤?°4¸¸¸"¸´:¸qÀvÐ#NÑ#NÔ#NÑNÐNå” t¨Q°VÐ<Ñ<Ô<Ð<à�rŠzˆzå˜4‘y”y¥2¤?°4¸¸¸"¸´:¸qÀwÐ#OÑ#OÔ#OÑOÐOå” t¨Q°WÐ=Ñ=Ô=Ð=r(   rú  )r¸   r   r  r³   Úcomplex_domainr   r
   )r]  rø  rÞ  rþ  rû  s       @r)   Únp_digitizer     sx   ø€ õ �!•U”[Ñ!Ô!ð 2 a¤gµÔ1EÐ&EÐ&EÝÐ0Ñ1Ô1Ð1åð"ð "ñ Ôð"ðH>ð >ð >ð >ð >ð >ð. Ðr(   rT  c                 ó¨   ‡— t          |t          t          j        f¦  «        r+|d t          j        fv rt          d¦  «        Šdˆfd„	}n	dd„}ndd„}|S )NrA  rT  c                 ó´   •— ‰}‰ }t          j        | ¦  «        D ]&}|                     ¦   «         }||k    r|}||k     r|}Œ't          j        | |||f¦  «        S r.   )r¯   r-  r.  Ú	histogram)r  rø  rI   Úbin_minÚbin_maxr²   r1  rA  s          €r)   Úhistogram_implz$np_histogram.<locals>.histogram_implV  si   ø€ Ø�Ø˜$�ÝœI a™LœLð $ð $�DØŸ	š	™œ�AØ ’{�{Ø"#˜Ø ’{�{Ø"#˜øÝ”| A t¨g°wÐ-?Ñ@Ô@Ð@r(   c                 ó  — |dk    rt          d¦  «        ‚|\  }}||k    st          d¦  «        ‚t          j        |t          j        ¦  «        }||k    r”|||z
  z  }t          j        | ¦  «        D ]w}|                     ¦   «         }t          j        ||z
  |z  ¦  «        }	d|	cxk    r|k     r!n n|t          |	¦  «        xx         dz  cc<   Œ^||k    r||dz
  xx         dz  cc<   Œxt          j	        |||dz   ¦  «        }
||
fS )Nr   z0histogram(): `bins` should be a positive integerz;histogram(): max must be larger than min in range parameterrˆ   )
rÎ   r¯   r¥  r5   r-  r.  rC  rD  rÊ  Úlinspace)r  rø  rI   r  r  ÚhistÚ	bin_ratior²   r1  r.  Ú
bins_arrays              r)   r  z$np_histogram.<locals>.histogram_implb  s6  € Ø˜1’9�9Ý$ð &8ñ 9ô 9ð 9à#(Ñ �˜Ø 'Ò)Ð)Ý$ð &>ñ ?ô ?ð ?õ ”x ¥b¤gÑ.Ô.�Ø˜WÒ$Ð$Ø $¨°'Ñ(9Ñ :�IÝ "¤	¨!¡¤ð 0ð 0˜Ø ŸIšI™KœK˜Ý œJ¨¨G©°yÑ'@ÑAÔA˜Ø ˜=˜=š=˜= Dš=˜=˜=˜=˜=Ø ¥ Q¡¤˜L˜LœL¨AÑ-˜L˜L™L˜LØ 'š\˜\Ø  ¨¡˜N˜NœN¨aÑ/˜N˜N™Nøåœ[¨°'¸4À!¹8ÑDÔD�
Ø˜ZÐ'Ð'r(   c                 óþ  — t          |¦  «        dz
  }t          |¦  «        D ]&}||         ||dz            k    st          d¦  «        ‚Œ'|d         }||         }t          j        |t          j        ¦  «        }|dk    r}t          j        | ¦  «        D ]h}|                     ¦   «         }	||	cxk    r|k    sn Œ&d}
|dz
  }|
|k     r%|
|z   dz   dz	  }|	||         k     r|dz
  }n|}
|
|k     °%||
xx         dz  cc<   Œi||fS )Nrˆ   z-histogram(): bins must increase monotonicallyr   )rJ   Ú_rangerÎ   r¯   r¥  r5   r-  r.  )r  rø  rI   ÚnbinsrA   r  r  r	  r²   r1  ÚloÚhir!  s                r)   r  z$np_histogram.<locals>.histogram_impl|  sE  € Ý˜‘I”I ‘MˆEÝ˜E‘]”]ð 6ð 6�à˜A”w $ q¨1¡u¤+Ò-Ð-Ý$ð &5ñ 6ô 6ð 6ð .ð ˜1”gˆGØ˜5”kˆGÝ”8˜E¥2¤7Ñ+Ô+ˆDà�qŠyˆyÝœI a™LœLð "ð "�DØŸ	š	™œ�AØ" aÐ2Ð2Ò2Ð2¨7Ò2Ð2Ð2Ð2à à�BØ ™�BØ˜rš'˜'ð  " B™w¨™{¨qÑ0˜Ø˜t Cœyš=˜=Ø!$ q¡˜B˜Bà!$˜Bð ˜rš'˜'ð ˜�H�H”H ‘M�H�H‘H�Hà˜�:Ðr(   ©rT  N)r¸   rÊ  r   rÕ   rõ  r?  )r  rø  rI   r  rA  s       @r)   Únp_histogramr  M  sœ   ø€ å�$��eœmÐ,Ñ-Ô-ð Lð �T�5œ:Ð&Ð&Ð&Ý˜‘,”,ˆCð	Að 	Að 	Að 	Að 	Að 	Að 	Að(ð (ð (ð (ð (ð4	ð 	ð 	ð 	ðB Ðr(   )Úibetar¨  ÚmachepÚepsÚnegepÚepsnegÚiexpÚminexpÚxminÚmaxexpÚxmaxÚirndÚngrdÚepsilonÚtinyÚhugeÚ	precisionÚ
resolutionÚMachAr)r  r  r  r  r³  r  rš  r  r  ÚnexpÚnmantr"  r#  r   Úbitsræ  )rš  r³  r'  rá  c                  ó  ‡‡— t           dk    rd S d Št          j        d¬¦  «        5 Šd} t          j        d| t          d¬¦  «         t
          j        Šd d d ¦  «         n# 1 swxY w Y   t          ‰¦  «        ˆˆfd„¦   «         }d S )	N)rˆ   é   T)Úrecordz(`np.MachAr` is deprecated \(NumPy 1.22\)Úalwaysz.*numba.*arraymath)ÚmessageÚcategoryr  c                  óê   •‡‡—  ‰¦   «         Št          ˆfd„t          D ¦   «         ¦  «        Š‰r>‰d         } t          j        | j        j        d         t          | j        | j        ¦  «         ˆfd„}|S )Nc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS r'   r  ©r@   r]  rK  s     €r)   rB   z7_gen_np_machar.<locals>.MachAr_impl.<locals>.<listcomp>É  s!   ø€ ÐIÐIÐI°�w q¨!™}œ}ÐIÐIÐIr(   r   c                  ó   •— t          ‰ Ž S r.   )r$  )Ú_mach_ar_datas   €r)   rì  z1_gen_np_machar.<locals>.MachAr_impl.<locals>.implÒ  s   ø€ Ý˜=Ð)Ð)r(   )	r¢   Ú_mach_ar_supportedÚwarningsÚwarn_explicitr,  rÞ   r!   ÚfilenameÚlineno)Úwmsgrì  r2  rK  Ú	np_MachArÚws     @@€€r)   ÚMachAr_implz#_gen_np_machar.<locals>.MachAr_implÆ  s�   øøø€ àˆI‰KŒKˆÝÐIÐIÐIÐIÕ6HÐIÑIÔIÑJÔJˆàð 	0Ø�Q”4ˆDÝÔ" 4¤<Ô#4°QÔ#7Ý#:Ø#'¤=Ø#'¤;ñ0ô 0ð 0ð
	*ð 	*ð 	*ð 	*ð 	*àˆr(   )r   r4  Úcatch_warningsÚfilterwarningsÚDeprecationWarningr¯   r$  r   )r˜  r;  r9  r:  s     @@r)   Ú_gen_np_macharr?  ¹  sî   øø€ å˜ÒÐØˆà€AÝ	Ô	 ¨Ð	-Ñ	-Ô	-ð °Ø9ˆÝÔ °#Ý);Ø'<ð	>ñ 	>ô 	>ð 	>õ ”Iˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˆiÑÔðð ð ð ð ñ Ôðð ð s   §,AÁA#Á&A#c                 óä   ‡‡‡— t          | d| ¦  «        }t          |¦  «        }	  ||¦  «        Šn# t          $ r Y d S w xY wt          ˆfd„|D ¦   «         ¦  «        Št          ˆˆfd„¦   «         }|S )Nr³   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS r'   r  r0  s     €r)   rB   z'generate_xinfo_body.<locals>.<listcomp>â  s!   ø€ Ð.Ð.Ð. A•'˜!˜Q‘-”-Ð.Ð.Ð.r(   c                 ó   •—  ‰‰Ž S r.   r'   )r^  Ú	containerrx   s    €€r)   rì  z!generate_xinfo_body.<locals>.implä  s   ø€ àˆy˜$ÐÐr(   )r¡   r   rÎ   r¢   r
   )	r^  Únp_funcrC  ÚattrÚnbtyrã  rì  rx   rK  s	     `    @@r)   Úgenerate_xinfo_bodyrG  Ú  s«   øøø€ Ý�3˜ Ñ%Ô%€DÝ˜‰~Œ~€HðØˆG�HÑÔˆˆøÝð ð ð àˆtˆtðøøøõ Ð.Ð.Ð.Ð.¨Ð.Ñ.Ô.Ñ/Ô/€Dåð ð  ð  ð  ð  ñ Ôð à€Ks   ¥1 ±
?¾?c                 ó^   ‡— t          | t          j        t          t          ¦  «        Šˆfd„}|S )Nc                 ó   •—  ‰| ¦  «        S r.   r'   )r³   rƒ  s    €r)   rì  zol_np_finfo.<locals>.implî  s   ø€ Øˆr�%‰yŒyÐr(   )rG  r¯   ræ  Ú_finfo_supported)r³   rì  rƒ  s     @r)   Úol_np_finforK  ê  s7   ø€ å	˜U¥B¤H­eÕ5EÑ	FÔ	F€Bðð ð ð ð à€Kr(   c                 ó^   ‡— t          | t          j        t          t          ¦  «        Šˆfd„}|S )Nc                 ó   •—  ‰| ¦  «        S r.   r'   )Úint_typerƒ  s    €r)   rì  zol_np_iinfo.<locals>.impl÷  s   ø€ Øˆr�(‰|Œ|Ðr(   )rG  r¯   rá  Ú_iinfo_supported)rN  rì  rƒ  s     @r)   Úol_np_iinforP  ó  s7   ø€ å	˜X¥r¤xµÕ8HÑ	IÔ	I€Bðð ð ð ð à€Kr(   c                 ó  ‡— t           d„ ¦   «         }t          s|S t          j        t          j        z  }| |v o||v }|s|S t          | ¦  «        }t          |¦  «        }t          j        ||¦  «        Št           ˆfd„¦   «         }|S )Nc                 óp   — d}t          t          | ¦  «        ¦  «        D ]}|| |         ||         z  z   }Œ|S rW   ©rI   rJ   )r  r.  r•   rA   s       r)   Ú
_innerprodz#_get_inner_prod.<locals>._innerprod   s?   € àˆÝ•s˜1‘v”v‘”ð 	$ð 	$ˆAØ˜˜!œ˜q œt™Ñ#ˆCˆCØˆ
r(   c                 óz   •— t          j        |                      ‰¦  «        |                     ‰¦  «        ¦  «        S r.   )r¯   rv  r  )r  r.  rs  s     €r)   Ú	_dot_wrapz"_get_inner_prod.<locals>._dot_wrap  s)   ø€ å”6˜!Ÿ(š( 2™,œ,¨¯ª°©¬Ñ5Ô5Ð5r(   )r
   Ú
_HAVE_BLASr   Úreal_domainrÿ  r   r¯   r;  )	ÚdtaÚdtbrT  ÚfltyÚfloatsÚa_dtÚb_dtrV  rs  s	           @r)   Ú_get_inner_prodr_  ü  s±   ø€ õ ðð ñ Ôðõ ð ØÐåÔ�uÔ3Ñ3€DØ�Dˆ[Ð(˜S D˜[€FØð 
ØÐå˜‰}Œ}ˆÝ˜‰}Œ}ˆÝÔ˜d DÑ)Ô)ˆå	ð	6ð 	6ð 	6ð 	6ñ 
Ô	ð	6àÐr(   c                 óx   — t          | t          j        ¦  «        r| j        dk    st	          d|z  ¦  «        ‚d S d S )Nrˆ   z!%s() only supported on 1D arrays )r¸   r   r  r~   r   )r  r¸  s     r)   Ú
_assert_1dra    sG   € Ý�!•U”[Ñ!Ô!ð OØŒv˜Š{ˆ{ÝÐAÀIÑMÑNÔNÐNðOð OØˆ{r(   c                 ó   — d S r.   r'   )Úap1Úap2ÚmodeÚ	directions       r)   Ú_np_correlate_corerg     rö  r(   c                 óÄ   ‡‡— t          | j        ¦  «        }t          |j        ¦  «        }t          j        ||¦  «        Št	          | j        |j        ¦  «        Šˆˆfd„}|S )Nc                 óø  •— t          | ¦  «        }t          |¦  «        }||k     rt          d¦  «        ‚|}|}|dk    r||z
  dz   }d}d}	n<|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   }Œ0t	          ||z
  dz   ¦  «        D ]!} ‰| |||z   …         |¦  «        |
|<   ||z   }Œ"t	          |	¦  «        D ]/}||z
  dz
  } ‰| | d …         |d |…         ¦  «        |
|<   ||z   }Œ0|
S )Nz''len(ap1)' must greater than 'len(ap2)'rV  rˆ   r   r@  Úsamer  z1Invalid 'mode', valid are 'full', 'same', 'valid'rã  zInvalid direction)rJ   rÎ   r¯   r¥  rI   )rc  rd  re  rf  Ún1Ún2rI  r2  Ún_leftÚn_rightr
  r½   ÚincrA   r*  rs  Ú	innerprods                  €€r)   rì  z%_np_correlate_core_impl.<locals>.impl+  s  ø€ õ �‰XŒXˆÝ�‰XŒXˆà�Š7ˆ7õ ÐFÑGÔGÐGàˆØˆØ�7Š?ˆ?Ø˜a‘Z !‘^ˆFØˆFØˆGˆGØ�VŠ^ˆ^Ø˜!‘eˆGØ˜‘UˆFØ˜a‘Z !‘^ˆFˆFØ�VŠ^ˆ^Ø˜!‘VˆFØ˜&‘j 1‘nˆGˆGåð4ñô ð õ
 Œh�v˜rÑ"Ô"ˆà˜Š>ˆ>ØˆCØˆCˆCØ˜"Š_ˆ_Ø˜1‘*ˆCØˆCˆCåÐ0Ñ1Ô1Ð1å�v‘”ð 	ð 	ˆAØ�A‘˜‘ˆAØ �y  R a R¤¨#¨q¨b¨c¨c¬(Ñ3Ô3ˆC�‰HØ˜‘)ˆCˆCå�r˜B‘w ‘{Ñ#Ô#ð 	ð 	ˆAØ �y  Q¨¨R© Z¤°#Ñ6Ô6ˆC�‰HØ˜‘)ˆCˆCå�w‘”ð 	ð 	ˆAØ�A‘˜‘	ˆAØ �y  a R S S¤¨3¨r°¨r¬7Ñ3Ô3ˆC�‰HØ˜‘)ˆCˆCàˆ
r(   )r   r³   r¯   r;  r_  )	rc  rd  re  rf  r]  r^  rì  rs  rp  s	          @@r)   Ú_np_correlate_core_implrq  $  sm   øø€ å�C”IÑÔ€DÝ�C”IÑÔ€DÝ	Ô	˜$ Ñ	%Ô	%€BÝ ¤	¨3¬9Ñ5Ô5€Ið>ð >ð >ð >ð >ð >ð@ €Kr(   rV  c                 ó0  ‡‡— 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.   )r¯   r|  r\  s    r)   Úop_conjz_np_correlate.<locals>.op_conjs  s   € åŒw�q‰zŒzÐr(   c                 ó   — | S r.   r'   r\  s    r)   Úop_nopz_np_correlate.<locals>.op_nopw  s   € àˆr(   rV  c                 ó0  •— 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 emptyrã  rˆ   ©rJ   rÎ   rg  )r  r1  re  ÚlaÚlvÚa_opÚb_ops        €€r)   rì  z_np_correlate.<locals>.implŠ  sš   ø€ Ý�‰VŒVˆÝ�‰VŒVˆà�Š7ˆ7ÝÐ2Ñ3Ô3Ð3Ø�Š7ˆ7ÝÐ2Ñ3Ô3Ð3à�Š7ˆ7Ý% d d¨1¡g¤g¨t¨t°A©w¬w¸¸bÑAÔAÐAå% d d¨1¡g¤g¨t¨t°A©w¬w¸¸aÑ@Ô@Ð@r(   ©rV  )ra  r
   r³   r   rÿ  )r  r1  re  rt  rv  rì  r|  r}  s         @@r)   Ú_np_correlater  n  së   øø€ åˆq�.Ñ!Ô!Ð!Ýˆq�.Ñ!Ô!Ð!åðð ñ Ôðõ ðð ñ Ôðð 	„w•%Ô&Ð&Ð&ØŒ7•eÔ*Ð*Ð*ØˆDØˆDˆDàˆDØˆDˆDàŒ7•eÔ*Ð*Ð*ØˆDØˆDˆDàˆDØˆDðAð Að Að Að Að Að Að €Kr(   r@  c                 óN   — t          | d¦  «         t          |d¦  «         dd„}|S )Nznp.convolver@  c                 ó
  — 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 rx  ry  )r  r1  re  rz  r{  s        r)   rì  znp_convolve.<locals>.impl   s�   € Ý�‰VŒVˆÝ�‰VŒVˆà�Š7ˆ7ÝÐ2Ñ3Ô3Ð3Ø�Š7ˆ7ÝÐ2Ñ3Ô3Ð3à�Š7ˆ7Ý% a¨¨4¨4¨R¨4¬°$¸Ñ:Ô:Ð:å% a¨¨4¨4¨R¨4¬°$¸Ñ:Ô:Ð:r(   ©r@  )ra  )r  r1  re  rì  s       r)   Únp_convolverƒ  ›  s=   € åˆq�-Ñ Ô Ð Ýˆq�-Ñ Ô Ð ð;ð ;ð ;ð ;ð €Kr(   c                 ó@  ‡‡‡— t          | ¦  «        sd S t          | t          j        ¦  «        r+t	          |¦  «        s| j        |j        k    rd	d„}�nJd	d„}�nDt          | t          j        t          j        f¦  «        rt	          |¦  «        rd	d„}�n	d	d„}�nt          | t          j        t          j	        f¦  «        r)t	          |¦  «        r| n|}t          |¦  «        Šd	ˆfd„	}n´t          | t          j        j        ¦  «        rYt          | j        t          j        t          j	        f¦  «        st          d¦  «        ‚t	          |¦  «        r| j        n|Šd	ˆfd„	}n<t          | t          j        ¦  «        r t          j        | j        ¦  «        Šd	ˆfd„	}nd }|S )
Nc                 ó   — | S r.   r'   ©r  r³   s     r)   rì  znp_asarray.<locals>.impl»  s   € Ø�r(   c                 ó,   — |                       |¦  «        S r.   r  r†  s     r)   rì  znp_asarray.<locals>.impl¾  s   € Ø—x’x ‘”Ð&r(   c                 ó*   — t          j        | ¦  «        S r.   rò  r†  s     r)   rì  znp_asarray.<locals>.implÅ  s   € Ý”x ‘{”{Ð"r(   c                 ó,   — t          j        | |¦  «        S r.   rò  r†  s     r)   rì  znp_asarray.<locals>.implÈ  s   € Ý”x  5Ñ)Ô)Ð)r(   c                 ó.   •— t          j        | ‰¦  «        S r.   rò  )r  r³   r‘  s     €r)   rì  znp_asarray.<locals>.implÎ  s   ø€ Ý”8˜A˜r‘?”?Ð"r(   z?asarray support for List is limited to Boolean and Number typesc                 ó†   •— t          | ¦  «        }t          j        |‰¬¦  «        }t          | ¦  «        D ]
\  }}|||<   Œ|S rª  )rJ   r¯   rS  rT  )r  r³   rû  r
  rA   r1  Útarget_dtypes         €r)   rì  znp_asarray.<locals>.implØ  sK   ø€ Ý�A‘”ˆAÝ”(˜1 LÐ1Ñ1Ô1ˆCÝ! !™œð ð ‘��1Ø��A‘�ØˆJr(   c                 ó,   •— ‰                      ¦   «         S r.   )r  )r  r³   rR  s     €r)   rì  znp_asarray.<locals>.implá  s   ø€ Ø—8’8‘:”:Ðr(   r.   )r   r¸   r   r  r   r³   r—  r&  r'  ré   r   Ú
containersÚListTyper   ÚStringLiteralr¯   r3  rê  )r  r³   rì  Údt_convrR  rŒ  r‘  s       @@@r)   Ú
np_asarrayr’  ±  s   øøø€ õ
 ˜AÑÔð Øˆtå�!•U”[Ñ!Ô!ð +Ý�uÑÔð 	' ¤¨E¬KÒ!7Ð!7ðð ð ð ñ ð'ð 'ð 'ð 'ñ 'å	�A�œ­¬Ð4Ñ	5Ô	5ð $õ �uÑÔð 	*ð#ð #ð #ð #ñ #ð*ð *ð *ð *ñ *å	�A�œ¥e¤mÐ4Ñ	5Ô	5ð Ý" 5Ñ)Ô)Ð4�!�!¨uˆÝ�gÑÔˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#å	�A•uÔ'Ô0Ñ	1Ô	1ð Ý˜!œ'¥E¤Lµ%´-Ð#@ÑAÔAð 	/Ýð.ñ/ô /ð /õ #.¨eÑ"4Ô"4Ð?�q”w�w¸%ˆð	ð 	ð 	ð 	ð 	ð 	ð 	õ 
�A•uÔ*Ñ	+Ô	+ð ÝŒj˜œÑ)Ô)ˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð ˆà€Kr(   c                 óØ   ‡— t          |t          j        ¦  «        rt          |¦  «        }t	          j        |t          j        ¦  «        st          j        Šn|Št          j        fˆfd„	}|S )Nc                 ó.   •— t          j        | ‰¦  «        S r.   r  )r  r³   r  s     €r)   rì  znp_asfarray.<locals>.implô  s   ø€ Ý”:˜a Ñ$Ô$Ð$r(   )r¸   r   ÚTyper   r¯   rq  râ  rb  )r  r³   rì  r  s      @r)   Únp_asfarrayr–  ê  sp   ø€ õ �e�UœZÑ(Ô(ð 	$Ý˜U‘O”OˆEÝŒ}˜U¥B¤JÑ/Ô/ð 	Ý”ˆBˆBàˆBåœ*ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%àˆr(   c                 ó   — d„ }|S )Nc                 óÆ  ‡‡— t          j        | ¦  «                             ¦   «         Št          j        |¦  «        Š‰j        dk    rt	          d¦  «        ‚t          j        ‰‰j        d …         ¦  «        r!‰j        ‰j        k    rd}t	          |¦  «        ‚t          ‰j        ‰j        ¦  «        }ˆˆfd„t          |¦  «        D ¦   «         }t          j        |¦  «        S )Nr   z"Cannot extract from an empty arrayz+condition shape inconsistent with arr shapec                 ó:   •— g | ]}‰|         ¯
‰j         |         ‘ŒS r'   rl  )r@   r½   r  rF  s     €€r)   rB   z7np_extract.<locals>.np_extract_impl.<locals>.<listcomp>  s(   ø€ ÐBÐBÐB˜s¸¸S¼	ÐBˆqŒv�cŒ{ÐBÐBÐBr(   )	r¯   r3  r8  rD   rÎ   rC  rš  rI   r  )rA  rR  r˜  Úmax_lenrV  r  rF  s        @@r)   Únp_extract_implz#np_extract.<locals>.np_extract_implü  sÈ   øø€ ÝŒz˜)Ñ$Ô$×,Ò,Ñ.Ô.ˆÝŒJ�s‰OŒOˆàŒ6�QŠ;ˆ;ÝÐAÑBÔBÐBõ Œ6�$�q”v�w�w”-Ñ Ô ð 	" T¤Y°´Ò%7Ð%7Ø?ˆCÝ˜S‘/”/Ð!õ �a”f˜dœiÑ(Ô(ˆØBÐBÐBÐBÐB¥e¨G¡n¤nÐBÑBÔBˆåŒx˜‰}Œ}Ðr(   r'   )rA  rR  r›  s      r)   Ú
np_extractrœ  ù  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        ¦  «        r4t          | d         j	        t          j        ¦  «        st	          d¦  «        ‚t          | d         t          j        ¦  «        rUt          | d         t          j        ¦  «        r&t          | d         d         t          j        ¦  «        st	          d	¦  «        ‚t          | d         t          j        ¦  «        r+| d         j
        |d         j
        k    rt	          d
¦  «        ‚t          | d         t          j        ¦  «        r | d         j
        dk     rt	          d¦  «        ‚|S )Nr   c                 óT  — t          | ¦  «        t          |¦  «        k    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ˆ   rã  )rJ   rÎ   r¯   r€  rC   r³   rI   r³  )ÚcondlistÚ
choicelistÚdefaultrV  rA   rF  Úchoices          r)   Únp_select_arr_implz%np_select.<locals>.np_select_arr_impl  s¦   € Ýˆx‰=Œ=�C 
™OœOÒ+Ð+Ýð -ñ .ô .ð .à�œ 
¨1¤Ô 3°ZÀ´]Ô5HÑIÔIÑIˆå•s˜8‘}”} qÑ(¨"¨bÑ1Ô1ð 	.ð 	.ˆAØ˜A”;ˆDØ ”]ˆFÝ”(˜4 ¨Ñ-Ô-ˆCˆ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Ä  )r¸   r   ÚListr‰   r    rÊ  r'  ré   r  r³   r~   )rŸ  r   r¡  r£  s       r)   Ú	np_selectr¥    s  € ð
ð 
ð 
ð 
õ �h¥¤­U¬^Ð <Ñ=Ô=ð CÝÐAÑBÔBÐBÝ�j¥5¤:­u¬~Ð">Ñ?Ô?ð EÝÐCÑDÔDÐDÝ�g¥¥U¤\µ5´=ÐAÑBÔBð MÝÐKÑLÔLÐLõ �h˜q”k¥5¤;Ñ/Ô/ð AÝÐ?Ñ@Ô@Ð@Ý�j ”m¥U¤[Ñ1Ô1ð CÝÐAÑBÔBÐBõ �(˜1”+�uœ{Ñ+Ô+ð JÝ˜( 1œ+Ô+­U¬]Ñ;Ô;ð 	JÝ Ð!HÑIÔIÐIÝ�(˜1”+�uœ~Ñ.Ô.ð OÝ˜8 Aœ;­¬Ñ7Ô7ð 	OÝ˜x¨œ{¨1œ~­u¬}Ñ=Ô=ð	Oå Ð!MÑNÔNÐNå�8˜A”;¥¤Ñ,Ô,ð :Ø�QŒKÔ 
¨1¤Ô 2Ò2Ð2Ýð 9ñ :ô :ð 	:å�(˜1”+�uœ{Ñ+Ô+ð P°¸´Ô0@À1Ò0DÐ0DÝÐNÑOÔOÐOàÐr(   c                 óð   — t          | ¦  «        rt          |¦  «        st          d¦  «        ‚d| j        j        v sd|j        j        v r)| j        j        |j        j        k    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.   )r¯   rå  r3  r  r†  )r¯  r°  r  r.  s       r)   Ú
union_implznp_union1d.<locals>.union_implN  sN   € ÝŒH•R”Z ‘_”_Ñ%Ô%ˆÝŒH•R”Z ‘_”_Ñ%Ô%ˆÝŒy�œ¨¨A¨Ñ/Ô/Ñ0Ô0Ð0r(   )r   r   r³   rø  )r¯  r°  r©  s      r)   Ú
np_union1drª  F  s‰   € å˜CÑ Ô ð LÕ(8¸Ñ(=Ô(=ð LÝÐJÑKÔKÐKØ	�S”Y”^Ð	#Ð	# x°3´9´>Ð'AÐ'AØ
„y„~˜œœÒ'Ð'ÝÐKÑLÔLÐLð1ð 1ð 1ð
 Ðr(   c                 ó"  ‡— d}t          | t          j        t          j        t          j        f¦  «        st          |¦  «        ‚t          |¦  «        r| j        Šn.	 t          |¦  «        Šn# t          $ r t          d¦  «        ‚w xY wdˆfd„	}|S )Nz7The argument to np.asarray_chkfinite must be array-likez!dtype must be a valid Numpy dtypec                 ó¨   •— t          j        | ‰¬¦  «        } t          j        | ¦  «        D ]%}t          j        |¦  «        st	          d¦  «        ‚Œ&| S )Nr«  z#array must not contain infs or NaNs)r¯   r3  r-  r‹  rÎ   )r  r³   rA   rs  s      €r)   rì  z"np_asarray_chkfinite.<locals>.imple  s[   ø€ ÝŒJ�q Ð#Ñ#Ô#ˆÝ”˜1‘”ð 	Hð 	HˆAÝ”;˜q‘>”>ð HÝ Ð!FÑGÔGÐGðHàˆr(   r.   )
r¸   r   r  r—  r&  r   r   r³   r   r   )r  r³   r˜  rì  rs  s       @r)   Únp_asarray_chkfiniter­  V  s¸   ø€ ð D€CÝ�a�%œ+¥u¤~µu´{ÐCÑDÔDð Ý˜#ÑÔÐå�5ÑÔð CØŒWˆˆð	CÝ˜%‘”ˆBˆBøÝ'ð 	Cð 	Cð 	CÝÐAÑBÔBÐBð	Cøøøðð ð ð ð ð ð €Ks   ÁA, Á,Brã  ç-DTû!@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
        ¦  «        r5t          j        t          | j        ¦  «        t          |¦  «        ¦  «        Šn1t          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ˆ   rã  r®  c                 óÔ  •— |dk    rd}t          |¦  «        ‚t          j        | ¦  «                             ‰¦  «        }|j        }|d         }|                     |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k    z  |	|¦  «        }||z
  }t          j        t          j        d„ |D ¦   «         ¦  «        |k     d|¦  «        }t          j        t          j        d„ |D ¦   «         ¦  «        |k     d|¦  «        }t          j        ||j        ¦  «        }t          j        |¦  «        }|‰         |                     ¦   «         z   |‰<   |||<   �Œ#|                     |¦  «        S )Nrã  z*Value for argument "axis" is not supportedr  r   Tc                 ó,   — g | ]}t          |¦  «        ‘ŒS r'   ©r  r¢  s     r)   rB   z.numpy_unwrap.<locals>.impl.<locals>.<listcomp>¨  s   € Ð+?Ð+?Ð+?°q­C°©F¬FÐ+?Ð+?Ð+?r(   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r'   r²  r¢  s     r)   rB   z.numpy_unwrap.<locals>.impl.<locals>.<listcomp>ª  s   € Ð)=Ð)=Ð)=°Q­#¨a©&¬&Ð)=Ð)=Ð)=r(   )rÎ   r¯   r3  r  rC   rI  rD   ÚdivmodrI   rÿ  Úmodr³  r  r  rF  )ÚpÚdiscontr¼   Úperiodr˜  Úp_initÚ
init_shapeÚ	last_axisÚp_newÚinterval_highÚremÚboundary_ambiguousÚinterval_lowrA   ÚrowÚddÚddmodÚ
ph_correctÚph_ravelÚupr³   Úinteger_inputÚslice1s                       €€€r)   rì  znumpy_unwrap.<locals>.implŠ  s  ø€ Ø�2Š:ˆ:Ø>ˆCÝ˜S‘/”/Ð!å”˜A‘”×%Ò% eÑ,Ô,ˆØ”\ˆ
Ø˜r”Nˆ	Ø—’ ¤¨yÑ 8¸)ÐDÑEÔEˆàˆ?Ø˜q‘jˆGØð 	&Ý!'¨°Ñ!2Ô!2ÑˆM˜3Ø!$¨¢ÐÐà" Q™JˆMØ!%ÐØ%�~ˆõ �v”{ iÑ/Ñ0Ô0ð 	ñ 	ˆAØ˜”(ˆCÝ”˜‘”ˆBÝ”F˜2 Ñ,¨fÑ5Ô5¸ÑDˆEØ!ð 7Ýœ %¨<Ò"7¸BÀºFÑ!CØ!.°ñ7ô 7�à ™ˆJåœ¥"¤(Ð+?Ð+?¸BÐ+?Ñ+?Ô+?Ñ"@Ô"@À7Ò"JÈAØ",ñ.ô .ˆJå”x¥¤Ð)=Ð)=¸"Ð)=Ñ)=Ô)=Ñ >Ô >ÀÒ HÈ!Ø *ñ,ô ,ˆHåœ H¨jÔ.>Ñ?Ô?ˆJÝ”˜‘”ˆBØ˜Vœ z×'8Ò'8Ñ':Ô':Ñ:ˆBˆv‰JØˆE�!‰H‰Hà�}Š}˜ZÑ(Ô(Ð(r(   ©Nrã  r®  )r¸   rÊ  r   rÕ   r   r   rn  r   r   r?  r'  r!  r¯   rn  r   r³   rb  rq  Úinteger)	r¶  r·  r¼   r¸  r˜  rì  r³   rÇ  rÈ  s	         @@@r)   Únumpy_unwraprË  o  sn  øøø€ å�d�S¥%¤-Ð0Ñ1Ô1ð Ø6ˆÝ˜#ÑÔÐå˜AÑÔð Ø3ˆÝ˜#ÑÔÐå�w¥¤µ´Ð <Ñ=Ô=ð ÝÔ'¨Ñ0Ô0ðà7ˆÝ˜#ÑÔÐå�f�u¥e¤lÐ3Ñ4Ô4ð Ø6ˆÝ˜#ÑÔÐå�A�t˜TÑ"Ô"Ð$€FÝ�&�%œ,Ñ'Ô'ð >Ý”�x¨¬Ñ0Ô0µ(¸6Ñ2BÔ2BÑCÔCˆˆå”�x¨¬Ñ0Ô0µ"´*Ñ=Ô=ˆå”M %­¬Ñ4Ô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 )Nr  r  r   rˆ   )r¯   r…  r³  Ú
less_equal©r¢  r2  s     r)   Únp_bartlett_implrÏ  ¾  sQ   € å
Œ	�"�q‘&˜!˜QÑÔ€AÝŒ8•B”M ! QÑ'Ô'¨¨Q°!°a±%©[©¸!¸aÀ1ÀqÁ5¹k¹/ÑJÔ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 )Nr  r  gáz®GáÚ?r…  rˆ   g{®Gáz´?r   ©r¯   r…  Úcosr  rÎ  s     r)   Únp_blackman_implrÓ  Ä  sn   € å
Œ	�"�q‘&˜!˜QÑÔ€AØ�3�œ¥¤¨¡	¨Q°©UÑ 3Ñ4Ô4Ñ4Ñ4Ø•2”6˜#¥¤™+¨™/¨Q°©UÑ3Ñ4Ô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Ñ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×  Ñ  sB   € å
Œ	�!�a‘%˜˜AÑÔ€AØ�•r”v�bœe a™i¨1¨q©5Ñ1Ñ2Ô2Ñ2Ñ2Ð2r(   c                 ó   ‡ — ˆ fd„}|S )Nc                 ód   •— 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«  )r¯   r  rb  r€  )r¢  Úfuncs    €r)   Úwindow_implz>window_generator.<locals>.window_overload.<locals>.window_implÜ  sP   ø€ à�1ŠuˆuÝ”x ­"¬*Ð5Ñ5Ô5Ð5Ø�AŠvˆvÝ”w˜q­¬
Ð3Ñ3Ô3Ð3Ø�4˜‘7”7ˆNr(   )r¸   r   rÕ   r   )r¢  rÝ  rÜ  s     €r)   Úwindow_overloadz)window_generator.<locals>.window_overloadØ  sG   ø€ Ý˜!�Uœ]Ñ+Ô+ð 	6ÝÐ4Ñ5Ô5Ð5ð	ð 	ð 	ð 	ð 	ð Ðr(   r'   )rÜ  rÞ  s   ` r)   Úwindow_generatorrß  ×  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                 ó�   — |d         }d}t          dt          |¦  «        ¦  «        D ]}|}|}| |z  |z
  ||         z   }Œd||z
  z  S )Nr   r`  rˆ   r…  rS  )r]  r‘  Úb0Úb1rA   Úb2s         r)   Ú_chbevlrä  ,  s_   € à	ˆaŒ€BØ	€Bå�1•c˜$‘i”iÑ Ô ð #ð #ˆØˆØˆØ�‰V�b‰[˜4 œ7Ñ"ˆˆà�"�r‘'‰?Ðr(   c                 ó  — | dk     r|  } | dk    r2d| 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…  r   g      @@)r¯   Úexprä  Ú_i0AÚ_i0Br¿  rê  s     r)   Ú_i0ré  9  sw   € àˆ1‚u€uØˆBˆØˆC‚x€xØ�1‰W˜‰OˆÝŒv�a‰yŒy�7 1¥dÑ+Ô+Ñ+Ð+åŒ6�!‰9Œ9•w˜t a™x¨#™~­tÑ4Ô4Ñ4µr´w¸q±z´zÑAÐAr(   c           	      ó>  — t          j        | t           j        ¬¦  «        }t          t          j        |¦  «        ¦  «        }t	          t          |¦  «        ¦  «        D ]>}t          |t          j        d| |         |z
  |z  dz  z
  ¦  «        z  ¦  «        |z  ||<   Œ?|S )Nr«  rˆ   r   )r¯   r}  rb  ré  rI   rJ   r¿  )r2  ÚalphaÚbetarŸ  ÚtrA   s         r)   Ú_i0nrî  D  s�   € å
Œ�a�rœzÐ*Ñ*Ô*€AÝ�BŒJ�tÑÔÑÔ€AÝ•3�q‘6”6‰]Œ]ð Jð JˆÝ�4�"œ' !¨¨!¬¨u©¸Ñ'=ÀÑ&CÑ"CÑDÔDÑDÑEÔEÈÑIˆˆ!‰ˆà€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   r   )r¯   r  rb  r€  r…  rî  )r¢  rì  r2  rë  s       r)   Únp_kaiser_implz!np_kaiser.<locals>.np_kaiser_implV  sp   € ØˆqŠ5ˆ5Ý”8˜B¥b¤jÐ1Ñ1Ô1Ð1Ø�Š6ˆ6Ý”7˜1¥B¤JÐ/Ñ/Ô/Ð/åŒI�a˜‰OŒOˆØ�Q‘˜#‘ˆå�A�u˜dÑ#Ô#Ð#r(   )r¸   r   rÕ   r   rn  )r¢  rì  rñ  s      r)   Ú	np_kaiserrò  N  sf   € å�a�œÑ'Ô'ð 2ÝÐ0Ñ1Ô1Ð1å�d�Uœ]­E¬KÐ8Ñ9Ô9ð >ÝÐ<Ñ=Ô=Ð=ð	$ð 	$ð 	$ð Ðr(   c                 óh  — d„ } || ¦  «        \  }}} ||¦  «        \  }}}	t          j        ||	¦  «        t          j        ||¦  «        z
  }
t          j        ||¦  «        t          j        ||	¦  «        z
  }t          j        ||¦  «        t          j        ||¦  «        z
  }|
|d<   ||d<   ||d<   d S )Nc                 óº   — | d         }| d         }| j         d         dk    r	| d         }n-t          j        | j                             d¦  «        |¦  «        }|||fS )N©.r   ©.rˆ   rã  r�  ©.r  r   )rC   r¯   rU  r³   ry   )r]  Úx0rR  Úx2s       r)   Ú_cross_preprocessingz._cross_operation.<locals>._cross_preprocessingg  sY   € ØˆvŒYˆØˆvŒYˆØŒ7�2Œ;˜!ÒÐØ�6”ˆBˆBå”˜QœWŸ\š\¨!™_œ_¨bÑ1Ô1ˆBØ�2�rˆzÐr(   rõ  rö  r÷  )r¯   rU  )r  r.  rV  rú  Úa0r¨  rŸ  rá  râ  rã  Úcp0Úcp1Úcp2s                r)   Ú_cross_operationrÿ  d  sÄ   € ðð ð ð &Ð% aÑ(Ô(�J€BˆˆBØ%Ð% aÑ(Ô(�J€BˆˆBå
Œ+�b˜"Ñ
Ô
¥¤¨B°Ñ 3Ô 3Ñ
3€CÝ
Œ+�b˜"Ñ
Ô
¥¤¨B°Ñ 3Ô 3Ñ
3€CÝ
Œ+�b˜"Ñ
Ô
¥¤¨B°Ñ 3Ô 3Ñ
3€Cà€Cˆ�KØ€Cˆ�KØ€Cˆ�K€K€Kr(   c                 ó   — d S r.   r'   r�  s     r)   Ú_crossr  |  rö  r(   c                 ó¼   ‡— t          j        t          | j        ¦  «        t          |j        ¦  «        ¦  «        Š| j        dk    r|j        dk    rˆfd„}nˆfd„}|S )Nrˆ   c                 óT   •— t          j        d‰¦  «        }t          | ||¦  «         |S )N©r�  )r¯   rS  rÿ  )r  r.  Úcpr³   s      €r)   rì  z_cross_impl.<locals>.impl„  s+   ø€ Ý”˜$ Ñ&Ô&ˆBÝ˜Q  2Ñ&Ô&Ð&ØˆIr(   c                 ó¦   •— t          j        | d         |d         ¦  «        j        }t          j        |dz   ‰¦  «        }t	          | ||¦  «         |S )Nrõ  r  )r¯   r�   rC   rS  rÿ  )r  r.  rC   r  r³   s       €r)   rì  z_cross_impl.<locals>.impl‰  sK   ø€ Ý”F˜1˜Vœ9 a¨¤iÑ0Ô0Ô6ˆEÝ”˜% $™,¨Ñ.Ô.ˆBÝ˜Q  2Ñ&Ô&Ð&ØˆIr(   )r¯   r;  r   r³   r~   )r  r.  rì  r³   s      @r)   Ú_cross_implr  €  s|   ø€ åÔ�X a¤gÑ.Ô.µ¸¼Ñ0AÔ0AÑBÔB€EØ„v�‚{€{�q”v ’{�{ð	ð 	ð 	ð 	ð 	ð 	ð
	ð 	ð 	ð 	ð 	ð
 €Kr(   c                 óf   — 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¦  «        ‚t          dk    rN|j        d         dk    s|j        d         dk    r,t          d|j        d         › d|j        d         › d�¦  «        ‚|j        d         d	k    s|j        d         d	k    rt          ||¦  «        S t          d
¦  «        ‚)Nrã  r�  zDIncompatible dimensions for cross product
(dimension must be 2 or 3)©r  é   r  zJBoth input arrays must be (arrays of) 3-dimensional vectors, but they are z and z dimensional instead.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`.)r¯   r3  rC   rÎ   r   r  ©r  r.  r®  r¯  s       r)   rì  znp_cross.<locals>.impl–  s  € ÝŒZ˜‰]Œ]ˆÝŒZ˜‰]Œ]ˆØŒ8�BŒ<˜vÐ%Ð%¨¬°"¬¸VÐ)CÐ)CÝð-ñô ð õ
 ˜FÒ"Ð"ØŒx˜Œ|˜qÒ Ð  B¤H¨R¤L°AÒ$5Ð$5Ý ð;Ø.0¬h°r¬lð;ð ;à”x ”|ð;ð ;ð ;ñ<ô <ð <ð Œ8�BŒ<˜1ÒÐ ¤¨¤°Ò 1Ð 1Ý˜"˜b‘>”>Ð!åðHñô ð r(   ©r   r   ©r  r.  rì  s      r)   Únp_crossr  ‘  sG   € å˜AÑÔð 8Õ&6°qÑ&9Ô&9ð 8ÝÐ6Ñ7Ô7Ð7ðð ð ð. €Kr(   r  c                 ó¾   — d„ } || ¦  «        \  }} ||¦  «        \  }}t          j        ||¦  «        t          j        ||¦  «        z
  }t          j        |¦  «        S )Nc                 ó*   — | d         }| d         }||fS )Nrõ  rö  r'   )r]  rø  rR  s      r)   rú  z0_cross2d_operation.<locals>._cross_preprocessing´  s   € Ø�6”ˆBØ�6”ˆBØ�r�6ˆMr(   )r¯   rU  r3  )r  r.  rú  rû  r¨  rá  râ  r  s           r)   Ú_cross2d_operationr  ±  sm   € ð	ð 	ð 	ð
 &Ð% aÑ(Ô(‰ˆˆBØ%Ð% aÑ(Ô(‰ˆˆBåŒ[˜˜RÑ Ô ¥2¤;¨r°2Ñ#6Ô#6Ñ6ˆõ Œz˜"‰~Œ~Ðr(   c                 ó   — d S r.   r'   r�  s     r)   Úcross2dr  Ä  s   € Øˆr(   c                 óf   — t          | ¦  «        rt          |¦  «        st          d¦  «        ‚d„ }|S )Nr	  c                 óÔ   — t          j        | ¦  «        }t          j        |¦  «        }|j        d         dk    s|j        d         dk    rt          d¦  «        ‚t	          ||¦  «        S )Nrã  r  zRIncompatible dimensions for 2D cross product
(dimension must be 2 for both inputs))r¯   r3  rC   rÎ   r  r  s       r)   rì  zcross2d_impl.<locals>.implÌ  sf   € Ý”˜A‘”ˆBÝ”˜A‘”ˆBØŒx˜Œ|˜qÒ Ð  B¤H¨R¤L°AÒ$5Ð$5Ý ð<ñô ð õ & b¨"Ñ-Ô-Ð-r(   r  r  s      r)   Úcross2d_implr  Ç  sG   € å Ñ"Ô"ð 	<Õ*:¸1Ñ*=Ô*=ð 	<ÝÐ:Ñ;Ô;Ð;ð	.ð 	.ð 	.ð ˆr(   Úfbc                 ó  ‡— t          | t          j        ¦  «        st          d¦  «        ‚| j        dk    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  r  c                 ó  •— t          j        | ¦  «        }d}|                     ¦   «         }d|v r|D ]}|dk    s‰r|dk    r|dz   }Œ t          | ¦  «        }d|v r"|d d d…         D ]}|dk    s‰r|dk    r|dz
  }Œ |||…         S )Nr   rK  Ú rˆ   r.  rã  )r¯   r3  rL  rJ   )ÚfiltÚtrimr®  ÚfirstrA   ÚlastÚtrim_escapess         €r)   rì  znp_trim_zeros.<locals>.implæ  s½   ø€ ÝŒZ˜ÑÔˆØˆØ�zŠz‰|Œ|ˆØ�$ˆ;ˆ;Øð ð �Ø˜’6�6˜l�6¨q°Bªw¨wØ! A™I�E�EàÝ�4‰yŒyˆØ�$ˆ;ˆ;Ø˜˜˜"˜”Xð ð �Ø˜’6�6˜l�6¨q°Bªw¨wØ !™8�D�DàØ�%˜�*Œ~Ðr(   ©r  )r¸   r   r  r    r~   ÚstrÚUnicodeTyper   )r  r  rì  r!  s      @r)   Únp_trim_zerosr%  Ù  sš   ø€ å�d�EœKÑ(Ô(ð DÝÐBÑCÔCÐCà„y�1‚}€}ÝÐ/Ñ0Ô0Ð0å�d�S¥%Ô"3Ð4Ñ5Ô5ð EÝÐCÑDÔ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 booleanFc                 ó(  — t          j        | ¦  «        }t          j        |¦  «        }|s)t          j        |¦  «        }t          j        |¦  «        }n(|                     ¦   «         }|                     ¦   «         }t          j        ||f¦  «        }|                     ¦   «          t          j        |j        d         dz   t           j        ¬¦  «        }d|d<   d|d<   |dd …         |d d…         k    |dd…<   ||dd …         |d d…         z           S )Nr   rˆ   r«  Trã  )	r¯   r3  r  rå  r†  r®  rS  rC   rÔ   )r¯  r°  r±  r  r.  r²  Úflags          r)   Únp_setxor1d_implz)jit_np_setxor1d.<locals>.np_setxor1d_impl  sñ   € ÝŒJ�s‰OŒOˆÝŒJ�s‰OŒOˆàð 	Ý”	˜!‘”ˆAÝ”	˜!‘”ˆAˆAà—’‘	”	ˆAØ—’‘	”	ˆAõ Œn˜a ˜VÑ$Ô$ˆØ�Š‰
Œ
ˆ
åŒx˜œ	 !œ qÑ(µ´Ð9Ñ9Ô9ˆØˆˆQ‰ØˆˆR‰Ø˜˜˜”W  C R C¤Ò(ˆˆQˆrˆT‰
Ø�4˜˜˜”8˜d 3 B 3œiÑ'Ô(Ð(r(   rú  rµ  )r¯  r°  r±  r)  s       r)   Újit_np_setxor1dr*  ü  sx   € å˜SÑ!Ô!ð IÕ%5°cÑ%:Ô%:ð IÝÐGÑHÔHÐHÝ�}¥u¤}µdÐ&;Ñ<Ô<ð PÝÐNÑOÔOÐOð)ð )ð )ð )ð, Ðr(   c                 ó&  — t          j        | ¦  «                             ¦   «         } t          j        |¦  «                             ¦   «         }t          |¦  «        dt          | ¦  «        dz  z  k     r{|r<t          j        t          | ¦  «        t           j        ¬¦  «        }|D ]}|| |k    z  }Œn;t          j        t          | ¦  «        t           j        ¬¦  «        }|D ]}|| |k    z  }Œ|S |sÀt          j        | ¦  «        }| |         }t          j        |j	        t           j        ¬¦  «        }d|d d…<   |dd …         |d d…         k    |dd …<   ||         } t          j
        |¦  «        dz
  }t          j        |j	        t           j        ¬¦  «        }	||	|<   t          j        |¦  «        }t          j        | |f¦  «        }
|
                     d¬¦  «        }|
|         }t          j        |j        t           j        ¦  «        }|r|dd …         |d d…         k    |d d…<   n|dd …         |d d…         k    |d d…<   ||dd …<   t          j        |
j	        t           j        ¬¦  «        }|||<   |r|d t          | ¦  «        …         S ||	         S )	NrT  g�Âõ(\�Â?r«  Trˆ   rã  r•  r–  )r¯   r3  rå  rJ   r€  rÔ   r¥  r˜  rS  rC   rF  r5   r  r†  rD   )r¯  r°  r±  Úinvertr�   r  Úorder1r²  ÚimaskÚinv_idxÚarrš  Úsarr(  r
  s                  r)   Ú
_in1d_implr2    s  € õ
 Œ*�S‰/Œ/×
Ò
Ñ
!Ô
!€CÝ
Œ*�S‰/Œ/×
Ò
Ñ
!Ô
!€Cõ
 ˆ3�x„x�"•s˜3‘x”x 5Ñ(Ñ(Ò(Ð(Øð 	#Ý”7�3˜s™8œ8­2¬8Ð4Ñ4Ô4ˆDØð #ð #�Ø˜ šÑ"��ð#õ ”8�C ™HœH­B¬HÐ5Ñ5Ô5ˆDØð #ð #�Ø˜ šÑ"��Øˆð ð õ ”˜C‘”ˆØ�&ŒkˆÝŒx˜œ	­¬Ð2Ñ2Ô2ˆØˆˆRˆaˆR‰Ø�q�r�r”7˜c # 2 #œhÒ&ˆˆQˆRˆR‰Ø�$ŒiˆÝ”	˜$‘” !Ñ#ˆÝ”(˜4œ:­R¬WÐ5Ñ5Ô5ˆØˆ�‰ÝŒi˜‰nŒnˆå	Œ˜˜c˜
Ñ	#Ô	#€Bð �JŠJ˜KˆJÑ(Ô(€EØ
ˆUŒ)€CÝŒ8�C”H�bœhÑ'Ô'€DØð *Ø˜˜˜”W  C R C¤Ò(ˆˆSˆbˆS‰	ˆ	à˜˜˜”W  C R C¤Ò(ˆˆSˆbˆS‰	Ø€Dˆˆˆ�IÝ
Œ(�2”8¥2¤8Ð
,Ñ
,Ô
,€CØ€Cˆ�Jð ð Ø�9•C˜‘H”H�9Œ~Ðà�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 booleanFc                 ó*  — t          j        | ¦  «        } t          j        |¦  «        }|r)|                      ¦   «         } |                     ¦   «         }n(t          j        | ¦  «        } t          j        |¦  «        }| t	          | |dd¬¦  «                 S )NT©r±  r,  )r¯   r3  rå  r  r2  )r¯  r°  r±  s      r)   Únp_setdiff1d_implz+jit_np_setdiff1d.<locals>.np_setdiff1d_implb  sv   € ÝŒj˜‰oŒoˆÝŒj˜‰oŒoˆØð 	!Ø—)’)‘+”+ˆCØ—)’)‘+”+ˆCˆCå”)˜C‘.”.ˆCÝ”)˜C‘.”.ˆCØ•:˜c 3°dÀ4ÐHÑHÔHÔIÐIr(   rú  rµ  )r¯  r°  r±  r6  s       r)   Újit_np_setdiff1dr7  Z  s|   € å˜SÑ!Ô!ð JÕ%5°cÑ%:Ô%:ð JÝÐHÑIÔIÐIÝ�}¥u¤}µdÐ&;Ñ<Ô<ð QÝÐOÑPÔPÐPð	Jð 	Jð 	Jð 	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 booleanFc                 ó&   — t          | |||¦  «        S r.   )r2  )r¯  r°  r±  r,  s       r)   Únp_in1d_implz!jit_np_in1d.<locals>.np_in1d_implx  s   € Ý˜#˜s M°6Ñ:Ô:Ð:r(   ©FFrµ  )r¯  r°  r±  r,  r:  s        r)   Újit_np_in1dr<  p  s¡   € Ý˜SÑ!Ô!ð EÕ%5°cÑ%:Ô%:ð EÝÐCÑDÔDÐDÝ�m¥e¤mµTÐ%:Ñ;Ô;ð LÝÐJÑKÔKÐKÝ�f�uœ}­dÐ3Ñ4Ô4ð EÝÐCÑDÔ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 booleanFc                 ó€   — t          j        | ¦  «        } t          | |||¬¦  «                             | j        ¦  «        S )Nr5  )r¯   r3  r2  rI  rC   )r{  Útest_elementsr±  r,  s       r)   Únp_isin_implz!jit_np_isin.<locals>.np_isin_impl�  sA   € å”*˜WÑ%Ô%ˆÝ˜' =ÀØ!'ð)ñ )ô )ß)0ª°´Ñ)?Ô)?ð	@r(   r;  rµ  )r{  r?  r±  r,  r@  s        r)   Újit_np_isinrA  ƒ  s¥   € å˜WÑ%Ô%ð EÕ)9¸-Ñ)HÔ)Hð EÝÐCÑDÔDÐDÝ�}¥u¤}µdÐ&;Ñ<Ô<ð LÝÐJÑKÔKÐKÝ�v¥¤­tÐ4Ñ5Ô5ð EÝÐCÑDÔDÐDð@ð @ð @ð @ð Ðr(   r­   r.   r>  rÈ  rú  rW   rÄ  rÍ  r&  r˜  rµ  rÅ  r  rò  r  r~  r‚  rÉ  r"  r;  (£  rr   rC  Úcollectionsr   rå   r4  Úllvmlite.irr  Únumba.np.types.datetimer   r   Únumpyr¯   Ú
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!   Únumba.cpython.unsafe.tupler"   Únumba.npr®  r#   r*   rW  r,   rt   r¶   r¿   rÆ   r¹   rØ   r÷   r  rÎ   Ú
exceptionsÚ	AxisErrorr  r  r  r  r  r(  r)  r5  r;  rE  rF  rN  rO  r[  r\  rw  rx  r�  r‚  r�  r“  r–  r™  rš  Úaminr±  r³  Úamaxr¼  rÃ  rÈ  rÍ  rÎ  rÖ  rÛ  rÞ  rà  rÕ  rí  rñ  rù  rú  rA  r  rþ  rý  Ú	nanargminrþ  Ú	nanargmaxr  r  r  r#  r$  rB  rC  rK  ÚaveragerY  r_  Ú	iscomplexre  Úisrealri  rt  rx  Úisscalarr|  r†  rŠ  r�  r�  r“  r•  r�  r´  rº  r³  r¹  r   r±  Únanminr¶  Únanmaxr»  rÅ  rÂ  rÏ  rË  ÚnanstdrÑ  ÚnansumrÖ  ÚnanprodrÛ  Ú
nancumprodrâ  Ú	nancumsumrç  rë  rò  rõ  rø  rû  rÿ  r  r
  r  r  r  r'  r&  Ú_partition_w_nanÚ_argpartition_w_nanr-  r,  r  r†  r/  r4  Úmedianr<  rN  rR  rW  r\  r^  rb  rj  rF  ro  Únanpercentilerq  Úquantilert  Únanquantilerv  Ú	nanmedianr{  rƒ  rˆ  r‹  Ú	partitionr›  r$  rŸ  r¤  r±  r¨  r«  r¶  ÚtrilrÅ  rÔ  rÏ  Útril_indices_fromrÙ  rÝ  Útriurã  rê  rç  Útriu_indices_fromrì  rï  rö  rü  Úediff1dr  r  r  r  r  r'  Útrapzr,  Ú	trapezoidr/  r2  r4  Úvanderr=  ÚrollrD  rG  rN  rc  re  Úinterprr  rt  r{  r}  r‰  r‹  r·  ro  r˜  rš  r¶  rŸ  r¨  r¬  r®  r½  rº  ÚcorrcoefrÇ  ÚargwhererÏ  ÚflatnonzerorÔ  rØ  rÚ  rÞ  rä  rè  rû  ré  rñ  Úfill_diagonalrü  rÿ  r	  r  Úaroundr  r  Úround_r   r!  r)  r*  rÊ  r>  rD  rG  rM  rV  r³  r[  re  r{  rj  r¡  ro  Úcontainsrs  Úcount_nonzerory  rŠ  r‹  ÚdeleterŒ  Úinsertrœ  rÿ  r¥  Úarray_equalr«  Úintersect1dr¶  rº  r¼  rÉ  rÑ  rÐ  rË  rÎ  rÒ  rÔ  rÖ  rÜ  rq  rá  rè  rï  Údigitizer   rI   r  r  r  r3  r$  rJ  ræ  rO  rá  r?  rG  rK  rP  r_  ra  rg  rq  Ú	correlater  Úconvolverƒ  r3  r’  Úasfarrayrb  r–  Úextractrœ  rÊ   r¥  Úunion1drª  Úasarray_chkfiniter­  ÚunwraprË  rÏ  rÓ  rÕ  r×  rß  ÚbartlettÚblackmanÚhammingÚhanningr  rç  rè  rä  ré  rî  Úkaiserrò  rÿ  r  r  Úcrossr  r  r  r  Ú
trim_zerosr%  Úsetxor1dr*  r2  Ú	setdiff1dr7  r<  Úin1dÚisinrA  r'   r(   r)   ú<module>r‘     sÌ%  ððð ð
 €€€Ø "Ð "Ð "Ð "Ð "Ð "Ø €€€Ø €€€à Ð Ð Ð Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LðMð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð MðGð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð/ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /à 'Ð 'Ð 'Ð 'Ð 'Ð 'à *Ð *Ð *Ð *Ð *Ð *ðHð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð 5Ð 4Ð 4Ð 4Ð 4Ð 4Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø  Ð  Ð  Ð  Ð  Ð  ðð ð ð ˆ[‰]Œ]€
ðX-ð X-ð X-ð X-ð X-ñ X-ô X-ð X-ðv@ ð @ ð @ ð @ ð @ ñ @ ô @ ð @ ðFð ð ð#ð #ð #ðL"ð "ð "ðJ>ð >ð >ðBð ð ð" ð%ð %ñ „ð%ðP ð7ð 7ñ „ð7ðt  -¨wÒ6Ð6��Ø	ŒÔ	 ð ð ðð ñ Ôðð  ð:ð :ñ Ôð:ð 
€ˆ"Œ&ÑÔØ€�”˜eÑ$Ô$ñ)ð )ð )ñ %Ô$ñ Ôð)ðX 
€ˆ"Œ'ÑÔØ€�”˜fÑ%Ô%ð ð  ñ &Ô%ñ Ôð ð, ð5ð 5ñ „ð5ðp ðBð Bñ „ðBðJ 
€ˆ"Œ)ÑÔØ€�”˜hÑ'Ô'ñ""ð ""ð ""ñ (Ô'ñ Ôð""ðJ 
€ˆ"Œ*ÑÔØ€�”˜iÑ(Ô(ð"ð "ñ )Ô(ñ Ôð"ð. 
€ˆ"Œ'ÑÔØ€�”˜fÑ%Ô%ð=ð =ñ &Ô%ñ Ôð=ð@ 
€ˆ"Œ&ÑÔØ€�”˜eÑ$Ô$ðð ñ %Ô$ñ Ôðð  
€ˆ"Œ&ÑÔØ€�”˜eÑ$Ô$ð%ð %ñ %Ô$ñ Ôð%ð6 ðð ñ Ôðð ðð ñ Ôðð ðð ñ Ôðð 
€ˆ"Œ&ÑÔØ	€ˆ"Œ'ÑÔØ€�”˜eÑ$Ô$ð3ð 3ñ %Ô$ñ Ôñ Ôð3ðl 
€ˆ"Œ&ÑÔØ	€ˆ"Œ'ÑÔØ€�”˜eÑ$Ô$ð3ð 3ñ %Ô$ñ Ôñ Ôð3ðl ðð ñ Ôðð* ðð ñ Ôðð* ðð ñ Ôðð& 
€ˆ"Œ)ÑÔØ€�”˜hÑ'Ô'ñð ð ñ (Ô'ñ Ôðð$ ðð ñ Ôðð* ðð ñ Ôðð* ðð ñ Ôðð")ð )ð )ðX 
€ˆ"Œ)ÑÔØ€�”˜hÑ'Ô'ñð ð ñ (Ô'ñ Ôðð$%ð %ð %ðP /Ð.¨u°h´kÀBÄFÀ7ÑKÔKÐ Ø.Ð.¨u°h´kÀ2Ä6ÑJÔJÐ ð 
€ˆ"Œ,ÑÔñLð Lð Lñ ÔðLð& 
€ˆ"Œ,ÑÔñLð Lð Lñ ÔðLð& 
€ˆ"Œ&ÑÔØ€�”˜eÑ$Ô$ðð ñ %Ô$ñ Ôðð4 ñð ð ñ Ôðð2 
€ˆ"Œ+ÑÔØ€�”˜jÑ)Ô)ñ?,ð ?,ð ?,ñ *Ô)ñ Ôð?,ðD 
€ˆ"Œ&ÑÔØ€�”˜eÑ$Ô$ðð ñ %Ô$ñ Ôðð2 
€ˆ"Œ*ÑÔñð ð ñ Ôðð>
ð 
ð 
ð 
€ˆ"Œ,ÑÔðð ñ Ôðð 
€ˆ"Œ)ÑÔðð ñ Ôðð 
€ˆ"Œ/ÑÔðð ñ Ôðð& 
€ˆ"Œ,ÑÔðð ñ Ôðð 
€ˆ"Œ+ÑÔðð ñ Ôðð
ð 
ð 
ð 
€ˆ"Œ+ÑÔñ&ð &ð &ñ Ôð&ð
 
€ˆ"Œ+ÑÔñ&ð &ð &ñ Ôð&ð
 ðð ñ Ôðð ðð ñ Ôðð ðPð Pñ ÔðPð
ð ð ðD ÐØÐ˜	°EÐ:Ñ:Ô:ñô €ð ÐØÐ˜°uÐ=Ñ=Ô=ñô €ð "Ð!ØÐ˜	°DÐ9Ñ9Ô9ñô €ð "Ð!ØÐ˜°tÐ<Ñ<Ô<ñô €ð
 ð2ð 2ñ Ôð2ð 
€ˆ"Œ*ÑÔñ5ð 5ð 5ñ Ôð5ðp 
€ˆ"Œ)ÑÔðð ñ Ôðð 
€ˆ"Œ)ÑÔðð ñ Ôðð 
€ˆ"Œ*ÑÔðð ñ Ôðð& 
€ˆ"Œ)ÑÔñ ð  ð  ñ Ôð ðF 
€ˆ"Œ)ÑÔñð ð ñ Ôðð$ 
€ˆ"Œ)ÑÔðð ñ Ôðð* 
€ˆ"Œ*ÑÔðð ñ Ôðð* 
€ˆ"Œ-ÑÔðð ñ Ôðð0 
€ˆ"Œ,ÑÔðð ñ Ôðð0 ðð ñ Ôððð ð ð(	ð 	ð 	ð	ð 	ð 	ð 
€ˆ.ÑÔðHð Hñ ÔðHð 
€ˆ.ÑÔðHð Hñ ÔðHð	ð 	ð 	ð 
€ˆ-ÑÔðð ñ Ôðð. 
€ˆ"Œ&ÑÔðð ñ Ôðð6 �6ÒÐØ'€O€O�E”K Ñ'Ô'¨Ñ/Ô/Ð/ð ðð ñ Ôðñ.ð .ð .ð .ðb ÐÐ0Ð0°Ñ;Ô;Ñ<Ô<€
Ø#Ð#Ð$6Ð$6Ð7JÑ$KÔ$KÑLÔLÐ Ø&Ð&Ð'9Ð'9ØØð(ñ (ô (ñ ô Ð ðð ð ð" Ð
˜?˜?¨:Ñ6Ô6Ñ
7Ô
7€Ø Ð   Ð1AÑ!BÔ!BÑCÔC€Ø$Ð$ _ _Ð5HÑ%IÔ%IÑJÔJÐ ð ð ð  ñ Ôð ð0 ð3ð 3ñ Ôð3ð 
€ˆ"Œ)ÑÔðð ñ Ôðð" ð1ð 1ñ Ôð1ðh ðð ñ Ôðð  ðð ñ Ôðð  ðFð Fñ ÔðFð
 ðBð Bñ ÔðBð
 ðð ñ Ôðð""ð "ð "ð4 
€ˆ"Œ-ÑÔðð ñ Ôðð 
€ˆ"Ô
ÑÔðð ñ Ôðð 
€ˆ"Œ+ÑÔðð ñ Ôðð 
€ˆ"Œ.ÑÔðð ñ Ôðð 
€ˆ"Œ,ÑÔðð ñ Ôðð0 ðð ñ Ôðð( ðð ñ Ôðð* ðð ñ ÔððD 
€ˆ"Œ,ÑÔðð ñ Ôðð: 
€ˆ"Œ/ÑÔð ð  ñ Ôð ð@ ð	ð 	ñ Ôð	ð 
€ˆ"Œ&ÑÔñ
ð 
ð 
ñ Ôð
ð ðð ñ Ôðð  ñ>ð >ð >ñ Ôð>ð
 
€ˆ"Œ'ÑÔñ"ð "ð "ñ Ôð"ð4 
€ˆ"Œ/ÑÔñ
 ð 
 ð 
 ñ Ôð
 ð 
€ˆ"Ô
ÑÔñ
%ð 
%ð 
%ñ  Ôð
%ð ñ>ð >ð >ñ Ôð>ð
 
€ˆ"Œ'ÑÔñ"ð "ð "ñ Ôð"ð2 
€ˆ"Œ/ÑÔñ
 ð 
 ð 
 ñ Ôð
 ð 
€ˆ"Ô
ÑÔñ
%ð 
%ð 
%ñ  Ôð
%ð	ð 	ð 	ð 
€ˆ.ÑÔð1ð 1ñ Ôð1ð ð  ð  ð" 
€ˆ"Œ*ÑÔñ4ð 4ð 4ñ Ôð4ðn	ð 	ð 	ð 
€ˆ/ÑÔðð ñ Ôðð	ð 	ð 	ð 
€ˆ&ÑÔðð ñ Ôðñð ð ð ð, �6ÒÐØ€XˆbŒhÑÔñ%ð %ð %ñ Ôð%ð
 �FÒÐØ€XˆbŒlÑÔñ%ð %ð %ñ Ôð%ð ð<ð <ñ Ôð<ð6 ð@ð @ñ Ôð@ð 
€ˆ"Œ)ÑÔñ$"ð $"ð $"ñ Ôð$"ðN 
€ˆ"Œ'ÑÔðð ñ Ôðð2 Ð ð ðAð Añ ÔðAðH ðjð jñ ÔðjðZ ðUð Uñ ÔðUðp 
€ˆ"Œ)ÑÔð%ð %ñ Ôñ%ðV ð	ð 	ñ Ôñ	ð ðð ñ Ôñð0	ð 	ñ 	ð 
€Ñ
"Ñ#Ô#ð$$ð $$ñ $Ô#ñ$$ðN ð ð  ñ Ôñ ð %Ð$ [ [Ñ1Ô1Ñ ðð ñ ð**ð *ñ *ð ð8ð 8ñ Ôñ8ð $Ð# K KÑ0Ô0Ñ ð ð9ð 9ñ Ôñ9ðð ñ ð4 ð3ð 3ñ Ôñ3ð ðð ñ Ôñð 
€ˆ"�&ÑÔñ7ð 7ð 7ñ Ôñ7ðt 
€ˆ"�+ÑÔñ ð  ð  ñ Ôñ ðH 
€ˆ"�+ÑÔðð ñ Ôñð0 
€ˆ"�.ÑÔðð ñ Ôñð" ðð ñ Ôñð* ðð ñ Ôñð ðð ñ Ôñð ðDð Dñ ÔñDð ðDð Dñ ÔñDð Ð˜n˜nÑ-Ô-�
ð	ð 	ñ 	ð 
€‰(ÑÔð1ð 1ñ Ôñ1ð 
€ˆ"Õ
ÑÔñð ð ñ Ôñð@,ð ,ñ ,ð
 ðð ñ „ñð" ð)ð )ñ Ôñ)ð4 
€ˆ"�)ÑÔØ	€ˆ"�(ÑÔñ4ð 4ð 4ñ Ôñ Ôñ4ðn �6ÒÐØ€H€HˆR�YÑÔ™Ñ&Ô&Ð&ð 
€ˆ"�'ÑÔðMð Mñ ÔñMð& 
€ˆ"�(ÑÔñ<ð <ð <ñ Ôñ<ð@ €ˆr�z˜5œ;Ñ'Ô'Ø€ˆ ¤Ñ,Ô,ð5Dð 5Dñ -Ô,ñ (Ô'ñ5Dðpð ñ ð ðð ñ Ôñð ðð ñ Ôñðð ñ ð. 
€ˆ"�(ÑÔð ð  ñ Ôñ ð 
€ˆ"�(ÑÔð2ð 2ñ Ôñ2ðj 
€ˆ"�'ÑÔðð ñ Ôñð 
€ˆ"�'ÑÔðð ñ Ôñð 
€ˆ(Õ
ÑÔð
ð 
ñ Ôñ
ð 
€ˆ"Õ
ÑÔñð ð ñ Ôñð  -Ð,¨\¨\Ñ:Ô:Ñ Ø,Ð,Ð-EÐ-EÑFÔFÑ ð 
€ˆ"�)ÑÔð+%ð +%ñ Ôñ+%ð\ 
€ˆ"�)ÑÔñjNð jNð jNñ ÔñjNðZ 
€ˆ"�'ÑÔñ#ð #ð #ñ Ôñ#ðL 
€ˆ"�.ÑÔðð ñ Ôñð* 
€ˆ"�.ÑÔñ ð  ð  ñ Ôñ ð:1ð 1ñ 1ð 
€ˆ"�+ÑÔñ6ð 6ð 6ñ Ôñ6ðr #Ð" 9Ñ-Ô-�Ø$Ð$ ZÑ0Ô0Ñ ð ð!ð !ñ Ôñ!ðB ðð ñ Ôñð ðð ñ Ôñð ð	ð 	ñ Ôñ	ð ð+ð +ñ Ôñ+ðð ñ ð$ %™9 f¨gÐ%6Ñ7Ô7Ñ ð;ð ;ñ ;ð8 
€ˆ"�/ÑÔñ0ð 0ð 0ñ Ôñ0ðf 
€ˆ"�+ÑÔñAð Að Añ ÔñAñH 
�ð 
€ˆ"�,ÑÔñOð Oð Oñ ÔñOðh%Ñ ð 
ˆ�HÑ0Ñ	1Ô	1�ð3Ñ ð
 	ˆ
�7Ñ,Ñ-Ô-�ð +Ñ àˆ
�7Ñ,Ñ-Ô-�ð
ð ñ ð< �Ñ Ô Ð ðð ñ ð  
€ˆ"�(ÑÔðð ñ Ôñð 
€ˆ"�(ÑÔðð ñ Ôñðð ñ ð<Oð Oñ Oð	ð 	ñ 	ð 
€Ñ
ÑÔðFð Fñ ÔñFðR 
€ˆ"�,ÑÔñ)ñ )ð )ñ Ôñ)ðX 
€ˆ"�+ÑÔññ ð ñ Ôñð* 
€ˆ"�*ÑÔñ4ñ 4ð 4ñ Ôñ4ðn �6ÒÐØ€Xˆb�kÑÔØ�Zð ñ ð ñ Ôñð 
€ˆ"�*ÑÔñð ñ Ôñð2 
€ˆ"�)ÑÔñ/ñ /ð /ñ Ôñ/ðd 
€ˆ"�*ÑÔñð ñ Ôñð 
€ˆ"Õ
ÑÔññ ð ñ  Ôñð0 
€ˆ"�)ÑÔñCñ Cð Cñ ÔñCð\ ñKð Kñ ÔñKð
 ñ6ð 6ñ Ôñ6ð ñ5ð 5ñ Ôñ5ð
 ñ3ð 3ñ Ôñ3ñ
ð ñ ð" €€ˆ�Ñ Ô Ð&Ñ&Ñ'7Ñ8Ô8Ñ 9Ô 9Ð 9Ø €€ˆ�Ñ Ô Ð&Ñ&Ñ'7Ñ8Ô8Ñ 9Ô 9Ð 9Ø €€ˆ�Ñ Ô Ð%Ñ%¡oÑ6Ô6Ñ 7Ô 7Ð 7Ø €€ˆ�Ñ Ô Ð%Ñ%¡oÑ6Ô6Ñ 7Ô 7Ð 7ð €r…xð ñ ð ñ ô �ðB €r…xð ñ ð ñ ô �ð: ñ	ð 	ñ Ôñ	ð ñBð Bñ ÔñBð ñð ñ Ôñð 
€ˆ"�)ÑÔñð ñ Ôñð* ñð ñ Ôññ.	ð 	ñ 	ð 
€‰&ÑÔñð ñ Ôñð  
€ˆ"�(ÑÔñð ñ Ôñð< ‘6ÒÐØñð ñ Ôññ$ð ñ ð €X‰gÑÔñð ñ Ôñð" 
€ˆ"�-ÑÔññ ð ñ ÔñðD 
€ˆ"�+ÑÔññ ð ñ ÔñðD ñ7ñ 7ð 7ñ Ôñ7ðt 
€ˆ"�,ÑÔññ ð ñ Ôññ*ñ ð ñ ð �6ÒÐØ€H€HˆR�WÑÔ‘kÑ"Ô"Ð"ð 
€ˆ"�'ÑÔññ ð ñ Ôñð ð r(   