Ë
    L²j‡U  ã                  ó  — d dl mZ d dlZd dlZd dlZd dlmZ d dlZddlm	Z	m
Z
mZmZmZ ddlmZmZmZmZ dZg d¢Zdd	d
dddddddœ	Z G d„ d«      ZdQd„Zi dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d“d!d“d"d“d#d“d$d“d%d“dddddddddddd&œ¥Zd'dd(d)d*d+d,d-d.œZdd/d0d1d2d3d4d5d6d7d8d9dd:œZd;„ Zd<„ Zd=„ Zd>„ Zd?„ Z G d@„ dA«      Z  e «       e _!         G dB„ dC«      Z"dD„ Z#dQdEdFdGd ddHœdI„Z$dRddJœdK„Z%dQddJœdL„Z&dM„ Z'dN„ Z(dSdO„Z)dP„ Z*y)Té    )ÚannotationsN)ÚSequenceé   )Ú_dtypesÚ_dtypes_implÚ_funcsÚ_ufuncsÚ_util)Ú	ArrayLikeÚnormalize_array_likeÚ
normalizerÚNotImplementedType)ÚC_CONTIGUOUSÚF_CONTIGUOUSÚOWNDATAÚ	WRITEABLEÚALIGNEDÚWRITEBACKIFCOPYÚFNCÚFORCÚBEHAVEDÚCARRAYÚFARRAYr   r   r   r   r   r   r   r   r   )	ÚCÚFÚOÚWÚAÚXÚBÚCAÚFAc                  ó:   ‡ — e Zd Zdd„Zdd„Zd„ Zˆ fd„Zd„ Zˆ xZS )ÚFlagsc                ól   — |D �cg c]  }|t         vsŒ|‘Œ }}|rt        d|› �«      ‚|| _        y c c}w )NzInvalid flag keys: )ÚFLAGSÚAssertionErrorÚ_flag_to_value)ÚselfÚflag_to_valueÚkÚinvalid_keyss       úT/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/_numpy/_ndarray.pyÚ__init__zFlags.__init__3   s?   € Ø#0ÖC˜a°A¼U²NšÐCˆÐCÙÜ Ð#6°|°nÐ!EÓFÐFØ+ˆÕùò Ds   …1“1c                ó’   — |j                  «       r)|j                  «       t        v r| |j                  «          S t        d|› d�«      ‚)NzNo flag attribute 'ú')ÚislowerÚupperr&   ÚAttributeError)r)   Úattrs     r-   Ú__getattr__zFlags.__getattr__9   s>   € Ø�<‰<Œ>˜dŸj™j›l¬eÑ3Ø˜Ÿ
™
›Ñ%Ð%ä Ð#6°t°f¸AÐ!>Ó?Ð?ó    c                ó²   — |t         v r	t         |   }|t        v r	 | j                  |   S t        d|› d�«      ‚# t        $ r}t	        d|›�«      |‚d }~ww xY w)Nzkey=úNo flag key 'r0   )ÚSHORTHAND_TO_FLAGSr&   r(   ÚKeyErrorÚNotImplementedError)r)   ÚkeyÚes      r-   Ú__getitem__zFlags.__getitem__?   sm   € ØÔ$Ñ$Ü$ SÑ)ˆCØ”%‰<ð<Ø×*Ñ*¨3Ñ/Ð/ô ˜]¨3¨%¨qÐ1Ó2Ð2øô ò <Ü)¨T¨S¨F¨)Ó4¸!Ð;ûð<ús   ›9 ¹	AÁAÁAc                óš   •— |j                  «       r*|j                  «       t        v r|| |j                  «       <   y t        ‰| �  ||«       y ©N)r1   r2   r&   ÚsuperÚ__setattr__)r)   r4   ÚvalueÚ	__class__s      €r-   rB   zFlags.__setattr__J   s8   ø€ Ø�<‰<Œ>˜dŸj™j›l¬eÑ3Ø!&ˆD�—‘“Òä‰GÑ  eÕ,r6   c                óV   — |t         v s|t        v rt        d«      ‚t        d|› d�«      ‚)Nz"Modifying flags is not implementedr8   r0   )r&   r9   r;   r:   )r)   r<   rC   s      r-   Ú__setitem__zFlags.__setitem__P   s1   € Ø”%‰<˜3Ô"4Ñ4Ü%Ð&JÓKÐKä˜]¨3¨%¨qÐ1Ó2Ð2r6   )r*   Údict)r4   Ústr)	Ú__name__Ú
__module__Ú__qualname__r.   r5   r>   rB   rF   Ú__classcell__)rD   s   @r-   r$   r$   2   s   ø„ ó,ó@ò	3ô-ö3r6   r$   c                óT   ‡ — |xs ‰ j                   }ˆ fd„}||_         d|› �|_        |S )Nc                 ó   •—  ‰| i |¤ŽS r@   © )ÚargsÚkwargsÚfns     €r-   Úfzcreate_method.<locals>.fZ   s   ø€ Ù�4Ð"˜6Ñ"Ð"r6   zndarray.)rI   rK   )rR   ÚnamerS   s   `  r-   Úcreate_methodrU   W   s2   ø€ ØÒ�2—;‘;€Dô#ð €A„JØ ˜vÐ&€A„NØ€Hr6   ÚclipÚnonzeroÚrepeatÚroundÚsqueezeÚswapaxesÚravelÚdiagonalÚdotÚtraceÚargsortÚsearchsortedÚargmaxÚargminÚanyÚallÚmax)ÚminÚptpÚsumÚprodÚmeanÚvarÚstdÚcumsumÚcumprodÚtakeÚchooseÚabsoluteÚpositiveÚnegativeÚgreaterÚlessÚgreater_equalÚ
less_equal)ÚabsÚinvertÚposÚnegÚgtÚltÚgeÚleÚsubtractÚmultiplyÚdivideÚfloor_divideÚpowerÚ	remainderÚbitwise_andÚ
bitwise_orÚbitwise_xorÚ
left_shiftÚright_shift)ÚaddÚsubÚmulÚtruedivÚfloordivÚpowÚmodÚandÚorÚxorÚlshiftÚrshiftÚmatmulc                óT  — t        | t        j                  «      rk| j                  t        j                  t        j
                  t        j                  t        j                  fv r| j                  t        j                  «      S | S t        | t        «      rt        d„ | D «       «      S | S )Nc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr@   )Ú_upcast_int_indices)Ú.0Úis     r-   ú	<genexpr>z&_upcast_int_indices.<locals>.<genexpr>ª   s   è ø€ Ò;°Ô(¨×+Ñ;ùó   ‚)Ú
isinstanceÚtorchÚTensorÚdtypeÚint8Úint16Úint32Úuint8ÚtoÚint64Útuple©Úindexs    r-   r›   r›   ¥   sq   € Ü�%œŸ™Ô&Ø�;‰;œ5Ÿ:™:¤u§{¡{´E·K±KÄÇÁÐMÑMØ—8‘8œEŸK™KÓ(Ð(ð €Lô 
�Eœ5Ô	!ÜÑ;°UÔ;Ó;Ð;Ø€Lr6   c                ó&   — t        d„ | D «       «      S )z&Check if there's any advanced indexingc              3  óà   K  — | ]f  }t        |t        t        f«      xsJ t        |t        j                  «      xr. |j
                  t        j                  k(  xs |j                  d kD  –— Œh y­w©r   N)r    r   Úboolr¡   r¢   r£   Úndim©rœ   Úidxs     r-   rž   z)_has_advanced_indexing.<locals>.<genexpr>°   s`   è ø€ ò ð ô 	�3œ¤4Ð(Ó)ò 	YÜ�sœEŸL™LÓ)ÒW¨s¯y©y¼E¿J¹JÑ/FÒ/VÈ#Ï(É(ÐUVÉ,ó	Yñùs   ‚A,A.)rd   r«   s    r-   Ú_has_advanced_indexingr´   ®   s   € äñ ð ôó ð r6   c                óÒ  — t        | t        «      s| f} t        | «      }|s| S g }| D ]´  }t        |t        «      r#t        |t        «      s|j                  |g«       Œ6t        |t        j                  «      rT|j                  dk(  rEt        j                  |«      s0|j                  t        j                  k7  r|j                  |g«       Œ¤|j                  |«       Œ¶ t        |«      S )zZConvert scalar indices to lists when advanced indexing is present for NumPy compatibility.r   )r    rª   r´   Úintr°   Úappendr¡   r¢   r±   Úis_floating_pointr£   )r¬   Úhas_advancedÚ	convertedr³   s       r-   Ú_numpy_compatible_indexingr»   ·   sÆ   € ä�eœUÔ#Ø�ˆô *¨%Ó0€LáØˆð €IØò "ˆÜ�cœ3Ô¬
°3¼Ô(=à×Ñ˜c˜UÕ#ä�sœEŸL™LÔ)Ø—‘˜A’Ü×+Ñ+¨CÔ0Ø—	‘	œUŸZ™ZÒ'ð ×Ñ˜c˜UÕ#ð ×Ñ˜SÕ!ð"ô  �ÓÐr6   c                ó  — t        | t        «      ryt        | t        j                  «      r+| j                  t        j                  k(  rd| j
                  fS t        | t        «      r
| r| d   | k7  syt        | d   «      \  }}||dz   fS )z.Returns the depth of a boolean sequence/tensor)Tr   Tr   )Fr   r   )r    r°   r¡   r¢   r£   r±   r   Ú_get_bool_depth)ÚsÚis_boolÚdepths      r-   r½   r½   Ø   st   € ä�!”TÔØÜ�!”U—\‘\Ô" q§w¡w´%·*±*Ò'<Ø�Q—V‘Vˆ|ÐÜ�qœ(Ô#©¨a°©d°aªiØÜ$ Q q¡TÓ*�N€GˆUØ�E˜A‘IÐÐr6   c                óº  ‡— t        | t        «      s| f} d}t        | «      D ]  \  }}|t        u sŒ|} n |€| d„ d„ fS d}| D ](  }t	        |«      \  }}|r||z  }Œ|t        u s|€Œ$|dz  }Œ* ||z
  }|dk(  r^t        | d| «      }	t        | |dz   d «      }
|	r=|
r;| d| dz   | |dz   d z   }dt        d„ | |dz   d D «       «      z   Šˆfd„}ˆfd	„}|||fS | d
„ d„ fS )aº  
    Patch for NumPy-compatible ellipsis behavior when ellipsis doesn't match any dimensions.

    In NumPy, when an ellipsis (...) doesn't actually match any dimensions of the input array,
    it still acts as a separator between advanced indices. PyTorch doesn't have this behavior.

    This function detects when we have:
    1. Advanced indexing on both sides of an ellipsis
    2. The ellipsis doesn't actually match any dimensions
    Nc                ó   — | S r@   rO   ©Úxs    r-   ú<lambda>z-_numpy_empty_ellipsis_patch.<locals>.<lambda>û   s   €  € r6   c                ó   — | S r@   rO   rÃ   s    r-   rÅ   z-_numpy_empty_ellipsis_patch.<locals>.<lambda>û   s   € ¨Q€ r6   r   r   r@   c              3  óB   K  — | ]  }t        |t        «      sŒd –— Œ y­w)r   N)r    Úslicer²   s     r-   rž   z._numpy_empty_ellipsis_patch.<locals>.<genexpr>  s   è ø€ ò  Ø¼*ÀSÌ%Õ:P”ñ ùs   ‚˜c                ó(   •— | j                  ‰ «      S r@   )rZ   ©rÄ   Ú	end_ndimss    €r-   Ú
squeeze_fnz/_numpy_empty_ellipsis_patch.<locals>.squeeze_fn  s   ø€ Ø—y‘y ) Ó,Ð,r6   c                ó~   •— t        | t        j                  «      r!| j                  ‰k\  r| j	                  ‰ «      S | S r@   )r    r¡   r¢   r±   Ú	unsqueezerÊ   s    €r-   Úunsqueeze_fnz1_numpy_empty_ellipsis_patch.<locals>.unsqueeze_fn  s2   ø€ Ü˜a¤§¡Ô.°1·6±6¸YÒ3FØŸ;™;¨	 zÓ2Ð2Ø�r6   c                ó   — | S r@   rO   rÃ   s    r-   rÅ   z-_numpy_empty_ellipsis_patch.<locals>.<lambda>#  s   € ˜A€ r6   c                ó   — | S r@   rO   rÃ   s    r-   rÅ   z-_numpy_empty_ellipsis_patch.<locals>.<lambda>#  s   € ¨€ r6   )r    rª   Ú	enumerateÚEllipsisr½   r´   ri   )r¬   Útensor_ndimÚellipsis_posr�   r³   Úconsumed_dimsr¿   rÀ   Úellipsis_dimsÚleft_advancedÚright_advancedÚ	new_indexrÌ   rÏ   rË   s                 @r-   Ú_numpy_empty_ellipsis_patchrÛ   ä   s[  ø€ ô �eœUÔ#Ø�ˆð €LÜ˜EÓ"ò ‰ˆˆ3Ø”(Š?ØˆLÙðð ÐØ‘k¡;Ð.Ð.ð €MØò ˆÜ(¨Ó-‰ˆ�ÙØ˜UÑ"‰MØ”H‰_  Øà˜QÑ‰Mðð   -Ñ/€Mð ˜Òä.¨u°]°lÐ/CÓDˆÜ/°°lÀQÑ6FÐ6HÐ0IÓJˆá™^ð ˜m˜|Ð,¨wÑ6¸¸|ÈaÑ?OÐ?QÐ9RÑRˆIØœCñ  Ø" <°!Ñ#3Ð#5Ð6ô ó ñ ˆIô-ôð
 ˜j¨,Ð6Ð6à‘+™{Ð*Ð*r6   c                  ó   — e Zd Zy)Ú_UnspecifiedN)rI   rJ   rK   rO   r6   r-   rÝ   rÝ   (  s   „ Ør6   rÝ   c                  óÎ  — e Zd Zd;d„Zej                  «       D ]#  \  ZZ ee	exs e«      Z
 ee
e«       e«       e<   Œ%  eej                  d«      Z eej                  «      Zej                  «       D ])  \  ZZ eeexs e«      Z
de› d�Z ee
e«       e«       e<   Œ+ ej                  «       D ]]  \  ZZ eeexs e«      Z
de› d�Z ee
e«       e«       e<   de› d�Z ee
fd„e«       e«       e<   de› d�Z ee
fd„e«       e«       e<   Œ_  eej*                  d	«      Z ed
„ d«      Z[[[[[
[ed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z ed„ «       Z!ed„ «       Z"ed„ «       Z#e#jH                  d„ «       Z#ed„ «       Z%e%jH                  d„ «       Z%ed„ «       Z&d<d„Z'e(d=d>d„«       Z)e(d=d>d„«       Z*dd œd!„Z+e,jZ                  e,jZ                  fd"„Z.e(d?d#„«       Z/d$„ Z0d%„ Z1d&„ Z2 ee2«      Z3d'„ Z4d(„ Z5d)„ Z6d*„ Z7d+„ Z8d,„ Z9d-„ Z:d.„ Z;d/„ Z<d0„ Z=d1„ Z>dd2œd3„Z?d@d4„Z@d5„ ZAd6„ ZBd7„ ZCe	jˆ                  ZDe	jŠ                  ZEdd8œd9„ZFd:„ ZGy)AÚndarrayNc                ó”   — |€t        j                  «       | _        y t        |t         j                  «      r|| _        y t	        d«      ‚)NzSndarray constructor is not recommended; prefereither array(...) or zeros/empty(...))r¡   r¢   Útensorr    Ú
ValueError)r)   Úts     r-   r.   zndarray.__init__4  s;   € Øˆ9ÜŸ,™,›.ˆD�KÜ˜œ5Ÿ<™<Ô(ØˆD�Käð8óð r6   ÚconjÚ__Ú__rc                ó   —  ||| «      S r@   rO   ©r)   ÚotherrR   s      r-   rÅ   zndarray.<lambda>R  s   € ÁÀ5È$Ã€ r6   Ú__ic                ó   —  || || ¬«      S )N)ÚoutrO   rè   s      r-   rÅ   zndarray.<lambda>U  s   € ¡r¨$°¸4Ô'@€ r6   Ú
__divmod__c                ó.   — t        j                  || «      S r@   )r	   Údivmod©r)   ré   s     r-   rÅ   zndarray.<lambda>[  s   € œGŸN™N¨5°$Ó7€ r6   Ú__rdivmod__c                ó@   — t        | j                  j                  «      S r@   )rª   rá   Úshape©r)   s    r-   ró   zndarray.shapea  s   € ä�T—[‘[×&Ñ&Ó'Ð'r6   c                ó6   — | j                   j                  «       S r@   )rá   Únumelrô   s    r-   Úsizezndarray.sizee  s   € à�{‰{× Ñ Ó"Ð"r6   c                ó.   — | j                   j                  S r@   )rá   r±   rô   s    r-   r±   zndarray.ndimi  s   € à�{‰{×ÑÐr6   c                óT   — t        j                  | j                  j                  «      S r@   )r   r£   rá   rô   s    r-   r£   zndarray.dtypem  s   € ä�}‰}˜TŸ[™[×.Ñ.Ó/Ð/r6   c                ó�   ‡— | j                   j                  «       Št        ˆfd„| j                   j                  «       D «       «      S )Nc              3  ó(   •K  — | ]	  }|‰z  –— Œ y ­wr@   rO   )rœ   ÚstrideÚelsizes     €r-   rž   z"ndarray.strides.<locals>.<genexpr>t  s   øè ø€ ÒH¨�V˜f•_ÑHùs   ƒ)rá   Úelement_sizerª   rü   )r)   rý   s    @r-   Ústrideszndarray.stridesq  s3   ø€ à—‘×)Ñ)Ó+ˆÜÓH°4·;±;×3EÑ3EÓ3GÔHÓHÐHr6   c                ó6   — | j                   j                  «       S r@   )rá   rþ   rô   s    r-   Úitemsizezndarray.itemsizev  s   € à�{‰{×'Ñ'Ó)Ð)r6   c                óÂ   — t        | j                  j                  «       | j                  j                  j                  «       | j                  j                  d u ddœ«      S )NT)r   r   r   r   )r$   rá   Úis_contiguousÚTÚ_baserô   s    r-   Úflagszndarray.flagsz  sO   € ô à $§¡× 9Ñ 9Ó ;Ø $§¡§¡× ;Ñ ;Ó =ØŸ;™;×,Ñ,°Ð4Ø!ñ	ó
ð 	
r6   c                ó6   — | j                   j                  «       S r@   )rá   Údata_ptrrô   s    r-   Údatazndarray.data†  s   € à�{‰{×#Ñ#Ó%Ð%r6   c                óR   — | j                   j                  «       j                  «       S r@   )rá   ÚstorageÚnbytesrô   s    r-   r  zndarray.nbytesŠ  s   € à�{‰{×"Ñ"Ó$×+Ñ+Ó-Ð-r6   c                ó"   — | j                  «       S r@   )Ú	transposerô   s    r-   r  z	ndarray.TŽ  s   € à�~‰~ÓÐr6   c                ó,   — t        j                  | «      S r@   )r   Úrealrô   s    r-   r  zndarray.real’  ó   € ä�{‰{˜4Ó Ð r6   c                óL   — t        |«      j                  | j                  _        y r@   )Úasarrayrá   r  ©r)   rC   s     r-   r  zndarray.real–  ó   € ä" 5›>×0Ñ0ˆ�‰Õr6   c                ó,   — t        j                  | «      S r@   )r   Úimagrô   s    r-   r  zndarray.imagš  r  r6   c                óL   — t        |«      j                  | j                  _        y r@   )r  rá   r  r  s     r-   r  zndarray.imagž  r  r6   c                ó"   — | j                  «       S r@   )r\   rô   s    r-   Úflatzndarray.flat¢  ó   € à�z‰z‹|Ðr6   c                ó   — |dk7  rt        d|› d�«      ‚|dk7  rt        d|› d�«      ‚|st        d|› d�«      ‚|st        d|› d�«      ‚t        j                  |«      j                  }| j                  j                  |«      }t        |«      S )NÚKzastype(..., order=ú is not implemented.Úunsafezastype(..., casting=zastype(..., subok=zastype(..., copy=)r;   r   r£   Útorch_dtyperá   r¨   rß   )r)   r£   ÚorderÚcastingÚsubokÚcopyr   rã   s           r-   Úastypezndarray.astype§  s¥   € Ø�CŠ<Ü%Ð(:¸5¸'ÐAUÐ&VÓWÐWØ�hÒÜ%Ø& w iÐ/CÐDóð ñ Ü%Ð(:¸5¸'ÐAUÐ&VÓWÐWÙÜ%Ð(9¸$¸Ð?SÐ&TÓUÐUÜ—m‘m EÓ*×6Ñ6ˆØ�K‰K�N‰N˜;Ó'ˆÜ�q‹zÐr6   r   c                ó"   — | j                  «       S r@   )Úclone©r)   r!  s     r-   r$  zndarray.copy¶  r  r6   c                ó,   — t        j                  | «      S r@   )r¡   Úflattenr(  s     r-   r*  zndarray.flattenº  s   € ä�}‰}˜TÓ"Ð"r6   F)Úrefcheckc               ó  — |rt        d|› d�«      ‚|dv ry t        |«      dk(  r|d   }t        |t        «      r|f}t	        j
                  d„ |D «       «      rt        d«      ‚t        j                  |«      | j                  j                  «       }}| j                  j                  |«       ||k\  rS| j                  j                  «       st        d«      ‚| j                  j                  «       }||d  j                  «        y y )	Nzresize(..., refcheck=r  )rO   r@   r   r   c              3  ó&   K  — | ]	  }|d k  –— Œ y­wr¯   rO   ©rœ   rÄ   s     r-   rž   z!ndarray.resize.<locals>.<genexpr>Í  s   è ø€ Ò1 !˜˜A�Ñ1ùs   ‚z0all elements of `new_shape` must be non-negativez0tensor must be contiguous for resize with growth)r;   Úlenr    r¶   Úbuiltinsrd   râ   Úmathrj   rá   rö   Úresize_r  r'   r*  Úzero_)r)   r+  Ú	new_shapeÚ	new_numelÚ	old_numelÚbs         r-   Úresizezndarray.resize¾  sð   € áÜ%Ø'¨ zÐ1EÐFóð ð ˜Ñ%Øô ˆy‹>˜QÒØ! !™ˆIÜ�i¤Ô%Ø"˜ˆIä�<‰<Ñ1 yÔ1Ô1ÜÐOÓPÐPä#Ÿy™y¨Ó3°T·[±[×5FÑ5FÓ5H�9ˆ	à�‰×Ñ˜IÔ&à˜	Ò!à—;‘;×,Ñ,Ô.Ü$Ð%WÓXÐXØ—‘×#Ñ#Ó%ˆAØˆiˆjˆM×ÑÕ!ð "r6   c                ó
  — |t         j                  u r| j                  }|t         j                  urt        d|› d�«      ‚t	        j                  |«      j
                  }| j                  j                  |«      }t        |«      S )Nzview(..., type=r  )	rÝ   Úunspecifiedr£   r;   r   r   rá   Úviewrß   )r)   r£   Útyper   Útviews        r-   r;  zndarray.viewÛ  sn   € Ø”L×,Ñ,Ñ,Ø—J‘JˆEØ”|×/Ñ/Ñ/Ü%¨¸°vÐ=QÐ&RÓSÐSÜ—m‘m EÓ*×6Ñ6ˆØ—‘× Ñ  Ó-ˆÜ�u‹~Ðr6   c                ó:   — | j                   j                  |«       y r@   )rá   Úfill_r  s     r-   Úfillzndarray.fillä  s   € ð 	�‰×Ñ˜%Õ r6   c                ó6   — | j                   j                  «       S r@   )rá   Útolistrô   s    r-   rB  zndarray.tolistê  s   € Ø�{‰{×!Ñ!Ó#Ð#r6   c                óD   — d„ | j                   j                  «       D «       S )Nc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr@   )rß   r.  s     r-   rž   z#ndarray.__iter__.<locals>.<genexpr>î  s   è ø€ Ò;˜q”˜—
Ñ;ùrŸ   )rá   Ú__iter__rô   s    r-   rE  zndarray.__iter__í  s   € Ù; D§K¡K×$8Ñ$8Ó$:Ô;Ð;r6   c                ól   — t        | j                  «      j                  dd«      j                  dd«      S )Nrá   ztorch.ndarrayzdtype=torch.zdtype=)rH   rá   Úreplacerô   s    r-   Ú__str__zndarray.__str__ð  s+   € ä�—‘Óß‰W�X˜Ó/ß‰W�^ XÓ.ð	
r6   c                ó¼   — 	 t        j                  | |«      S # t        t        f$ r4 t	        j
                  | j                  dt        ¬«      }t        |«      cY S w xY w)NF)Ú
fill_valuer£   )	r	   ÚequalÚRuntimeErrorÚ	TypeErrorr¡   Úfullró   r°   r  )r)   ré   Úfalsys      r-   Ú__eq__zndarray.__eq__ù  sL   € ð	"Ü—=‘=  uÓ-Ð-øÜœiÐ(ò 	"ä—J‘J˜tŸz™z°eÄ4ÔHˆEÜ˜5“>Ò!ð	"ús   ‚ ˜A AÁAc                ó   — | |k(   S r@   rO   rð   s     r-   Ú__ne__zndarray.__ne__  s   € Ø˜‘ÐÐr6   c                ó˜   — 	 t        j                  | j                  j                  «       «      S # t        $ r}t        d«      |‚d }~ww xY w)Nz=only integer scalar arrays can be converted to a scalar index)Úoperatorr¬   rá   ÚitemÚ	ExceptionrM  )r)   Úexcs     r-   Ú	__index__zndarray.__index__  sF   € ð	Ü—>‘> $§+¡+×"2Ñ"2Ó"4Ó5Ð5øÜò 	ÜØOóàðûð	ús   ‚,/ ¯	A	¸AÁA	c                ó,   — t        | j                  «      S r@   )r°   rá   rô   s    r-   Ú__bool__zndarray.__bool__  s   € Ü�D—K‘KÓ Ð r6   c                ó,   — t        | j                  «      S r@   )r¶   rá   rô   s    r-   Ú__int__zndarray.__int__  s   € Ü�4—;‘;ÓÐr6   c                ó,   — t        | j                  «      S r@   )Úfloatrá   rô   s    r-   Ú	__float__zndarray.__float__  s   € Ü�T—[‘[Ó!Ð!r6   c                ó,   — t        | j                  «      S r@   )Úcomplexrá   rô   s    r-   Ú__complex__zndarray.__complex__  s   € Ü�t—{‘{Ó#Ð#r6   c                ó|   — 	 | j                   j                  «       }t        |«      |k(  }|S # t        $ r d}Y |S w xY w)NF)rá   rU  r¶   rV  )r)   ÚvÚresults      r-   Ú
is_integerzndarray.is_integer  sH   € ð	Ø—‘× Ñ Ó"ˆAÜ˜“V˜q‘[ˆFð ˆøô ò 	Ø‰FØˆð	ús   ‚(, ¬;º;c                ó4   — | j                   j                  d   S )Nr   )rá   ró   rô   s    r-   Ú__len__zndarray.__len__   s   € Ø�{‰{× Ñ  Ñ#Ð#r6   c                ó8   — | j                   j                  |«      S r@   )rá   Ú__contains__)r)   rÄ   s     r-   rj  zndarray.__contains__#  s   € Ø�{‰{×'Ñ'¨Ó*Ð*r6   c                ó.   — t        j                  | |«      S r@   )r   r  )r)   Úaxess     r-   r  zndarray.transpose&  s   € ä×Ñ  dÓ+Ð+r6   ©r!  c               ó2   — t        j                  | ||¬«      S )Nrm  )r   Úreshape)r)   r!  ró   s      r-   ro  zndarray.reshape*  s   € ä�~‰~˜d E°Ô7Ð7r6   c           	     ó\   — t        j                  | t        j                  | |||«      «       y r@   )r   ÚcopytoÚsort)r)   ÚaxisÚkindr!  s       r-   rr  zndarray.sort.  s   € ä�‰�dœFŸK™K¨¨d°D¸%Ó@ÕAr6   c                óª   — |dk(  r| j                   j                  «       S t        |«      dk(  r| j                  «       |d      S | j	                  |«      S )NrO   r   r   )rá   rU  r/  r\   r>   )r)   rP   s     r-   rU  zndarray.item2  sO   € ð �2Š:Ø—;‘;×#Ñ#Ó%Ð%Ü�‹Y˜!Š^à—:‘:“<  Q¡Ñ(Ð(à×#Ñ# DÓ)Ð)r6   c                ól  ‡‡— | j                   Šˆfd„Št        |t        «      r$ t        |«      ˆfd„t	        |«      D «       «      }n	 ‰d|«      }t        j                  |«      }t        |«      }t        |«      }t        |‰j                  «      \  }}} |t        ‰j                  |«      «      «      S )Nc                ót  •— t        |t        «      r|j                  �|j                  dk  s|S t        j                  ‰| f«      Št        |j
                  t        «      s7|j
                  �+t        dt        |j
                  «      j                  › �«      ‚t        |j                  t        «      s7|j                  �+t        dt        |j                  «      j                  › �«      ‚|j                  r|j                  dz   nd }|j
                  r|j
                  dz   nd }t        |||j                   «      S )Nr   z%slice start must be int or None, got z$slice stop must be int or None, got r   )r    rÈ   Ústepr¡   ÚflipÚstartr¶   r'   r<  rI   Ústop)r�   r¾   rz  r{  rá   s       €r-   Úneg_stepz%ndarray.__getitem__.<locals>.neg_stepA  sö   ø€ Ü˜q¤%Ô(¨Q¯V©VÐ-?ÀAÇFÁFÈQÂJØ�ô —Z‘Z ¨¨Ó-ˆFô ˜qŸw™w¬Ô,°·±°Ü$Ø;¼DÀÇÁ»M×<RÑ<RÐ;SÐTóð ô ˜qŸv™v¤sÔ+¨q¯v©v¨~Ü$Ø:¼4ÀÇÁ»<×;PÑ;PÐ:QÐRóð ð #$§&¢&�A—F‘F˜Q’J¨dˆEØ"#§'¢'�1—7‘7˜Q’;¨tˆDä˜  q§v¡v gÓ.Ð.r6   c              3  ó6   •K  — | ]  \  }} ‰||«      –— Œ y ­wr@   rO   )rœ   r�   r¾   r|  s      €r-   rž   z&ndarray.__getitem__.<locals>.<genexpr>W  s   øè ø€ ÒL±4°1°a¡¨¨A§ÑLùs   ƒr   )rá   r    r   r<  rÒ   r
   Úndarrays_to_tensorsr›   r»   rÛ   r±   rß   r>   )r)   r¬   Úmaybe_squeezeÚ_r|  rá   s       @@r-   r>   zndarray.__getitem__>  sš   ù€ Ø—‘ˆô	/ô* �eœXÔ&Ø”D˜“KÓL¼9ÀUÓ;KÔLÓL‰Eá˜Q Ó&ˆEÜ×)Ñ)¨%Ó0ˆÜ# EÓ*ˆä*¨5Ó1ˆä"=¸eÀVÇ[Á[Ó"QÑˆˆ}˜aÙœW V×%7Ñ%7¸Ó%>Ó?Ó@Ð@r6   c                óx  — t        j                  |«      }t        |«      }t        |«      }t	        || j
                  j                  «      \  }}}t        j                  |«      s5t        |«      }t        j                  || j
                  j                  «      }| j
                  j                  | ||«      «      S r@   )r
   r~  r›   r»   rÛ   rá   r±   r   Ú	is_scalarr   Úcast_if_neededr£   rF   )r)   r¬   rC   r€  Úmaybe_unsqueezes        r-   rF   zndarray.__setitem__b  s“   € Ü×)Ñ)¨%Ó0ˆÜ# EÓ*ˆä*¨5Ó1ˆä$?ÀÀtÇ{Á{×GWÑGWÓ$XÑ!ˆˆq�/ä×%Ñ% eÔ,Ü(¨Ó/ˆEÜ×(Ñ(¨°·±×0AÑ0AÓBˆEà�{‰{×&Ñ& u©o¸eÓ.DÓEÐEr6   ©Ústreamc               ó:   — | j                   j                  |¬«      S )Nr…  )rá   Ú
__dlpack__)r)   r†  s     r-   rˆ  zndarray.__dlpack__s  s   € Ø�{‰{×%Ñ%¨VÐ%Ó4Ð4r6   c                ó6   — | j                   j                  «       S r@   )rá   Ú__dlpack_device__rô   s    r-   rŠ  zndarray.__dlpack_device__v  s   € Ø�{‰{×,Ñ,Ó.Ð.r6   r@   )r  r  TT)r   )r)   r   r!  r   )rC   r   )éÿÿÿÿNN)HrI   rJ   rK   r.   ÚmethodsÚitemsÚmethodrT   Úgetattrr   rR   rU   Úvarsr	   Ú	conjugaterä   ÚdunderÚ	ri_dunderÚplainÚrvarÚivarrï   rí   rñ   Úpropertyró   r÷   r±   r£   rÿ   r  r  r	  r  r  r  Úsetterr  r  r%  r   r$  r*  r8  rÝ   r:  r;  r@  rB  rE  rH  Ú__repr__rP  rR  rX  rZ  r\  r_  rb  rf  rh  rj  r  ro  rr  rU  r>   rF   rp   Úputrˆ  rŠ  rO   r6   r-   rß   rß   3  s¡  „ ó	ð  Ÿ™›ò 3‰ˆ�Ù�V˜Tš^ VÓ,ˆÙ& r¨6Ó2‰‹ˆvŠð3ñ
 ˜×*Ñ*¨FÓ3€DÙ˜g×/Ñ/Ó0€IàŸ™›ò 3‰ˆ�Ù�W˜dšn fÓ-ˆØ�f�X˜R�ˆÙ& r¨6Ó2‰‹ˆvŠð3ð
 "Ÿ™Ó)ò 	
‰ˆ�Ù�W˜dšn fÓ-ˆØ�V�H˜B�ˆÙ% b¨%Ó0‰‹ˆu‰Ø�V�H˜BÐˆÙ$¸BÒ%OÐQUÓV‰‹ˆt‰Ø�V�H˜BÐˆÙ$Ø#%Ò@À$ó
‰‹ˆtŠð	
ñ ˜wŸ~™~¨|Ó<€JÙÙ7¸ó€Kð
 	ˆd�D˜%  Vàñ(ó ð(ð ñ#ó ð#ð ñ ó ð ð ñ0ó ð0ð ñIó ðIð ñ*ó ð*ð ñ	
ó ð	
ð ñ&ó ð&ð ñ.ó ð.ð ñ ó ð ð ñ!ó ð!ð 
‡[�[ñ1ó ð1ð ñ!ó ð!ð 
‡[�[ñ1ó ð1ð ñó ðóð óó ðð ó#ó ð#ð +0ô "ð: &×1Ñ1¸×8PÑ8Pó ð ò!ó ð!ò
$ò<ò
ñ ˜WÓ%€Hò"ò òò!ò ò"ò$òò$ò+ò,ð %(ô 8óBò
*ò"AòHFð �;‰;€DØ
�*‰*€Cà#'ô 5ó/r6   rß   c                óð   — g }| D ]n  }t        |t        t        f«      rt        |«      }t        |t        «      r*|j                  |j                  j                  «       «       Œ^|j                  |«       Œp |S )z'Recursively convert tensors into lists.)r    Úlistrª   Ú_tolistrß   r·   rá   rB  )ÚobjÚa1Úelems      r-   r�  r�  z  sb   € à	€BØò ˆÜ�dœT¤5˜MÔ*Ü˜4“=ˆDÜ�dœGÔ$Ø�I‰I�d—k‘k×(Ñ(Ó*Õ+à�I‰I�d�Oðð €Ir6   Tr  F)r$  r!  r#  ÚndminÚlikec               óø  — |durt        d«      ‚|�t        d«      ‚|dk7  rt         ‚t        | t        «      r|du r|€|| j                  k  r| S t        | t        t
        f«      r5| r(t        d„ | D «       «      rt        j                  | «      } nt        | «      } t        | t        «      r| j                  } d }|�t        j                  |«      j                  }t        j                  | |||«      }t        |«      S )NFz#'subok' parameter is not supported.z"'like' parameter is not supported.r  c              3  óP   K  — | ]  }t        |t        j                  «      –— Œ  y ­wr@   )r    r¡   r¢   r.  s     r-   rž   zarray.<locals>.<genexpr>ž  s   è ø€ Ò@°q”z !¤U§\¡\×2Ñ@ùs   ‚$&)r;   r    rß   r±   rœ  rª   re   r¡   Ústackr�  rá   r   r£   r   r
   Ú_coerce_to_tensor)	rž  r£   r$  r!  r#  r¡  r¢  r   rá   s	            r-   Úarrayr§  ‹  së   € Ø�EÑÜ!Ð"GÓHÐHØÐÜ!Ð"FÓGÐGØ�‚|Ü!Ð!ô 	�3œÔ Ø�E‰MØˆMØ�S—X‘XÒàˆ
ä�#œœe�}Ô%á”3Ñ@¸CÔ@Ô@ä—+‘+˜cÓ"‰Cô ˜#“,ˆCô �#”wÔØ�j‰jˆð €KØÐÜ—m‘m EÓ*×6Ñ6ˆä×$Ñ$ S¨+°t¸UÓC€FÜ�6‹?Ðr6   )r¢  c               ó$   — t        | |||dd¬«      S )NFr   )r£   r!  r¢  r$  r¡  )r§  )Úar£   r!  r¢  s       r-   r  r  ³  s   € Ü�˜% u°4¸eÈ1ÔMÐMr6   c               ó”   — t        | ||¬«      }|j                  j                  «       s|j                  j                  «       |_        |S )N)r£   r¢  )r  rá   r  Ú
contiguous)r©  r£   r¢  Úarrs       r-   Úascontiguousarrayr­  ·  s9   € Ü
�!˜5 tÔ
,€CØ�:‰:×#Ñ#Ô%Ø—Z‘Z×*Ñ*Ó,ˆŒ
Ø€Jr6   c               óB   — t        j                  | «      }t        |«      S r@   )r¡   Úfrom_dlpackrß   )rÄ   rã   s     r-   r¯  r¯  ¾  s   € Ü×Ñ˜!Ó€AÜ�1‹:Ðr6   c                ó|   — 	 t        j                  | «      }|S # t        $ r t        | «      j                  }Y |S w xY wr@   )r   r£   rV  r  )ÚentryÚdtys     r-   Ú_extract_dtyper³  Ã  sA   € ð#Ü�m‰m˜EÓ"ˆð €Jøô ò #Ü�e‹n×"Ñ"‰Ø€Jð#ús   ‚ ™;º;c                ó„   — t        | «      } t        |«      }t        j                  | j                  |j                  |«      S r@   )r³  r   Úcan_cast_implr   )Úfrom_r¨   r"  Úto_s       r-   Úcan_castr¸  Ë  s5   € Ü˜5Ó!€EÜ
˜Ó
€Cä×%Ñ% e×&7Ñ&7¸¿¹È'ÓRÐRr6   c                 óP  — g }| D ])  }	 t        |«      j                  }|j                  |«       Œ+ t        j                  |Ž }t        j                  |«      S # t        t        t        f$ r9 t        j                  |«      }t        j                  d|j                  ¬«      }Y Œ†w xY w)Nr   )r£   )r  rá   rL  râ   rM  r   r£   r¡   Úemptyr   r·   r   Úresult_type_impl)Úarrays_and_dtypesÚtensorsr±  rã   r²  r   s         r-   Úresult_typer¾  Ò  s“   € Ø€GØ"ò ˆð	6Ü˜“×%Ñ%ˆAð 	�‰�qÕðô ×/Ñ/°Ð9€KÜ�=‰=˜Ó%Ð%øô œj¬)Ð4ò 	6Ü—-‘- Ó&ˆCÜ—‘˜A S§_¡_Ô5ŠAð	6ús   ‰AÁA
B%Â$B%r@   )Nr  )Úsafe)+Ú
__future__r   r0  r1  rT  Úcollections.abcr   r¡   Ú r   r   r   r	   r
   Ú_normalizationsr   r   r   r   Únewaxisr&   r9   r$   rU   rŒ  r’  r“  r›   r´   r»   r½   rÛ   rÝ   r:  rß   r�  r§  r  r­  r¯  r³  r¸  r¾  rO   r6   r-   ú<module>rÅ     s=  ðõ #ã Û Û Ý $ã ç ;Õ ;÷ó ð €ò	€ð 
Ø	Ø	Ø	Ø	Ø	Ø	Ø
Ø
ñ
Ð ÷"3ñ "3óJð"Ø
ˆDð"àˆtð"ð ˆdð"ð ˆTð	"ð
 ˆtð"ð �ð"ð ˆTð"ð �ð"ð 
ˆ4ð"ð ˆTð"ð ˆtð"ð �Dð"ð  ˆdð!"ð" ˆdð#"ð$ 
ˆ4ð%"ð& 
ˆ4ð'"ð( 
ˆ4ð)"ð* ØØØØØØàØàØòC"€ðJ ØØØØ
Ø
Ø
Ø
ñ	
€ð ØØØØØØØØ
ØØØØñ€	ò"òòòB	ò?+÷H	ñ 	ñ (›>€Ô ÷D/ñ D/òN

ð"% 4¨s¸%ÀqÈtô %ðPN¨dô Nð¨Tô òò
óSó&r6   