+
    LV-j(G  ã                   óv   € R t ^ RIt^RIHt ^RIHtHt ]]P                  3t
R t ! R R4      tR tR tR	 tR# )
z0Indexing mixin for sparse array/matrix classes.
N)Ú	isintlike)ÚsparrayÚissparsec                 ó    € \         P                  ! V !  p\        W4       F*  w  r#VP                  P                  VP                  n        K,  	  V# )a  
Same as np.broadcast_arrays(a, b) but old writeability rules.

NumPy >= 1.17.0 transitions broadcast_arrays to return
read-only arrays. Set writeability explicitly to avoid warnings.
Retain the old writeability rules, as our Cython code assumes
the old behavior.
)ÚnpÚbroadcast_arraysÚzipÚflagsÚ	writeable)Úarraysr   ÚxÚas   *   Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/sparse/_index.pyÚ_broadcast_arraysr   
   sC   € ô ×*Ò*¨FÑ3ÐÜÐ$Ö-‰ˆØŸG™G×-Ñ-ˆ�‰Öñ .àÐó    c                   ó¨   a € ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )Ú
IndexMixinzK
This class provides common dispatching and validation logic for indexing.
c                ó  € \        WP                  V P                  4      w  r# p\        V4      ^8”  d   \	        RV P                   R24      h\        V4      ^8X  EdJ   V^ ,          p\        V\        P                  4      '       d"   VP                  R
8X  d   VP                  4       p\        V\        4      '       d   V P                  V4      pM9\        V\        4      '       d   V P                  V4      pMV P                  V4      p\        V \        4      '       g   V# VP                  R
8X  de   VR
8w  d^   \        V4      ^8X  d   V P                  V.W0P                   R7      # \        V4      ^8X  d    V P                  V..W0P                   R7      # VP#                  V4      # Vw  rx\        V\        4      '       d¦   \        V\        4      '       d   V P%                  Wx4      pEM™\        V\        4      '       d   V P'                  Wx4      pEMpVP(                  ^8X  d   V P+                  Wx4      pEMLVP(                  ^8X  d   V P+                  Wx4      pEM(\	        R4      h\        V\        4      '       dª   \        V\        4      '       d   V P-                  Wx4      pEMÞ\        V\        4      '       d<   V\        R4      8X  d   Wx8X  d   V P/                  4       pEM V P1                  Wx4      pEM�VP(                  ^8X  d   V P3                  Wx4      pEMi\	        R4      h\        V\        4      '       d   V P5                  Wx4      pEM5\        V\        4      '       d   V P7                  Wx4      pEMVP(                  ^8X  dk   VP                  ^,          ^8X  dS   VP(                  ^8X  g   VP                  ^ ,          ^8X  d*   V P9                  VR,          VP#                  R4      4      pM‘\;        Wx4      w  rxVP                  VP                  8w  d   \	        R4      hVP<                  ^ 8X  d=   V P                  \        P>                  ! V4      P                  V P                   R7      pMV PA                  Wx4      p\        V \        4      '       gg   VR
8X  g"   \        V4      ^8X  d   VP(                  ^ 8w  d   V# \        V4      ^8X  d
   RV,           pW6P                  8X  d   V# VP#                  V4      # VP                  V8w  dw   V P                  R8X  dU   \        V4      ^8w  dE   VP                  R
8X  d   V PC                  V.VR	7      # VPE                  4       P#                  V4      # VP#                  V4      # V# )é   z/Indexing that leads to >2D is not supported by z% format. Try converting to COO format)ÚshapeÚdtypezindex results in >2 dimensionsNú'number of row and column indices differ©r   Úlil)r   © )ºNNNé    éÿÿÿÿ)é   )#Ú_validate_indicesr   ÚformatÚlenÚ
IndexErrorÚ
isinstancer   ÚndarrayÚitemÚ	INT_TYPESÚ_get_intÚsliceÚ
_get_sliceÚ
_get_arrayr   Ú	__class__r   ÚreshapeÚ_get_intXintÚ_get_intXsliceÚndimÚ_get_intXarrayÚ_get_sliceXintÚcopyÚ_get_sliceXsliceÚ_get_sliceXarrayÚ_get_arrayXintÚ_get_arrayXsliceÚ_get_columnXarrayr   ÚsizeÚ
atleast_2dÚ_get_arrayXarrayÚ_coo_containerÚtocoo)	ÚselfÚkeyÚindexÚ	new_shapeÚ_ÚidxÚresÚrowÚcols	   &&       r   Ú__getitem__ÚIndexMixin.__getitem__   s7  € Ü!2°3¿
¹
ÀDÇKÁKÓ!PÑˆ˜!˜QÜˆy‹>˜AÔÜÐNØ $§¡˜}Ð,QðSó Tð Tô ˆu‹:˜�?Ø˜•(ˆCÜ˜#œrŸz™z×*Ò*Ø—9‘9 ”?ØŸ(™(›*�CÜ˜#œy×)Ò)Ø—m‘m CÓ(‘Ü˜C¤×'Ò'Ø—o‘o cÓ*‘à—o‘o cÓ*�ô ˜d¤G×,Ò,Ø�
à�y‰y˜BŒ 9°¤?Ü�y“> QÔ&ØŸ>™>¨3¨%°yÏ
É
˜>ÓSÐSÜ�y“> QÔ&ØŸ>™>¨C¨5¨'¸Ï*É*˜>ÓUÐUØ—;‘;˜yÓ)Ð)ð ‰ˆô �cœ9×%Ò%Ü˜#œy×)Ò)Ø×'Ñ'¨Ó1’Ü˜C¤×'Ò'Ø×)Ñ)¨#Ó3’Ø—‘˜Q”Ø×)Ñ)¨#Ó3’Ø—‘˜Q”Ø×)Ñ)¨#Ó3’ä Ð!AÓBÐBÜ˜œU×#Ò#Ü˜#œy×)Ò)Ø×)Ñ)¨#Ó3’Ü˜C¤×'Ò'Øœ% ›+Ô%¨#¬*ØŸ)™)›+’Cà×/Ñ/°Ó9’CØ—‘˜Q”Ø×+Ñ+¨CÓ5’ä Ð!AÓBÐBä˜#œy×)Ò)Ø×)Ñ)¨#Ó3’Ü˜C¤×'Ò'Ø×+Ñ+¨CÓ5’à—(‘(˜a”- C§I¡I¨a¥L°AÔ$5Ø—x‘x 1”}¨¯	©	°!­¸Ô(9à×,Ñ,¨S°­Y¸¿¹ÀB»ÓH‘ô -¨SÓ6‘�Ø—9‘9 §	¡	Ô)Ü$Ð%NÓOÐOØ—8‘8˜q”=ØŸ.™.¬¯ª°sÓ);×)AÑ)AÈÏÉ˜.ÓT‘Cà×/Ñ/°Ó9�Cô ˜$¤×(Ò(Ø˜BŒ¤3 y£>°QÔ#6¸3¿8¹8Àq¼=à�
Ü�9‹~ Ô"à  9Õ,�	à#§y¡yÔ0�3ÐL°c·k±kÀ)Ó6LÐLð �9‰9˜	Ô!à�{‰{˜eÔ#¬¨I«¸!Ô(;Ø—9‘9 ”?Ø×.Ñ.°¨u¸iÐ.ÓHÐHØ—y‘y“{×*Ñ*¨9Ó5Ð5Ø—;‘;˜yÓ)Ð)Øˆ
r   c                ó:  € \        WP                  V P                  4      w  r4 p\        V4      ^8X  Edï   V^ ,          p\	        V4      '       d   VP                  4       pM!\        P                  ! W P                  R7      p\        V\        4      '       dA   VP                  ^8w  d   \        R4      hV P                  WbP                  ^ ,          4       R# \        V\        4      '       dº   \!        VP#                  V P                  ^ ,          4      !  p\        V4      pV^8X  d>   VP                  ^8X  d-   V P                  V^ ,          VP                  ^ ,          4       R# \        P$                  ! VP#                  V P                  ^ ,          4      !  pVP                  p	MVP'                  4       P                  p	VP'                  4       P                  V	8w  d!   \        P(                  ! W&P                  4      pVP                  ^ 8w  d   V P+                  Wb4       R# Vw  r«\        V
\        4      '       d›   \        V\        4      '       d…   \	        V4      '       d   VP                  4       pM!\        P                  ! W P                  R7      pVP                  ^8w  d   \        R4      hV P-                  W«VP                  ^ ,          4       R# \        V
\        4      '       d=   \        P$                  ! V
P#                  V P                  ^ ,          4      !  R	,          p
M\        P.                  ! V
4      p
\        V\        4      '       dW   \        P$                  ! VP#                  V P                  ^,          4      !  R
,          pV
P0                  ^8X  d
   V
R	,          p
M\        P.                  ! V4      p\3        W«4      w  rÍVP                  VP                  8w  d   \5        R4      h\	        V4      '       Ed]   ^ VP                  9   d   R# VP0                  ^8X  d   VR,          pVR,          pVP7                  RR7      P9                  VP:                  RR7      pVP                  ^ ,          ^8H  ;'       d    VP                  ^ ,          ^8g  pVP                  ^,          ^8H  ;'       d    VP                  ^,          ^8g  pV'       g*   VP                  ^ ,          VP                  ^ ,          8X  d2   V'       g5   VP                  ^,          VP                  ^,          8X  g   \        R4      hVP=                  4        V P?                  WÍV4       R# \        P                  ! W P                  R7      pVP'                  4       P                  VP'                  4       P                  8w  d!   \        P(                  ! W,P                  4      pVP                  ^ 8X  d   R# VP9                  VP                  4      pV PA                  WÍV4       R# )r   r   z&Trying to assign a sequence to an itemNr   F)r2   Tzshape mismatch in assignment)r   N)Nr   )!r   r   r    r!   r   Útoarrayr   Úasarrayr   r#   r&   r8   Ú
ValueErrorÚ_set_intÚflatr(   ÚrangeÚindicesÚarangeÚsqueezeÚbroadcast_toÚ
_set_arrayÚ_set_intXintÚ
atleast_1dr/   r   r"   r<   r,   Ú_shape_as_2dÚsum_duplicatesÚ_set_arrayXarray_sparseÚ_set_arrayXarray)r=   r>   r   r?   r@   rA   rB   Ú	idx_rangeÚNÚ	idx_shaperD   rE   ÚiÚjÚbroadcast_rowÚbroadcast_cols   &&&             r   Ú__setitem__ÚIndexMixin.__setitem__   s  € Ü!2°3¿
¹
ÀDÇKÁKÓ!PÑˆ˜!˜Qô ˆu‹:˜�?Ø˜•(ˆCä˜�{Š{Ø—I‘I“K‘ä—J’J˜q¯
©
Ô3�ä˜#œy×)Ò)Ø—6‘6˜Q”;Ü$Ð%MÓNÐNØ—‘˜c§6¡6¨!¥9Ô-Ùä˜#œu×%Ò%ô " 3§;¡;¨t¯z©z¸!­}Ó#=Ñ>�	Ü˜	“N�Ø˜”6˜aŸf™f¨œkØ—M‘M )¨A¥,°·±°qµ	Ô:ÙÜ—i’i §¡¨T¯Z©Z¸­]Ó!;Ñ<�ØŸI™I‘	àŸK™K›M×/Ñ/�	à�y‰y‹{× Ñ  IÔ-Ü—O’O A§y¡yÓ1�Ø�v‰v˜Œ{Ø—‘ Ô'Ùð ‰ˆä�cœ9×%Ò%¬*°S¼)×*DÒ*DÜ˜�{Š{Ø—I‘I“K‘ä—J’J˜q¯
©
Ô3�Ø�v‰v˜Œ{Ü Ð!IÓJÐJØ×Ñ˜c¨¯©¨q­	Ô2Ùä�cœ5×!Ò!Ü—)’)˜SŸ[™[¨¯©°A­Ó7Ñ8¸ÕA‰Cä—-’- Ó$ˆCä�cœ5×!Ò!Ü—)’)˜SŸ[™[¨¯©°A­Ó7Ñ8¸ÕAˆCØ�x‰x˜1Œ}Ø˜'•l�øä—-’- Ó$ˆCä  Ó*‰ˆØ�7‰7�a—g‘gÔÜÐFÓGÐGä�A�;‹;Ø�A—G‘GŒ|ÙØ�v‰v˜Œ{à�d•G�Ø�d•G�Ø—‘˜U�Ó#×+Ñ+¨A¯N©NÀÐ+ÓFˆAØŸG™G A�J¨!™O×?Ð?°·±¸µ
¸a±ˆMØŸG™G A�J¨!™O×?Ð?°·±¸µ
¸a±ˆMß" a§g¡g¨a¥j°A·G±G¸AµJÔ&>ß" a§g¡g¨a¥j°A·G±G¸AµJÔ&>Ü Ð!?Ó@Ð@Ø×ÑÔØ×(Ñ(¨¨qÖ1ô —
’
˜1§J¡JÔ/ˆAØ�y‰y‹{× Ñ  A§I¡I£K×$5Ñ$5Ô5Ü—O’O A§w¡wÓ/�Ø�v‰v˜Œ{ÙØ—	‘	˜!Ÿ'™'Ó"ˆAØ×!Ñ! !¨Ö*r   c                óÀ   € V P                   w  r#\        V4      pW) 8  g   W8¼  d   \        RV R24      hV^ 8  d	   W,          pV P                  V\	        R4      4      # )zGReturn a copy of row i of the matrix, as a (1 x n) row vector.
        úindex (ú) out of rangeN)r   Úintr"   r.   r(   ©r=   r]   ÚMr[   s   &&  r   Ú_getrowÚIndexMixin._getrowÚ   s\   € ð �z‰z‰ˆÜ�‹FˆØˆrŒ6�Q”VÜ˜w q c¨Ð8Ó9Ð9ØˆqŒ5Ø�FˆAØ×"Ñ" 1¤e¨D£kÓ2Ð2r   c                óÀ   € V P                   w  r#\        V4      pW) 8  g   W8¼  d   \        RV R24      hV^ 8  d	   W,          pV P                  \	        R4      V4      # )zMReturn a copy of column i of the matrix, as a (m x 1) column vector.
        rd   re   N)r   rf   r"   r1   r(   rg   s   &&  r   Ú_getcolÚIndexMixin._getcolå   s\   € ð �z‰z‰ˆÜ�‹FˆØˆrŒ6�Q”VÜ˜w q c¨Ð8Ó9Ð9ØˆqŒ5Ø�FˆAØ×"Ñ"¤5¨£;°Ó2Ð2r   c                ó   € \        4       h©N©ÚNotImplementedError©r=   rB   s   &&r   r'   ÚIndexMixin._get_intð   ó   € Ü!Ó#Ð#r   c                ó   € \        4       hro   rp   rr   s   &&r   r)   ÚIndexMixin._get_sliceó   rt   r   c                ó   € \        4       hro   rp   rr   s   &&r   r*   ÚIndexMixin._get_arrayö   rt   r   c                ó   € \        4       hro   rp   ©r=   rD   rE   s   &&&r   r-   ÚIndexMixin._get_intXintù   rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r0   ÚIndexMixin._get_intXarrayü   rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r.   ÚIndexMixin._get_intXsliceÿ   rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r1   ÚIndexMixin._get_sliceXint  rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r3   ÚIndexMixin._get_sliceXslice  rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r4   ÚIndexMixin._get_sliceXarray  rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r5   ÚIndexMixin._get_arrayXint  rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r6   ÚIndexMixin._get_arrayXslice  rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r7   ÚIndexMixin._get_columnXarray  rt   r   c                ó   € \        4       hro   rp   rz   s   &&&r   r:   ÚIndexMixin._get_arrayXarray  rt   r   c                ó   € \        4       hro   rp   ©r=   rB   r   s   &&&r   rL   ÚIndexMixin._set_int  rt   r   c                ó   € \        4       hro   rp   r�   s   &&&r   rS   ÚIndexMixin._set_array  rt   r   c                ó   € \        4       hro   rp   ©r=   rD   rE   r   s   &&&&r   rT   ÚIndexMixin._set_intXint  rt   r   c                ó   € \        4       hro   rp   r”   s   &&&&r   rY   ÚIndexMixin._set_arrayXarray   rt   r   c                ó¤   € \         P                  ! VP                  4       V P                  R 7      p\	        W14      w  r4V P                  WV4       R# )r   N)r   rJ   rI   r   r   rY   )r=   rD   rE   r   rA   s   &&&& r   rX   Ú"IndexMixin._set_arrayXarray_sparse#  s8   € ä�JŠJ�q—y‘y“{¨$¯*©*Ô5ˆÜ  Ó(‰ˆØ×Ñ˜c¨Ö*r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rF   ra   ri   rl   r'   r)   r*   r-   r0   r.   r1   r3   r4   r5   r6   r7   r:   rL   rS   rT   rY   rX   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s�   ø‡ € ñò`òDY+òv	3ò	3ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$÷+ð +r   r   c           	     ó¸
  € \        V4      pV \        J d   \        R4      3V,          V. . 3# \        V \        4      '       g   V .p Rp. p^ p\        V 4       Fú  w  rxV\        J d   Ve   \        R4      hTpK"  Vf   VP                  V4       K9  \        V\        4      '       g   \        V4      '       d   VP                  V4       V^,          pK|  \        Wƒ4      ;p	e&   VP                  V	4       WiP                  ,          pK°  \        V4      '       d   \        R4      hVP                  \        P                  ! V4      4       V^,          pKü  	  Wc8”  d   \        RV  RV RV R24      hW6,
          \        R4      .,          p
V
'       d,   Vf   VP                  V
4       MVRV V
,           WTR ,           p. p^ p. p. p. p. p\        V4       EF1  w  rxVf.   VP                  \        V4      4       VP                  ^4       K7  \        V\        4      '       dW   VP                  V4       W,          p\        \        VP!                  V4      !  4      pVP                  V4       V^,          pK£  \        V4      '       ds   W,          pV) Tu;8:  d   V8  g   M \        RV R	24      h\#        V^ 8  d
   VV,           MT4      pVP                  V4       VP                  V4       V^,          pEK&  VP$                  P&                  R
8X  d    WÈP                  ,           pWV pVP(                  V8w  d   \        RV RV RVP(                   24      hVP                  VP+                  4       4       VP                  \        VV4      4       VP                  \        VV4      4       TpEKà  W,          p\-        VVV4      pVP                  V4       VP                  V4       VP                  V4       V^,          pEK4  	  \        V4      ^8”  dŸ   V Uu. uF  q}V,          P(                  NK  	  pp \        P.                  ! V!  p\        T4      TR,          T^ ,          ,
          ^,           8w  d   \5        T4      T,           pMzT^ ,          pTRT \5        T4      ,           TTR ,           pMQ\        V4      ^8X  dB   WÞ^ ,          ,          P(                  pV^ ,          pVRV \5        V4      ,           VVR ,           p\	        V4      \	        V4      VV3# u upi   \0         d*    RP3                  R T 4       4      pRT 2p\        T4      hi ; i)a�  Returns four sequences: (index, requested shape, arrays, nones)

index : tuple of validated idx objects. bool arrays->nonzero(),
        arrays broadcast, ints and slices as they are, Nones removed
requested shape : the shape of the indexed space, including Nones
arr_pos : position within index of all arrays or ints (for array fancy indexing)
none_pos : insert positions to put newaxis coords in indexed space.
Nz(an index can only have a single ellipsiszoIndexing with sparse matrices is not supported except boolean indexing where matrix and index are equal shapes.z<Too many indices for array or tuple index out of range. Key z needs zD. Array is ÚDrd   re   Úbzbool index z has shape z instead of Ú c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5iro   )Ústr)Ú.0Úshps   & r   Ú	<genexpr>Ú$_validate_indices.<locals>.<genexpr>¡  s   é € Ð=±*¨3œc #Ÿh˜h³*ùs   ‚zLshape mismatch: indexing arrays could not be broadcast together with shapes r   )r!   ÚEllipsisr(   r#   ÚtupleÚ	enumerater"   Úappendr   Ú_compatible_boolean_indexr/   r   r   rJ   ÚextendrN   rO   rf   r   Úkindr   ÚnonzeroÚ
_asindicesÚbroadcast_shapesrK   ÚjoinÚlist)r>   Ú
self_shapeÚself_formatÚ	self_ndimÚ	ellps_posÚ	index_1stÚprelim_ndimr]   rB   ÚixÚellip_slicesr\   Ú
index_ndimr?   Úarray_indicesÚnone_positionsÚarr_int_posÚMsÚ	len_slicer[   Útmp_ndimÚ	mid_shapeÚ
arr_shapesÚ	arr_shapeÚshapesÚmsgÚarr_poss   &&&                        r   r   r   *  sÕ  € ô �J“€Ià
ŒhƒÜ�d“ˆ~ 	Õ)¨:°r¸2Ð=Ð=ä�cœ5×!Ò!Øˆeˆð €IØ€IØ€KÜ˜C–.‰ˆØ”(‹?ØÒ$Ü Ð!KÓLÐLØŠIØŠ[Ø×Ñ˜SÖ!Ü˜œU×#Ò#¤y°§~¢~Ø×Ñ˜SÔ!Ø˜1ÕŠKÜ-¨cÓ=Ð=ˆbÒJà×Ñ˜RÔ ØŸ7™7Õ"ŠKÜ�c�]Š]äð$ó%ð %ð
 ×ÑœRŸZšZ¨›_Ô-Ø˜1ÕŠKñ- !ð. ÔÜðØ�%�w˜{˜m¨<¸	°{À!ðEó
ð 	
ð Õ+´°d³¨}Õ<€LßØÒØ×Ñ˜\Õ*à! * 9Ð-°Õ<¸yÈÐ?TÕTˆIð €IØ€JØ€EØ€MØ€NØ€Kä˜I×&‰ˆØŠ;Ø×!Ñ!¤# i£.Ô1Ø×Ñ˜QÖÜ˜œU×#Ò#Ø�L‰L˜ÔØÕ'ˆBÜœE 3§;¡;¨r£?Ñ3Ó4ˆIØ×Ñ˜YÔ'Ø˜!�OŠJÜ�s�^Š^ØÕ&ˆAØ�B˜#–M –MÜ  7¨3¨%¨~Ð!>Ó?Ð?Ü  q¤�c˜A–g¨cÓ2ˆCØ�L‰L˜ÔØ×Ñ˜zÔ*Ø˜!�O‹Jà�Y‰Y�^‰^˜sÔ"Ø!§H¡HÕ,ˆHØ"¨hÐ7ˆIØ�y‰y˜IÔ%Ü Ø! !  K°	¨{¸,ÀsÇyÁyÀkÐRóð ð �L‰L˜Ÿ™›Ô'Ø× Ñ ¤ z°8Ó!<Ô=Ø×Ñœu Z°Ó:Ô;Ø!‹JàÕ&ˆAÜ˜S ! [Ó1ˆCØ�L‰L˜ÔØ×Ñ˜zÔ*Ø× Ñ  Ô,Ø˜!�O‹JñI 'ôJ ˆ=Ó˜AÔÙ.;Ó<©m¨˜A•h—n”n©mˆ
Ð<ð	"Ü×+Ò+¨ZÑ8ˆIô ˆ{Ó ¨B¥°+¸aµ.Õ @À1Õ DÔEÜ˜Y›¨)Õ3‰Ià! !•nˆGØ! ( 7Ð+¬d°9«oÕ=À	È'È(Ð@SÕS‰IÜ	ˆ]Ó	˜qÔ	 Ø¨Õ*Õ+×1Ñ1ˆ	Ø˜a•.ˆØ˜h˜wÐ'¬$¨y«/Õ9¸IÀgÀhÐ<OÕOˆ	Ü�‹<œ˜yÓ)¨;¸ÐFÐFùò' =øô ô 	"Ø—X‘XÑ=±*Ó=Ó=ˆFð+Ø+1¨(ð4ˆCä˜S“/Ð!ð		"ús   ÐT Ð;T% Ô%4Uc                ó„  €  \         P                  ! V 4      pTR8w  d   TP                  R9  g   TR8X  d*   TP                  ^ 8X  d   \        RTP                   24      hTR8X  d   T# TP                  ^ 8X  d   T# TP                  4       pYQ8¼  d   \        RT R24      hTP                  4       pT^ 8  d_   Ya) 8  d   \        RT R24      hY0J g   TP                  P                  '       g   TP                  4       pY3^ 8  ;;,          T,          uu&   T#   \        \        \        3 d   p\        R4      ThRp?ii ; i)	zƒConvert `idx` to a valid index for an axis with a given length.

Subclasses that need special validation can override this method.
zinvalid indexNÚcooz$Index dimension must be 1 or 2. Got r   rd   re   )r   r   )r   rJ   rK   Ú	TypeErrorÚMemoryErrorr"   r/   r8   ÚmaxÚminr	   Úowndatar2   )rB   Úlengthr    r¾   ÚeÚmax_indxÚmin_indxs   &&&    r   r´   r´   ³  s  € ð
1Ü�ZŠZ˜‹_ˆð �„˜2Ÿ7™7¨&Ô0°F¸e´OÈÏÉÐSTÌÜÐ?ÀÇÁ¸yÐIÓJÐJð �„Øˆ	à	‡w�w�!„|Øˆ	ð �v‰v‹x€HØÔÜ˜7 8 *¨NÐ;Ó<Ð<à�v‰v‹x€HØ�!„|Ø�gÔÜ˜w x j°Ð?Ó@Ð@Ø‹9˜BŸH™H×,×,Ð,Ø—‘“ˆBØ
�‰6�
�fÕ‹
Ø€Iøô3 œ	¤;Ð/ô 1Ü˜Ó)¨qÐ0ûð1ús   ‚D ÄD?Ä.D:Ä:D?c                ób  € \        V R4      '       gn    \        \        V 4      R4      p\        V4       F0  p\	        V\
        4      '       d    M\        \        V4      R4      pK2  	  R# \        P                  ! V 4      p V P                  P                  R8X  d   V # R#   \         d     R# i ; i)zICheck for boolean array or array-like. peek before asarray for array-liker/   Nr¤   )ÚhasattrÚnextÚiterrN   r#   ÚboolrÏ   r   Ú
asanyarrayr   r²   )rB   Údesired_ndimr¾   rA   s   &&  r   r°   r°   Ö  s–   € ô �3˜×Òð		Ü”d˜3“i Ó&ˆBÜ˜<Ö(�Ü˜b¤$×'Ò'ÙÜœ$˜r›( DÓ)’ñ )ñ
 ô �mŠm˜CÓ ˆà
‡y�y‡~�~˜ÔØˆ
Ùøô ô 	Úð	ús   ”:B ÁB ÂB.Â-B.)rž   Únumpyr   Ú_sputilsr   Ú_baser   r   rf   Úintegerr&   r   r   r   r´   r°   r   r   r   Ú<module>rã      sF   ðñã Ý ß $à�"—*‘*Ð€	ò÷N+ñ N+òbFGòR ôFr   