§
    Ÿ²ÅjJC  ã                  ó  — 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dNd„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 G d<„ d=¦  «        Z e¦   «         e_         G d>„ d?¦  «        Zd@„ ZdNdAdBdCd ddDœdE„Z dOddFœdG„Z!dNddFœdH„Z"dI„ Z#dJ„ Z$dPdL„Z%dM„ Z&dS )Qé    )Ú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 )ÚFlagsÚflag_to_valueÚdictc                ón   — t          d„ |                     ¦   «         D ¦   «         ¦  «        sJ ‚|| _        d S )Nc              3  ó(   K  — | ]}|t           v V — Œd S ©N)ÚFLAGS)Ú.0Úks     úFC:\Projects\Historical\venv\Lib\site-packages\torch/_numpy/_ndarray.pyú	<genexpr>z!Flags.__init__.<locals>.<genexpr>4   s&   è è € Ð<Ð< !�1��:Ð<Ð<Ð<Ð<Ð<Ð<ó    )ÚallÚkeysÚ_flag_to_value)Úselfr%   s     r-   Ú__init__zFlags.__init__3   s?   € ÝÐ<Ð< }×'9Ò'9Ñ';Ô';Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ø+ˆÔÐÐr/   ÚattrÚstrc                óº   — |                      ¦   «         r5|                     ¦   «         t          v r| |                     ¦   «                  S t          d|› d�¦  «        ‚)NzNo flag attribute 'ú')ÚislowerÚupperr*   ÚAttributeError)r3   r5   s     r-   Ú__getattr__zFlags.__getattr__7   sR   € Ø�<Š<‰>Œ>ð 	@˜dŸjšj™lœl­eÐ3Ð3Ø˜Ÿ
š
™œÔ%Ð%å Ð!>°tÐ!>Ð!>Ð!>Ñ?Ô?Ð?r/   c                óð   — |t                                ¦   «         v rt           |         }|t          v r3	 | j        |         S # t          $ r}t          d|›�¦  «        |‚d }~ww xY wt	          d|› d�¦  «        ‚)Nzkey=úNo flag key 'r8   )ÚSHORTHAND_TO_FLAGSr1   r*   r2   ÚKeyErrorÚNotImplementedError)r3   ÚkeyÚes      r-   Ú__getitem__zFlags.__getitem__=   s‘   € ØÕ$×)Ò)Ñ+Ô+Ð+Ð+Ý$ SÔ)ˆCØ•%ˆ<ˆ<ð<ØÔ*¨3Ô/Ð/øÝð <ð <ð <Ý)¨)¨S¨)¨)Ñ4Ô4¸!Ð;øøøøð<øøøõ Ð1¨3Ð1Ð1Ð1Ñ2Ô2Ð2s   ³A  Á 
A"Á
AÁA"c                óÜ   •— |                      ¦   «         r4|                     ¦   «         t          v r|| |                     ¦   «         <   d S t          ¦   «                              ||¦  «         d S r)   )r9   r:   r*   ÚsuperÚ__setattr__)r3   r5   ÚvalueÚ	__class__s      €r-   rG   zFlags.__setattr__H   s]   ø€ Ø�<Š<‰>Œ>ð 	-˜dŸjšj™lœl­eÐ3Ð3Ø!&ˆD�—’‘”ÑÐÐå‰GŒG×Ò  eÑ,Ô,Ð,Ð,Ð,r/   c                óŽ   — |t           v s|t                               ¦   «         v rt          d¦  «        ‚t	          d|› d�¦  «        ‚)Nz"Modifying flags is not implementedr>   r8   )r*   r?   r1   rA   r@   )r3   rB   rH   s      r-   Ú__setitem__zFlags.__setitem__N   sK   € Ø•%ˆ<ˆ<˜3Õ"4×"9Ò"9Ñ";Ô";Ð;Ð;Ý%Ð&JÑKÔKÐKåÐ1¨3Ð1Ð1Ð1Ñ2Ô2Ð2r/   )r%   r&   )r5   r6   )	Ú__name__Ú
__module__Ú__qualname__r4   r<   rD   rG   rK   Ú__classcell__)rI   s   @r-   r$   r$   2   s‚   ø€ € € € € ð,ð ,ð ,ð ,ð@ð @ð @ð @ð	3ð 	3ð 	3ð-ð -ð -ð -ð -ð3ð 3ð 3ð 3ð 3ð 3ð 3r/   r$   c                óF   ‡ — |p‰ j         }ˆ fd„}||_         d|› �|_        |S )Nc                 ó   •—  ‰| i |¤ŽS r)   © )ÚargsÚkwargsÚfns     €r-   Úfzcreate_method.<locals>.fX   s   ø€ Øˆr�4Ð"˜6Ð"Ð"Ð"r/   zndarray.)rL   rN   )rU   ÚnamerV   s   `  r-   Úcreate_methodrX   U   sE   ø€ ØÐ�2”;€Dð#ð #ð #ð #ð #ð €A„JØ& Ð&Ð&€A„NØ€Hr/   ÚclipÚnonzeroÚrepeatÚroundÚsqueezeÚswapaxesÚravelÚdiagonalÚdotÚtraceÚargsortÚsearchsortedÚargmaxÚargminÚanyr0   Ú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          j        ¦  «        rU| j        t          j        t          j        t          j        t          j        fv r|                      t          j	        ¦  «        S n.t          | t          ¦  «        rt          d„ | D ¦   «         ¦  «        S | S )Nc              3  ó4   K  — | ]}t          |¦  «        V — Œd S r)   )Ú_upcast_int_indices)r+   Úis     r-   r.   z&_upcast_int_indices.<locals>.<genexpr>¨   s+   è è € Ð;Ð;°Õ(¨Ñ+Ô+Ð;Ð;Ð;Ð;Ð;Ð;r/   )Ú
isinstanceÚtorchÚTensorÚdtypeÚint8Úint16Úint32Úuint8ÚtoÚint64Útuple)Úindexs    r-   r�   r�   £   s‚   € Ý�%�œÑ&Ô&ð <ØŒ;�5œ:¥u¤{µE´KÅÄÐMÐMÐMØ—8’8�EœKÑ(Ô(Ð(ð Nå	�E�5Ñ	!Ô	!ð <ÝÐ;Ð;°UÐ;Ñ;Ô;Ñ;Ô;Ð;Ø€Lr/   c                  ó   — e Zd ZdS )Ú_UnspecifiedN)rL   rM   rN   rR   r/   r-   r¬   r¬   ®   s   € € € € € Ø€Dr/   r¬   c                  ó8  — e Zd ZdCd„Ze                     ¦   «         D ]*\  ZZ ee	epe¦  «        Z
 ee
e¦  «         e¦   «         e<   Œ+ eej        d¦  «        Z eej        ¦  «        Ze                     ¦   «         D ]0\  ZZ eeepe¦  «        Z
de› d�Z ee
e¦  «         e¦   «         e<   Œ1e                     ¦   «         D ]p\  ZZ eeep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<   Œq 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#j$        d„ ¦   «         Z#ed„ ¦   «         Z%e%j$        d„ ¦   «         Z%dDd„Z&e'dEdFd#„¦   «         Z(e'dEdFd$„¦   «         Z)d%d&œd'„Z*e+j,        e+j,        fd(„Z-e'dGd*„¦   «         Z.d+„ Z/d,„ Z0d-„ Z1 ee1¦  «        Z2d.„ Z3d/„ Z4d0„ Z5d1„ Z6d2„ Z7d3„ Z8d4„ Z9d5„ Z:d6„ Z;d7„ Z<d8„ Z=dd9œd:„Z>dHd<„Z?d=„ Z@d>„ ZAd?„ ZBe	jC        ZCe	jD        ZDdd@œdA„ZEdB„ ZFdS )IÚndarrayNc                óž   — |€t          j        ¦   «         | _        d S t          |t           j        ¦  «        r	|| _        d S t	          d¦  «        ‚)NzSndarray constructor is not recommended; prefereither array(...) or zeros/empty(...))r    r¡   ÚtensorrŸ   Ú
ValueError)r3   Úts     r-   r4   zndarray.__init__º   sN   € Øˆ9Ýœ,™.œ.ˆDŒKˆKˆKÝ˜�5œ<Ñ(Ô(ð 	ØˆDŒKˆKˆKåð8ñô ð r/   ÚconjÚ__Ú__rc                ó   —  ||| ¦  «        S r)   rR   ©r3   ÚotherrU   s      r-   ú<lambda>zndarray.<lambda>Ø   s   € ÀÀÀ5È$ÁÄ€ r/   Ú__ic                ó   —  || || ¬¦  «        S )N)ÚoutrR   r·   s      r-   r¹   zndarray.<lambda>Û   s   €  r r¨$°¸4Ð'@Ñ'@Ô'@€ r/   Ú
__divmod__c                ó,   — t          j        || ¦  «        S r)   )r	   Údivmod©r3   r¸   s     r-   r¹   zndarray.<lambda>á   s   € �GœN¨5°$Ñ7Ô7€ r/   Ú__rdivmod__c                ó4   — t          | j        j        ¦  «        S r)   )r©   r°   Úshape©r3   s    r-   rÃ   zndarray.shapeç   s   € å�T”[Ô&Ñ'Ô'Ð'r/   c                ó4   — | j                              ¦   «         S r)   )r°   ÚnumelrÄ   s    r-   Úsizezndarray.sizeë   s   € àŒ{× Ò Ñ"Ô"Ð"r/   c                ó   — | j         j        S r)   )r°   ÚndimrÄ   s    r-   rÉ   zndarray.ndimï   s   € àŒ{ÔÐr/   c                ó>   — t          j        | j        j        ¦  «        S r)   )r   r¢   r°   rÄ   s    r-   r¢   zndarray.dtypeó   s   € åŒ}˜Tœ[Ô.Ñ/Ô/Ð/r/   c                óš   ‡— | j                              ¦   «         Št          ˆfd„| j                              ¦   «         D ¦   «         ¦  «        S )Nc              3  ó"   •K  — | ]	}|‰z  V — Œ
d S r)   rR   )r+   ÚstrideÚelsizes     €r-   r.   z"ndarray.strides.<locals>.<genexpr>ú   s'   øè è € ÐHÐH¨�V˜f‘_ÐHÐHÐHÐHÐHÐHr/   )r°   Úelement_sizer©   rÍ   )r3   rÎ   s    @r-   Ústrideszndarray.strides÷   sG   ø€ à”×)Ò)Ñ+Ô+ˆÝÐHÐHÐHÐH°4´;×3EÒ3EÑ3GÔ3GÐHÑHÔHÑHÔHÐHr/   c                ó4   — | j                              ¦   «         S r)   )r°   rÏ   rÄ   s    r-   Úitemsizezndarray.itemsizeü   s   € àŒ{×'Ò'Ñ)Ô)Ð)r/   c                ó¨   — t          | 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.flags   sT   € õ à $¤× 9Ò 9Ñ ;Ô ;Ø $¤¤× ;Ò ;Ñ =Ô =Øœ;Ô,°Ð4Ø!ð	ð ñ
ô 
ð 	
r/   c                ó4   — | j                              ¦   «         S r)   )r°   Údata_ptrrÄ   s    r-   Údatazndarray.data  s   € àŒ{×#Ò#Ñ%Ô%Ð%r/   c                óX   — | j                              ¦   «                              ¦   «         S r)   )r°   ÚstorageÚnbytesrÄ   s    r-   rÝ   zndarray.nbytes  s"   € àŒ{×"Ò"Ñ$Ô$×+Ò+Ñ-Ô-Ð-r/   c                ó*   — |                       ¦   «         S r)   )Ú	transposerÄ   s    r-   rÕ   z	ndarray.T  s   € à�~Š~ÑÔÐr/   c                ó*   — t          j        | ¦  «        S r)   )r   ÚrealrÄ   s    r-   rá   zndarray.real  ó   € åŒ{˜4Ñ Ô Ð r/   c                óB   — t          |¦  «        j        | j        _        d S r)   )Úasarrayr°   rá   ©r3   rH   s     r-   rá   zndarray.real  ó   € å" 5™>œ>Ô0ˆŒÔÐÐr/   c                ó*   — t          j        | ¦  «        S r)   )r   ÚimagrÄ   s    r-   rè   zndarray.imag   râ   r/   c                óB   — t          |¦  «        j        | j        _        d S r)   )rä   r°   rè   rå   s     r-   rè   zndarray.imag$  ræ   r/   ÚKÚunsafeTc                ó>  — |dk    rt          d|› d�¦  «        ‚|dk    rt          d|› d�¦  «        ‚|st          d|› d�¦  «        ‚|st          d|› d�¦  «        ‚t          j        |¦  «        j        }| j                             |¦  «        }t          |¦  «        S )Nrê   zastype(..., order=ú is not implemented.rë   zastype(..., casting=zastype(..., subok=zastype(..., copy=)rA   r   r¢   Útorch_dtyper°   r§   r®   )r3   r¢   ÚorderÚcastingÚsubokÚcopyrî   r²   s           r-   Úastypezndarray.astype)  sÉ   € Ø�CŠ<ˆ<Ý%Ð&V¸5Ð&VÐ&VÐ&VÑWÔWÐWØ�hÒÐÝ%ØD wÐDÐDÐDñô ð ð ð 	XÝ%Ð&V¸5Ð&VÐ&VÐ&VÑWÔWÐWØð 	VÝ%Ð&T¸$Ð&TÐ&TÐ&TÑUÔUÐUÝ”m EÑ*Ô*Ô6ˆØŒK�NŠN˜;Ñ'Ô'ˆÝ�q‰zŒzÐr/   r   r3   r   rï   r   c                ó*   — |                       ¦   «         S r)   )Úclone©r3   rï   s     r-   rò   zndarray.copy8  s   € à�zŠz‰|Œ|Ðr/   c                ó*   — t          j        | ¦  «        S r)   )r    Úflattenrö   s     r-   rø   zndarray.flatten<  s   € åŒ}˜TÑ"Ô"Ð"r/   F)Úrefcheckc               ó:  — |rt          d|› d�¦  «        ‚|dv rd S t          |¦  «        dk    r|d         }t          |t          ¦  «        r|f}t	          j        d„ |D ¦   «         ¦  «        rt          d¦  «        ‚t          j        |¦  «        | j	         
                    ¦   «         }}| j	                             |¦  «         ||k    rR| j	                             ¦   «         sJ ‚| j	                             ¦   «         }||d …                              ¦   «          d S d S )Nzresize(..., refcheck=rí   )rR   r)   r   r   c              3  ó"   K  — | ]
}|d k     V — ŒdS )r   NrR   ©r+   Úxs     r-   r.   z!ndarray.resize.<locals>.<genexpr>O  s&   è è € Ð1Ð1 !˜˜AšÐ1Ð1Ð1Ð1Ð1Ð1r/   z0all elements of `new_shape` must be non-negative)rA   ÚlenrŸ   ÚintÚbuiltinsrg   r±   Úmathrl   r°   rÆ   Úresize_rÔ   rø   Úzero_)r3   rù   Ú	new_shapeÚ	new_numelÚ	old_numelÚbs         r-   Úresizezndarray.resize@  s9  € àð 	Ý%ØF¨ÐFÐFÐFñô ð ð ˜Ð%Ð%ØˆFõ ˆy‰>Œ>˜QÒÐØ! !œˆIÝ�i¥Ñ%Ô%ð 	%Ø"˜ˆIåŒ<Ð1Ð1 yÐ1Ñ1Ô1Ñ1Ô1ð 	QÝÐOÑPÔPÐPå#œy¨Ñ3Ô3°T´[×5FÒ5FÑ5HÔ5H�9ˆ	àŒ×Ò˜IÑ&Ô&Ð&à˜	Ò!Ð!à”;×,Ò,Ñ.Ô.Ð.Ð.Ð.Ø”×#Ò#Ñ%Ô%ˆAØˆiˆjˆjŒM×ÒÑ!Ô!Ð!Ð!Ð!ð	 "Ð!r/   c                óò   — |t           j        u r| j        }|t           j        urt          d|› d�¦  «        ‚t	          j        |¦  «        j        }| j                             |¦  «        }t          |¦  «        S )Nzview(..., type=rí   )	r¬   Úunspecifiedr¢   rA   r   rî   r°   Úviewr®   )r3   r¢   Útyperî   Útviews        r-   r  zndarray.view\  sr   € Ø•LÔ,Ð,Ð,Ø”JˆEØ•|Ô/Ð/Ð/Ý%Ð&R¸Ð&RÐ&RÐ&RÑSÔSÐSÝ”m EÑ*Ô*Ô6ˆØ”× Ò  Ñ-Ô-ˆÝ�u‰~Œ~Ðr/   rH   c                ó:   — | j                              |¦  «         d S r)   )r°   Úfill_rå   s     r-   Úfillzndarray.fille  s    € ð 	Œ×Ò˜%Ñ Ô Ð Ð Ð r/   c                ó4   — | j                              ¦   «         S r)   )r°   ÚtolistrÄ   s    r-   r  zndarray.tolistk  s   € ØŒ{×!Ò!Ñ#Ô#Ð#r/   c                óH   — d„ | j                              ¦   «         D ¦   «         S )Nc              3  ó4   K  — | ]}t          |¦  «        V — Œd S r)   )r®   rü   s     r-   r.   z#ndarray.__iter__.<locals>.<genexpr>o  s(   è è € Ð;Ð;˜q•˜‘
”
Ð;Ð;Ð;Ð;Ð;Ð;r/   )r°   Ú__iter__rÄ   s    r-   r  zndarray.__iter__n  s$   € Ø;Ð; D¤K×$8Ò$8Ñ$:Ô$:Ð;Ñ;Ô;Ð;r/   c                óz   — t          | j        ¦  «                             dd¦  «                             dd¦  «        S )Nr°   ztorch.ndarrayzdtype=torch.zdtype=)r6   r°   ÚreplacerÄ   s    r-   Ú__str__zndarray.__str__q  s2   € å�”ÑÔßŠW�X˜Ñ/Ô/ßŠW�^ XÑ.Ô.ð	
r/   c                ó¼   — 	 t          j        | |¦  «        S # t          t          f$ r3 t	          j        | j        dt          ¬¦  «        }t          |¦  «        cY S w xY w)NF)Ú
fill_valuer¢   )	r	   ÚequalÚRuntimeErrorÚ	TypeErrorr    ÚfullrÃ   Úboolrä   )r3   r¸   Úfalsys      r-   Ú__eq__zndarray.__eq__z  sc   € ð	"Ý”=  uÑ-Ô-Ð-øÝ�iÐ(ð 	"ð 	"ð 	"å”J˜tœz°eÅ4ÐHÑHÔHˆEÝ˜5‘>”>Ð!Ð!Ð!ð	"øøøs   ‚ —AAÁAc                ó   — | |k     S r)   rR   rÀ   s     r-   Ú__ne__zndarray.__ne__‚  s   € Ø˜’ÐÐr/   c                óž   — 	 t          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Ú	Exceptionr  )r3   Úexcs     r-   Ú	__index__zndarray.__index__…  s\   € ð	Ý”> $¤+×"2Ò"2Ñ"4Ô"4Ñ5Ô5Ð5øÝð 	ð 	ð 	ÝØOñô àðøøøøð	øøøs   ‚*- ­
A·AÁAc                ó*   — t          | j        ¦  «        S r)   )r  r°   rÄ   s    r-   Ú__bool__zndarray.__bool__�  s   € Ý�D”KÑ Ô Ð r/   c                ó*   — t          | j        ¦  «        S r)   )rÿ   r°   rÄ   s    r-   Ú__int__zndarray.__int__�  s   € Ý�4”;ÑÔÐr/   c                ó*   — t          | j        ¦  «        S r)   )Úfloatr°   rÄ   s    r-   Ú	__float__zndarray.__float__“  s   € Ý�T”[Ñ!Ô!Ð!r/   c                ó*   — t          | j        ¦  «        S r)   )Úcomplexr°   rÄ   s    r-   Ú__complex__zndarray.__complex__–  s   € Ý�t”{Ñ#Ô#Ð#r/   c                ó†   — 	 | j                              ¦   «         }t          |¦  «        |k    }n# t          $ r d}Y nw xY w|S )NF)r°   r&  rÿ   r'  )r3   ÚvÚresults      r-   Ú
is_integerzndarray.is_integer™  sT   € ð	Ø”× Ò Ñ"Ô"ˆAÝ˜‘V”V˜q’[ˆFˆFøÝð 	ð 	ð 	ØˆFˆFˆFð	øøøàˆs   ‚,/ ¯>½>c                ó&   — | j         j        d         S )Nr   )r°   rÃ   rÄ   s    r-   Ú__len__zndarray.__len__¡  s   € ØŒ{Ô  Ô#Ð#r/   c                ó6   — | j                              |¦  «        S r)   )r°   Ú__contains__)r3   rý   s     r-   r;  zndarray.__contains__¤  s   € ØŒ{×'Ò'¨Ñ*Ô*Ð*r/   c                ó,   — t          j        | |¦  «        S r)   )r   rß   )r3   Úaxess     r-   rß   zndarray.transpose§  s   € åÔ  dÑ+Ô+Ð+r/   ©rï   c               ó0   — t          j        | ||¬¦  «        S )Nr>  )r   Úreshape)r3   rï   rÃ   s      r-   r@  zndarray.reshape«  s   € åŒ~˜d E°Ð7Ñ7Ô7Ð7r/   éÿÿÿÿc           	     óZ   — t          j        | t          j        | |||¦  «        ¦  «         d S r)   )r   ÚcopytoÚsort)r3   ÚaxisÚkindrï   s       r-   rD  zndarray.sort¯  s*   € åŒ�d�FœK¨¨d°D¸%Ñ@Ô@ÑAÔAÐAÐAÐAr/   c                óÐ   — |dk    r| j                              ¦   «         S t          |¦  «        dk    r |                      ¦   «         |d                  S |                      |¦  «        S )NrR   r   r   )r°   r&  rþ   r_   rD   )r3   rS   s     r-   r&  zndarray.item³  s[   € ð �2Š:ˆ:Ø”;×#Ò#Ñ%Ô%Ð%Ý�‰YŒY˜!Š^ˆ^à—:’:‘<”<  Q¤Ô(Ð(à×#Ò# DÑ)Ô)Ð)r/   c                óN  ‡‡— | j         Šˆfd„Št          |t          ¦  «        r2 t          |¦  «        ˆfd„t	          |¦  «        D ¦   «         ¦  «        }n ‰d|¦  «        }t          j        |¦  «        }t          |¦  «        }t          ‰ 	                    |¦  «        ¦  «        S )Nc                óˆ  •— t          |t          ¦  «        r|j        �|j        dk     s|S t          j        ‰| f¦  «        Št          |j        t          ¦  «        s	|j        �J ‚t          |j        t          ¦  «        s	|j        �J ‚|j        r
|j        dz   nd }|j        r
|j        dz   nd }t          |||j         ¦  «        S )Nr   r   )rŸ   ÚsliceÚstepr    ÚflipÚstartrÿ   Ústop)rž   ÚsrM  rN  r°   s       €r-   Úneg_stepz%ndarray.__getitem__.<locals>.neg_stepÂ  s¾   ø€ Ý˜q¥%Ñ(Ô(ð ¨Q¬VÐ-?ÀAÄFÈQÂJÀJØ�õ ”Z ¨¨Ñ-Ô-ˆFõ ˜aœg¥sÑ+Ô+Ð>¨q¬w¨¨Ð>Ý˜aœf¥cÑ*Ô*Ð<¨a¬f¨n¨nÐ<Ø"#¤&Ð2�A”F˜Q‘J�J¨dˆEØ"#¤'Ð3�1”7˜Q‘;�;¨tˆDå˜  q¤v gÑ.Ô.Ð.r/   c              3  ó6   •K  — | ]\  }} ‰||¦  «        V — Œd S r)   rR   )r+   rž   rO  rP  s      €r-   r.   z&ndarray.__getitem__.<locals>.<genexpr>Ò  s1   øè è € ÐLÐL±4°1°a  ¨¨A¡¤ÐLÐLÐLÐLÐLÐLr/   r   )
r°   rŸ   r   r  Ú	enumerater
   Úndarrays_to_tensorsr�   r®   rD   )r3   rª   rP  r°   s     @@r-   rD   zndarray.__getitem__¿  s¶   øø€ Ø”ˆð	/ð 	/ð 	/ð 	/ð 	/õ �e�XÑ&Ô&ð 	'Ø•D˜‘K”KÐLÐLÐLÐL½9ÀUÑ;KÔ;KÐLÑLÔLÑLÔLˆEˆEà�H˜Q Ñ&Ô&ˆEÝÔ)¨%Ñ0Ô0ˆÝ# EÑ*Ô*ˆÝ�v×)Ò)¨%Ñ0Ô0Ñ1Ô1Ð1r/   c                ó  — t          j        |¦  «        }t          |¦  «        }t          j        |¦  «        s.t          |¦  «        }t          j        || j        j        ¦  «        }| j         	                    ||¦  «        S r)   )
r
   rS  r�   r   Ú	is_scalarr   Úcast_if_neededr°   r¢   rK   )r3   rª   rH   s      r-   rK   zndarray.__setitem__Ù  so   € ÝÔ)¨%Ñ0Ô0ˆÝ# EÑ*Ô*ˆåÔ% eÑ,Ô,ð 	CÝ(¨Ñ/Ô/ˆEÝÔ(¨°´Ô0AÑBÔBˆEàŒ{×&Ò& u¨eÑ4Ô4Ð4r/   ©Ústreamc               ó8   — | j                              |¬¦  «        S )NrW  )r°   Ú
__dlpack__)r3   rX  s     r-   rZ  zndarray.__dlpack__æ  s   € ØŒ{×%Ò%¨VÐ%Ñ4Ô4Ð4r/   c                ó4   — | j                              ¦   «         S r)   )r°   Ú__dlpack_device__rÄ   s    r-   r\  zndarray.__dlpack_device__é  s   € ØŒ{×,Ò,Ñ.Ô.Ð.r/   r)   )rê   rë   TT)r   )r3   r   rï   r   )rH   r   )rA  NN)GrL   rM   rN   r4   ÚmethodsÚitemsÚmethodrW   Úgetattrr   rU   rX   Ú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  r¬   r
  r  r  r  r  r  Ú__repr__r!  r#  r)  r+  r-  r0  r3  r7  r9  r;  rß   r@  rD  r&  rD   rK   rr   ÚputrZ  r\  rR   r/   r-   r®   r®   ¹   s½  € € € € € ð	ð 	ð 	ð 	ð  Ÿš™œð 3ð 3‰ˆ�ØˆW�V˜T˜^ VÑ,Ô,ˆØ&˜ r¨6Ñ2Ô2ˆˆ‰Œˆv‰ˆð ˆ=˜Ô*¨FÑ3Ô3€DØ�˜gÔ/Ñ0Ô0€IàŸš™œð 3ð 3‰ˆ�ØˆW�W˜d˜n fÑ-Ô-ˆØ �f���ˆØ&˜ r¨6Ñ2Ô2ˆˆ‰Œˆv‰ˆà!ŸšÑ)Ô)ð 	
ð 	
‰ˆ�ØˆW�W˜d˜n fÑ-Ô-ˆØ�V���ˆØ%˜ b¨%Ñ0Ô0ˆˆ‰Œˆu‰Ø�VÐÐÐˆØ$�}¸BÐ%OÐ%OÐ%OÐQUÑVÔVˆˆ‰Œˆt‰Ø�VÐÐÐˆØ$�}Ø#%Ð@Ð@Ð@À$ñ
ô 
ˆˆ‰Œˆt‰ˆð
 �˜wœ~¨|Ñ<Ô<€JØ�-Ø7Ð7¸ñô €Kð
 	ˆd�D˜%  Vàð(ð (ñ „Xð(ð ð#ð #ñ „Xð#ð ð ð  ñ „Xð ð ð0ð 0ñ „Xð0ð ðIð Iñ „XðIð ð*ð *ñ „Xð*ð ð	
ð 	
ñ „Xð	
ð ð&ð &ñ „Xð&ð ð.ð .ñ „Xð.ð ð ð  ñ „Xð ð ð!ð !ñ „Xð!ð 
„[ð1ð 1ñ „[ð1ð ð!ð !ñ „Xð!ð 
„[ð1ð 1ñ „[ð1ðð ð ð ð ðð ð ð ñ „Zðð ð#ð #ð #ð #ñ „Zð#ð +0ð "ð "ð "ð "ð "ð8 &Ô1¸Ô8Pð ð ð ð ð ð!ð !ð !ñ „Zð!ð
$ð $ð $ð<ð <ð <ð
ð 
ð 
ð ˆ}˜WÑ%Ô%€Hð"ð "ð "ð ð  ð  ðð ð ð!ð !ð !ð ð  ð  ð"ð "ð "ð$ð $ð $ðð ð ð$ð $ð $ð+ð +ð +ð,ð ,ð ,ð %(ð 8ð 8ð 8ð 8ð 8ðBð Bð Bð Bð
*ð 
*ð 
*ð2ð 2ð 2ð45ð 5ð 5ð Œ;€DØ
Œ*€Cà#'ð 5ð 5ð 5ð 5ð 5ð/ð /ð /ð /ð /r/   r®   c                ó  — g }| D ]„}t          |t          t          f¦  «        rt          |¦  «        }t          |t          ¦  «        r-|                     |j                             ¦   «         ¦  «         Œo|                     |¦  «         Œ…|S )z'Recursively convert tensors into lists.)rŸ   Úlistr©   Ú_tolistr®   Úappendr°   r  )ÚobjÚa1Úelems      r-   rn  rn  í  s‚   € à	€BØð ð ˆÝ�d�T¥5˜MÑ*Ô*ð 	!Ý˜4‘=”=ˆDÝ�d�GÑ$Ô$ð 	Ø�IŠI�d”k×(Ò(Ñ*Ô*Ñ+Ô+Ð+Ð+à�IŠI�d‰OŒOˆOˆOØ€Ir/   Trê   F)rò   rï   rñ   ÚndminÚlikec               ó(  — |durt          d¦  «        ‚|�t          d¦  «        ‚|dk    rt           ‚t          | t          ¦  «        r|du r|€|| j        k    r| S t          | t          t
          f¦  «        r?| 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  óJ   K  — | ]}t          |t          j        ¦  «        V — Œd S r)   )rŸ   r    r¡   rü   s     r-   r.   zarray.<locals>.<genexpr>  s.   è è € Ð@Ð@°q•z !¥U¤\Ñ2Ô2Ð@Ð@Ð@Ð@Ð@Ð@r/   )rA   rŸ   r®   rÉ   rm  r©   r0   r    Ústackrn  r°   r   r¢   rî   r
   Ú_coerce_to_tensor)	rp  r¢   rò   rï   rñ   rs  rt  rî   r°   s	            r-   Úarrayry  þ  s*  € Ø�EÐÐÝ!Ð"GÑHÔHÐHØÐÝ!Ð"FÑGÔGÐGØ�‚|€|Ý!Ð!õ 	�3�Ñ Ô ðà�EˆMˆMØˆMØ�S”XÒÐàˆ
å�#��e�}Ñ%Ô%ð àð 	•3Ð@Ð@¸CÐ@Ñ@Ô@Ñ@Ô@ð 	å”+˜cÑ"Ô"ˆCˆCõ ˜#‘,”,ˆCõ �#•wÑÔð ØŒjˆð €KØÐÝ”m EÑ*Ô*Ô6ˆåÔ$ S¨+°t¸UÑCÔC€FÝ�6‰?Œ?Ðr/   )rt  c               ó,   — t          | |||dd¬¦  «        S )NFr   )r¢   rï   rt  rò   rs  )ry  )Úar¢   rï   rt  s       r-   rä   rä   &  s   € Ý�˜% u°4¸eÈ1ÐMÑMÔMÐMr/   c               ó˜   — t          | ||¬¦  «        }|j                             ¦   «         s|j                             ¦   «         |_        |S )N)r¢   rt  )rä   r°   rÔ   Ú
contiguous)r{  r¢   rt  Úarrs       r-   Úascontiguousarrayr  *  sF   € Ý
�!˜5 tÐ
,Ñ
,Ô
,€CØŒ:×#Ò#Ñ%Ô%ð -Ø”Z×*Ò*Ñ,Ô,ˆŒ
Ø€Jr/   c               óH   — t          j        | ¦  «        }t          |¦  «        S r)   )r    Úfrom_dlpackr®   )rý   r²   s     r-   r�  r�  1  s   € ÝÔ˜!ÑÔ€AÝ�1‰:Œ:Ðr/   c                óz   — 	 t          j        | ¦  «        }n$# t          $ r t          | ¦  «        j        }Y nw xY w|S r)   )r   r¢   r'  rä   )ÚentryÚdtys     r-   Ú_extract_dtyper…  6  sJ   € ð#ÝŒm˜EÑ"Ô"ˆˆøÝð #ð #ð #Ý�e‰nŒnÔ"ˆˆˆð#øøøà€Js   ‚ —8·8Úsafec                ó~   — t          | ¦  «        } t          |¦  «        }t          j        | j        |j        |¦  «        S r)   )r…  r   Úcan_cast_implrî   )Úfrom_r§   rð   Úto_s       r-   Úcan_castr‹  >  s6   € Ý˜5Ñ!Ô!€EÝ
˜Ñ
Ô
€CåÔ% eÔ&7¸¼È'ÑRÔRÐRr/   c                 óB  — g }| D ]y}	 t          |¦  «        j        }nL# t          t          t          f$ r2 t          j        |¦  «        }t          j        d|j	        ¬¦  «        }Y nw xY w| 
                    |¦  «         Œzt          j        |Ž }t          j        |¦  «        S )Nr   )r¢   )rä   r°   r  r±   r  r   r¢   r    Úemptyrî   ro  r   Úresult_type_impl)Úarrays_and_dtypesÚtensorsrƒ  r²   r„  rî   s         r-   Úresult_typer‘  E  sª   € Ø€GØ"ð ð ˆð	6Ý˜‘”Ô%ˆAˆAøÝ�j­)Ð4ð 	6ð 	6ð 	6Ý”- Ñ&Ô&ˆCÝ”˜A S¤_Ð5Ñ5Ô5ˆAˆAˆAð	6øøøð 	�Š�qÑÔÐÐåÔ/°Ð9€KÝŒ=˜Ñ%Ô%Ð%s   ˆ�AA&Á%A&r)   )Nrê   )r†  )'Ú
__future__r   r   r  r%  Útypingr   r    Ú r   r   r   r	   r
   Ú_normalizationsr   r   r   r   Únewaxisr*   r?   r$   rX   r]  rc  rd  r�   r¬   r
  r®   rn  ry  rä   r  r�  r…  r‹  r‘  rR   r/   r-   ú<module>r—     s×  ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à €€€à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;ðð ð ð ð ð ð ð ð ð ð ð ð €ð	ð 	ð 	€ð 
Ø	Ø	Ø	Ø	Ø	Ø	Ø
Ø
ð
ð 
Ð ð 3ð  3ð  3ð  3ð  3ñ  3ô  3ð  3ðFð ð ð ð"Ø
ˆDð"àˆtð"ð ˆdð"ð ˆTð	"ð
 ˆtð"ð �ð"ð ˆTð"ð �ð"ð 
ˆ4ð"ð ˆTð"ð ˆtð"ð �Dð"ð  ˆdð!"ð" ˆdð#"ð$ 
ˆ4ð%"ð& 
ˆ4ð'"ð( 
ˆ4ð)"ð* ØØØØØØàØàØðC"ð "ð "€ðJ ØØØØ
Ø
Ø
Ø
ð	
ð 	
€ð ØØØØØØØØ
ØØØØðð €	ð"ð ð ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð (˜<™>œ>€Ô ðq/ð q/ð q/ð q/ð q/ñ q/ô q/ð q/ðh	
ð 
ð 
ð"% 4¨s¸%ÀqÈtð %ð %ð %ð %ð %ðPN¨dð Nð Nð Nð Nð Nð¨Tð ð ð ð ð ðð ð ð
ð ð ðSð Sð Sð Sð&ð &ð &ð &ð &r/   