
    Ae2                         d dl mZ dZ	 d dlmZ  G d de      Zd Z	dZ
 e       Zd Zd	 Zd
 Zd Z G d de      Z G d de      Z e       xZxZZd xZxZxZxZxZxZxZxZxZxZxZxZ xZ!Z"dWdZ#d Z$ e       Z%d xe$_&        xe%_'        e%_(        exZ)xZ*xZ+xZ,Z-d Z.da/d Z0d Z1d Z2d Z3d Z4d Z5d Z6d Z7defdZ8 G d d e      Z9 e9       Z: e9       Z;[9 G d! d"e<      Z= e=d#efi       Z> G d$ d%e>      Z? G d& d'e?      Z@ G d( d)e@      ZA G d* d+e?      ZB G d, d-e?      ZCd. ZDd/ ZEd0 ZFd1 ZG G d2 d3e?      ZH G d4 d5e?      ZId6 ZJd7 ZK eHeLd8      ZM	  eHeNd9      ZO eHeQd:      ZR eHeSd;      ZTg d<ZUg d=ZVg d>ZWg d?ZXd@dAdBd;dCdDj                  ZZ e[       Z\	 d dlZ] eH e^e]dEe      dE      e\dE<   []eUD ]R  Z_ eZe_e_      Z` eHeMe`      e\e_<   e_dFvse_j                  dG      r/ eHeMdHe`z         e\dIe_z   <    eHeMdJe`z         e\dKe_z   <   T eVD ]  Z_ eHeR eZe_e_            e\e_<    eWD ]  Z_ eHeT eZe_e_            e\e_<     eHebdL      Zc eHddM      Zd eHddN      ZeeUeVz   eWz   eXz   D ]/  Zf egdOdP      D ]!  Zhe\ef   j                  eh      e\dQehz  dRef<   # 1  e\dS   d       Zj eI       xZkxZlZmeMeOeReTgZn G dT dUe      Zod dlpZp eo       epj                  dV<   [py# e$ r eZY w xY w# eP$ r  eHeLd9      ZOY w xY w# e$ r d dl]Z]Y hw xY w)X    )absolute_importz0.29.36)
basestringc                   (    e Zd ZdZdgZ	 	 ddZd Zy)
_ArrayTypeTdtypeNc                 h    || _         || _        || _        || _        |xs |xs || _        || _        y N)r   ndimis_c_contigis_f_contiginner_contigbroadcasting)selfr   r
   r   r   r   r   s          -lib/python3.12/site-packages/Cython/Shadow.py__init__z_ArrayType.__init__   s:    
	&&(FKF;(    c                     dg| j                   z  }| j                  rd|d<   n| j                  rd|d<   | j                  ddj	                  |      dS )N:z::1r   [z, ])r
   r   r   r   join)r   axess     r   __repr__z_ArrayType.__repr__   sM    utyy DHDG::tyy77r   )FFFN)__name__
__module____qualname__is_arraysubtypesr   r    r   r   r   r      s    HyHCH26)8r   r   c                     G d dt               fd}t        |t              rd}t        |      D ]G  \  }} ||       |j                  r|s|dt        |      dz
  fvr d      |j                  dk(  sF|}I t        | t        |      |t        |      dz
  k(  |dk(        S t        |t              r) ||       t        | dt        |j                        	      S t        |      |k(  sJ t        | |       y)
z
    Support array type creation by slicing, e.g. double[:, :] specifies
    a 2D strided array of doubles. The syntax is the same as for
    Cython memoryviews.
    c                       e Zd Zy),index_type.<locals>.InvalidTypeSpecificationNr   r   r   r    r   r   InvalidTypeSpecificationr#   ,   s    r   r%   c                 b    | j                   s| j                  s| j                  dvr d      y )NN   zDOnly a step of 1 may be provided to indicate C or Fortran contiguity)startstopstep)sr%   s    r   verify_slicez index_type.<locals>.verify_slice/   s2    77affi 7*%& & !8r   Nr   r(   zHStep may only be provided once, and only in the first or last dimension.)r   r   )r   )	Exception
isinstancetuple	enumerater+   lenr   sliceboolintarray)	base_typeitemr-   step_idxidxr,   r%   s         @r   
index_typer;   &   s    9 & $o 	FCOvv8s1c$i!m2D'D./0 0 vv{	 )SY&.#d)a-&?&.!m5 	5 
D%	 T)QDODD 4yD  ir   Fc                     | S r	   r    )xs    r   _empty_decoratorr>   U   s    Hr   c                      t         S r	   r>   )	arg_typess    r   localsrB   X       r   c                      t         S r	   r@   pathss    r   test_assert_path_existsrG   [   rC   r   c                      t         S r	   r@   rE   s    r   test_fail_if_path_existsrI   ^   rC   r   c                       e Zd Zd Zd Zd Zy)_EmptyDecoratorAndManagerc                     |S r	   r    r   r=   s     r   __call__z"_EmptyDecoratorAndManager.__call__b   s    r   c                      y r	   r    r   s    r   	__enter__z#_EmptyDecoratorAndManager.__enter__d       r   c                      y r	   r    )r   exc_type	exc_value	tracebacks       r   __exit__z"_EmptyDecoratorAndManager.__exit__f   rR   r   N)r   r   r   rN   rQ   rW   r    r   r   rK   rK   a   s    r   rK   c                       e Zd Zy)_OptimizationNr$   r    r   r   rY   rY   i   s    r   rY   c                     t               S r	   rK   _s    r   <lambda>r^   r   s
    +- r   Nc                     t               S r	   r[   )r]   checks     r   r^   r^   t   s
    '@'B r   c                     t               S r	   r[   r\   s    r   r^   r^   v   s
    35 r   c                     t               S r	   r[   args    r   r^   r^   z   s
    3L3N r   c                     t         S r	   r@   r\   s    r   r^   r^   ~   s    $ r   c                     t        | t              rt        ddlma t        | g|i |S t        |      t        |      cxk(  rdk(  sJ  J | S )Nr   )cython_inline)r/   r   _cython_inlineCython.Build.Inlinerg   r2   )fargskwdss      r   inlinerm      sM    !Z !Ka/$/$//4yCI*****r   c                     ddl m}  ||       S )Nr   )RuntimeCompiledFunction)ri   ro   )rj   ro   s     r   compilerp      s    ;"1%%r   c                 $    | |z  }|dk  r|dz  }|S )Nr   r(   r    )abqs      r   cdivru      s     	AA1u	QHr   c                 *    | |z  }| |z  dk  r||z  }|S Nr   r    )rr   rs   rs      r   cmodry      s$    	AA	!qy	QHr   c                 Z    |j                  dd        |rJ t        | d      r | | S |d   S )N	typecheckrN   r   )pophasattr)typerk   kwargss      r   castr      s3    
JJ{D!tZ T{Awr   c                      yr'   r    rc   s    r   sizeofr      s    r   c                 .    | j                   j                  S r	   )	__class__r   rc   s    r   typeofr      s    ==!!!r   c                 8     t        t        |             | g      S r	   )pointerr~   rc   s    r   addressr      s    749se$$r   c                 `    | d t         fvr#t        | d      r|t        ur | |      S  |        S |S )NrN   )objectr}   _Unspecified)r~   valuerl   s      r   declarer      s5    D&>!gdJ&?$;6Mr   c                   "    e Zd ZdZd Zd Zd Zy)_nogilz=Support for 'with nogil' statement and @nogil decorator.
    c                      t        |      r|S | S r	   )callablerM   s     r   rN   z_nogil.__call__   s    A;Hr   c                      y r	   r    rP   s    r   rQ   z_nogil.__enter__   rR   r   c                 
    |d u S r	   r    )r   	exc_classexctbs       r   rW   z_nogil.__exit__   s    D  r   N)r   r   r   __doc__rN   rQ   rW   r    r   r   r   r      s    !r   r   c                       e Zd Zd Zy)CythonMetaTypec                     t        | |      S r	   )r6   )r~   ixs     r   __getitem__zCythonMetaType.__getitem__   s    T2r   N)r   r   r   r   r    r   r   r   r      s    r   r   CythonTypeObjectc                       e Zd ZddZy)
CythonTypec                 <    t        |      D ]  }t        |       }  | S r	   )ranger   )r   nis      r   _pointerzCythonType._pointer   s#    q 	!A4=D	!r   N)r(   )r   r   r   r   r    r   r   r   r      s    r   r   c                   ,    e Zd ZddZd Zd Zd Zd Zy)PointerTypeNc                 H   t        |t        t        f      r4|j                  D cg c]  }t	        | j
                  |       c}| _        y t        |t              r*|D cg c]  }t	        | j
                  |       c}| _        y ||dk(  rg | _        y t        c c}w c c}w rw   )r/   	ArrayTyper   _itemsr   	_basetypelist
ValueError)r   r   rr   s      r   r   zPointerType.__init__   sz    ei56<ALLIq42IDKt$<ABq42BDK]eqjDK JBs   BBc                 @    |dk  rt        d      | j                  |   S Nr   z"negative indexing not allowed in C)
IndexErrorr   )r   r   s     r   r   zPointerType.__getitem__   s#    6ABB{{2r   c                 j    |dk  rt        d      t        | j                  |      | j                  |<   y r   )r   r   r   r   )r   r   r   s      r   __setitem__zPointerType.__setitem__   s-    6ABBt~~u5Br   c                     || j                   syt        |       t        |      k7  ry| j                    xr |j                    S )NTF)r   r~   )r   r   s     r   __eq__zPointerType.__eq__   s;    =$Z4;&{{?75<<'77r   c                      | j                   dS )Nz *)r   rP   s    r   r   zPointerType.__repr__   s    ))r   r	   )r   r   r   r   r   r   r   r   r    r   r   r   r      s    
6
8*r   r   c                       e Zd Zd Zy)r   c                 .    d g| j                   z  | _        y r	   )_nr   rP   s    r   r   zArrayType.__init__  s    ftww&r   N)r   r   r   r   r    r   r   r   r     s    'r   r   c                       e Zd ZefdZd Zy)
StructTypec                 8   |t         urmt        |      dkD  rt        d      t        |      t        |       urt        d|z        |j                  j                         D ]  \  }}t        | ||        y |j                         D ]  \  }}t        | ||        y )Nr   -Cannot accept keyword arguments when casting.Cannot cast from %s)r   r2   r   r~   __dict__itemssetattr)r   	cast_fromdatakeyr   s        r   r   zStructType.__init__  s    L(4y1} !PQQId4j0 !6y!@AA'00668 *
Uc5)* #jjl *
Uc5)*r   c                     || j                   v r't        | j                   |   |      | j                  |<   y t        d|z        )NzStruct has no member '%s')_membersr   r   AttributeErrorr   r   r   s      r   __setattr__zStructType.__setattr__  s=    $--!%dmmC&8%!@DMM# !<s!BCCr   Nr   r   r   r   r   r   r    r   r   r   r   	  s    !- *Dr   r   c                       e Zd ZefdZd Zy)	UnionTypec                 N   |t         ur]t        |      dkD  rt        d      t        |t              r|}n3t        |      t        |       u r|j                  }nt        d|z        |}t        |      dkD  rt        d      |j                         D ]  \  }}t        | ||        y )Nr   r   r   r(   z)Union can only store one field at a time.)
r   r2   r   r/   dictr~   r   r   r   r   )r   r   r   datadictr   r   s         r   r   zUnionType.__init__!  s    L(4y1} !PQQ)T*$iDJ.$-- !6y!@AAHx=1 !LMM"..* 	&JCD#u%	&r   c                     |dk(  rt         j                  | ||       y || j                  v r!|t        | j                  |   |      i| _        y t        d|z        )Nr   zUnion has no member '%s')r   r   r   r   r   r   r   s      r   r   zUnionType.__setattr__3  sU    *""4e4DMM! $t}}S'95"ABDM !;c!ABBr   Nr   r    r   r   r   r     s    !- &$Cr   r   c                 *      G  fddt               }|S )Nc                       e Zd ZW  Zy) pointer.<locals>.PointerInstanceN)r   r   r   r   )basetypes   r   PointerInstancer   <  s    	r   r   )r   )r   r   s   ` r   r   r   ;  s    + r   c                 .      G  fddt               }|S )Nc                       e Zd ZW  ZW Zy)array.<locals>.ArrayInstanceN)r   r   r   r   r   )r   r   s   r   ArrayInstancer   A  s    	r   r   )r   )r   r   r   s   `` r   r6   r6   @  s    	  r   c                  R      G  fddt               } D ]  }t        ||d         |S )Nc                       e Zd ZW  Zy)struct.<locals>.StructInstanceNr   r   r   r   memberss   r   StructInstancer   G      r   r   )r   r   )r   r   r   s   `  r   structr   F  s0      +T*+r   c                  R      G  fddt               } D ]  }t        ||d         |S )Nc                       e Zd ZW  Zy)union.<locals>.UnionInstanceNr   r   s   r   UnionInstancer   N  r   r   r   )r   r   )r   r   r   s   `  r   unionr   M  s0    	  *sD)*r   c                   $    e Zd ZddZd Zd ZeZy)typedefNc                      || _         || _        y r	   )r   name)r   r~   r   s      r   r   ztypedef.__init__V  s    	r   c                 2    t        | j                  g| }|S r	   )r   r   )r   rd   r   s      r   rN   ztypedef.__call__Z  s    T^^*c*r   c                 H    | j                   xs t        | j                        S r	   )r   strr   rP   s    r   r   ztypedef.__repr__^  s    yy/C//r   r	   )r   r   r   r   rN   r   r;   r   r    r   r   r   r   T  s    0 Kr   r   c                       e Zd ZeZy)
_FusedTypeN)r   r   r   r;   r   r    r   r   r   r   c  s    Kr   r   c                      | st        d      d}| D ]@  }|t        t        t        t        fvr t               S t
        j                  |      |kD  s?|}B S )Nz&Expected at least one type as argumentr   )	TypeErrorpy_intpy_longpy_float
py_complextype_orderingindexr   )rk   rankr~   result_types       r   
fused_typer   g  sg    @AA D :>> < t$t+K r   c                     t        d      )zCPerhaps this should be implemented in a TreeFragment in Cython codezyet to be implemented)r.   )
signaturesrk   r   s      r   _specialized_from_argsr   |  s    
+
,,r   r5   longfloatzdouble complex)	charshort
Py_UNICODEr5   Py_UCS4r   longlong
Py_ssize_tsize_t)
longdoubledoubler   )longdoublecomplexdoublecomplexfloatcomplexcomplex)bintvoidPy_tss_tz	long longzlong doublezlong double complexzfloat complex)r  r  r  r	  r
  unicode)r  r  r  z	unsigned uzsigned r,   r  r  r  r(      pr]   p_voidc                   .    e Zd ZdZg dZddZddZd Zy)	CythonDotParallelz%
    The cython.parallel module.
    )parallelprangethreadidNc                     t         S r	   )nogil)r   num_threadss     r   r  zCythonDotParallel.parallel  s    r   c                 (    ||}d}t        |||      S rw   )r   )r   r)   r*   r+   r  schedule	chunksizer  s           r   r  zCythonDotParallel.prange  s     <DEUD$''r   c                      yrw   r    rP   s    r   r  zCythonDotParallel.threadid  s    r   r	   )r   Nr(   FNNN)r   r   r   r   __all__r  r  r  r    r   r   r  r    s     1G(r   r  zcython.parallel)NT)r
__future__r   __version____builtin__r   ImportErrorr   r   r   r;   compiledr   r>   rB   rG   rI   rK   rY   cclassccallcfuncreturns
wraparoundboundscheckinitializedcheck	nonecheckembedsignature	cdivisioncdivision_warningsalways_allows_keywordsprofile	linetraceinfer_typesunraisable_tracebacksfreelist	exceptvaloverflowcheckoptimizationfold
use_switchunpack_method_callsfinalinternaltype_version_tagno_gc_clearno_gcbindingrh   rm   rp   ru   ry   r   r   r   r   r   r   r  gilr~   r   r   r   r   r   r   r   r   r6   r   r   r   r   r   r   r5   r   r   r   	NameErrorr   r   r  r   	int_typesfloat_typescomplex_typesother_typesgetto_reprglobalsgsbuiltinsgetattrr   reprnameendswithr4   r  r  r  tr   r   r   NULLintegralfloatingnumericr   r  sysmodulesr    r   r   <module>rX     s   &&8 80$R x 	F 	 34 4 4 	.	. .* .{ .%5 .	 ...!3..$.'0.3>. H C	5 (OO  O\,$<L L L L# LkE
$ &"% \ !V ! 	h

T 
 ""4viD ! ** *B' 'D D,C
 C8
j  *-
 
e	#dF#G 5'"W./

 j	/Q* .%# #  Y" )S99E9 =DtT"Hvx(BtH,,T]]85Lv{X'=>3t8vy8';<3t8=  6Dxt!45BtH6  8Dz74#67BtH8 tVtV4$	[	 =	0;	> 5A1a[ 5#%a5>>!#4c!eQ 55 r(|A
 !+ , ,8g(J7 , !2!4 e  Jx  #c6"G#4  s5   K 	K+  L  K('K(+K=<K= 	LL