AlkantarClanX12

Your IP : 3.133.139.28


Current Path : /opt/cloudlinux/venv/lib64/python3.11/site-packages/numpy/f2py/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/numpy/f2py/__pycache__/rules.cpython-311.pyc

�

�܋f#���`�dZddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLddlmMZMddlmNZNdd	lmOZOdd
lmPZPddlmQZQddlmRZRejSZTejSZUiZViZWd
D]ZXdeWeX<�eYejZ�[dej������Z\dej]ej^e\����zdzed��zdzed��zdzed��zdzed��zdzed��zdzed��zdzed��zdzed ��zd!zed"��zd#zed$��zd%zed&��zd'zed(��zd)zed*��zd+zed,��zd-zed.��zd/zeUzd0zd+d+d1�gd2�d3d4gd5�Z_d6d7d8d9d:d;d<d=d=ed>eGe��d=id?�
gZ`eWd@dAdBdCdDdEdFgdG�edHidIdJgdKgdL�ZaidMidNd�dOd�dPd�dQd�dRd�dSdT�dUd�dVd�dWd�dXd�dYdZ�d[d�d\d�d]d�d^d�d_d��d`d=�dad=�dbd=�dcd=�ddd=�ded=�dPdf�dgdh�did=�djd=�dYd=�d[d=�dUdk�dVdl�dWdm�dXdn�id\do�d]dp�d^dq�d_dr�dsd=�dtd=�dud=�dvdw�dxdyg�dzd{�d|d}g�d~d�dQd��dOd��dRd��dNd��d�d=��d=d=d=d=d=d=d=d=d=d=d=d=ed�eGe��d=id��
�d�d�d=eGe3��d��d�d�d=e3d��d�eFeGeHe3e%����eGe����d�eFeGe3��e%eGe����d�e3d=ed=ieGeHe3e%e����d�eFeGe3��e%eGe����d�eFeGe3��e��d�ieFeGeHe3e%����eGe����d�ied�gied�ie>d�ied�ieGeHee����d�ie>d�ied�igeFe;eGe=����d��d�eGeHe3e����d�ed=ieGeHe3e����d�ed�ieGeHe3e����d�ieGeHe3e����d�d�gied�gied�ie>d�ieGeHee����d�ied�ie>d�ied�ige!d��d�eGeHe3e����d�ed=ieGeHe3e����d�ed�ieGeHe3e����d�ieGeHe3e����d�d�gied�gied�ie>d�ieGeHee����d�ied�ie>d�ied�ige=d��d�eGe(��d�id�d�ed�igeFee:��d�ieFeeGe:����d�igeFe eGe!����d��eFeGeHe3e%����eGe����d�eFeGe3��e%eGe����d�ed=ieFeGeHe3e%����eGe����d�eFeGe3��e%eGe����d�ed�ied�eGe��d�ied�iged�ie>d�ied�ieGeHee����d�ie>d�ied�ieFee��d�ieFeeGe����d�iged�ieGe��d�ied�ie2d�ie0d�igeGe(��d�ied�eGeHee(����d�ieFe eGe:��eGe!����d��	d�eGeHe3e%����d�eFeGe3��e%��d�id�d�gd�d�d�d�d�d�d�d�d�ed�ie>d�id�e>d�ied�ied�id�gd�d�d�gdԢeFe:eGe!����d՜
d�d�d�edٜg
Zbe1d�e/d�e.d�e@d�eDd�e?d�eBd�eAd�eEd�eCd�e7d�e"d�ed�i
ZcdMeWid�ed�igd�ecd�d�ed�ied�ieFe6eGe����d�d�d�d�d�eFe6eGe��e+��d�d�ed�ied�d�d�gd�ge8d�gd�d�ed�ied�iged�d�eFeeGe����id�eFeeGe��e*��id�e#d=d��d�eHeAe@��d=d��d�eEd=d��d�eCd=d��d�ed=d��ed�id�e9d��gZdgdMeWi�d�ed�igd�d=ecd���eFe4e*��d�ieFe5e*��d�ie+d�ieFe4e*��d�ed�igieFe5e*��d�ed�igie+d�eFee(��d�eFee*���digid=�d���d�deFe*eGe4�����d���d�d�deFe*e4���d��d�d�e+�d��i�de*�d	i��d
e*�di�dVe*�di�dX�d
�d_�d�d]e*�di�dP�d�d�deGe&���dig��de*�di�d�e5�di��de4�di��de*�di�dse5�di�dte4�di��d�d�dS�d�dbeGe&���di��d�d �d!g�d�ei��eGe&���d"ie&�d#i�d$e�d%eGe&���d&igi�d'g�d(�d)�d*ged=�d+��d�e�d,ieHe%e<���deGeHe%e<�����d-ie+d�ieFe6eGe�����d.��ed�ieFe6eGe�����d/���d0e5�die4�die5�d1ie4�d1ie)�d2ie)�d3ie)�d4ieFe6eGe��eGe8��e*���d5�	�e�d6�d7d=ieFe4eGe�����d8�d7d=ieGe-���d9ie-�d:ig�d;eGe-���d<ieFe6eGe��e*��d=�d+��ed�ieceFe6eGe��e(��d=�d=��e�d,ieFe6eGe����d=�d>��d�e%�deGe%���d-ie�d?ie+�d@ie�dA���d0e5�die4�die5�d1ie4�d1ie)�d4ie)�dBie)�dCieFee*���dD�	�e�dEieFe4eGe�����d8i�d9g�dF�d<geFee*��d=�d+��e+�d0ieFee(���dG��ed�ieFee(��d=�d>��e+�dHid�ge�dI��e�d?ied=�d>��g�dJ��d�dKe�dLieFe+eGe%�����dMige+d�id�eFe+eGe%�����dNige8�dO���dPeGe%���dQig�dR�d<d�dSeGe%���dNige8d=�d+��e5�die4�die5�d1ie4�d1ieFe)eGe%�����dMie)�dTige)�d3ie)�d4eFe)eGe%�����dNieFe8e*���dU��d�eFe8e(��i�e�dLie8d=�d>���dV�dW�dX�dY�dZe9�d[ig�de9�dKie+�d\id�e�d]���d^�d_�d`�da�db�dc�ddeFee,���de���dfeFee,��d=�d>���dg�d_�d`�da�dh�dc�dieFee'���de���dfeFee'��d=�d>��ed�ied�iged=d����d0e5�die4�die5�d1ie4�d1ieFee*���dj���dk�dl�dme(�dnie*�doi�dpe9�dqiee*�drie(�dsie�dti�dugig�dveGeHe+e(�����dwieFe(eGe+�����dxie�dyiged=�dz��d�eFeeGe����i�d�eFeeGe��e*��i�d�e#d=d���d�eAd=d���d�eEd=d���d�eCd=d���d�ed=d���d�e�d/��d�e�d/��ed�id�e9d���Zee�d{id�d|��d}�d~�deFe6eGe����d=�d���d��d��d�e8d=�d���d��d��d�ed=�d���d��d��d��d��gZf�d��Zg�d��d��d��d��d��d��d��d��d��d��d��
Zh�d��ZidS(�aG

Rules for building C/API module with f2py2e.

Here is a skeleton of a new wrapper function (13Dec2001):

wrapper_function(args)
  declarations
  get_python_arguments, say, `a' and `b'

  get_a_from_python
  if (successful) {

    get_b_from_python
    if (successful) {

      callfortran
      if (successful) {

        put_a_to_python
        if (successful) {

          put_b_to_python
          if (successful) {

            buildvalue = ...

          }

        }

      }

    }
    cleanup_b

  }
  cleanup_a

  return buildvalue

Copyright 1999,2000 Pearu Peterson all rights reserved,
Pearu Peterson <pearu@ioc.ee>
Permission to use, modify, and distribute this software is given under the
terms of the NumPy License.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
$Date: 2005/08/30 08:58:42 $
Pearu Peterson

�N)�Path�)�__version__)C�
applyrules�	debugcapi�
dictappend�errmess�gentitle�getargs2�hascallstatement�hasexternals�hasinitvalue�hasnote�
hasresultnote�isarray�isarrayofstrings�ischaracter�ischaracterarray�ischaracter_or_characterarray�	iscomplex�iscomplexarray�iscomplexfunction�iscomplexfunction_warn�isdummyroutine�
isexternal�
isfunction�isfunction_wrap�isint1�isint1array�isintent_aux�
isintent_c�isintent_callback�
isintent_copy�
isintent_hide�isintent_inout�isintent_nothide�isintent_out�isintent_overwrite�	islogical�islong_complex�
islong_double�islong_doublefunction�islong_long�islong_longfunction�ismoduleroutine�
isoptional�
isrequired�isscalar�issigned_long_longarray�isstring�
isstringarray�isstringfunction�issubroutine�isattr_value�issubroutine_wrap�isthreadsafe�
isunsigned�isunsigned_char�isunsigned_chararray�isunsigned_long_long�isunsigned_long_longarray�isunsigned_short�isunsigned_shortarray�l_and�l_not�l_or�outmess�replace�
stripcomma�requiresf90wrapper)�	capi_maps)�cfuncs)�common_rules)�	use_rules)�f90mod_rules)�	func2subr)�decl�	frompyobj�cleanupfrompyobj�topyarr�method�	pyobjfrom�closepyobjfrom�freemem�userincludes�	includes0�includes�typedefs�typedefs_generated�	cppmacrosrJ�	callbacks�latexdoc�restdoc�routine_defs�externroutines�initf2pywraphooks�commonhooks�initcommonhooks�f90modhooks�initf90modhooks�
�SOURCE_DATE_EPOCHz�/* File: #modulename#module.c
 * This file is auto-generated with f2py (version:#f2py_version#).
 * f2py is a Fortran to Python Interface Generator (FPIG), Second Edition,
 * written by Pearu Peterson <pearu@cens.ioc.ee>.
 * Generation date: a
 * Do not edit this file directly unless you know what you are doing!!!
 */

#ifdef __cplusplus
extern "C" {
#endif

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */

/* Unconditionally included */
#include <Python.h>
#include <numpy/npy_os.h>

zSee f2py2e/cfuncs.py: includesz
#includes#
#includes0#

z,See f2py2e/rules.py: mod_rules['modulebody']zM
static PyObject *#modulename#_error;
static PyObject *#modulename#_module;

zSee f2py2e/cfuncs.py: typedefsz
#typedefs#

z(See f2py2e/cfuncs.py: typedefs_generatedz
#typedefs_generated#

zSee f2py2e/cfuncs.py: cppmacrosz
#cppmacros#

zSee f2py2e/cfuncs.py: cfuncsz
#cfuncs#

z"See f2py2e/cfuncs.py: userincludesz
#userincludes#

z"See f2py2e/capi_rules.py: usercodez9
#usercode#

/* See f2py2e/rules.py */
#externroutines#

z#See f2py2e/capi_rules.py: usercode1z
#usercode1#

z%See f2py2e/cb_rules.py: buildcallbackz
#callbacks#

zSee f2py2e/rules.py: buildapiz	
#body#

z&See f2py2e/f90mod_rules.py: buildhooksz
#f90modhooks#

z/See f2py2e/rules.py: module_rules['modulebody']�

z&See f2py2e/common_rules.py: buildhooksz
#commonhooks#

zSee f2py2e/rules.pya,

static FortranDataDef f2py_routine_defs[] = {
#routine_defs#
    {NULL}
};

static PyMethodDef f2py_module_methods[] = {
#pymethoddef#
    {NULL,NULL}
};

static struct PyModuleDef moduledef = {
    PyModuleDef_HEAD_INIT,
    "#modulename#",
    NULL,
    -1,
    f2py_module_methods,
    NULL,
    NULL,
    NULL,
    NULL
};

PyMODINIT_FUNC PyInit_#modulename#(void) {
    int i;
    PyObject *m,*d, *s, *tmp;
    m = #modulename#_module = PyModule_Create(&moduledef);
    Py_SET_TYPE(&PyFortran_Type, &PyType_Type);
    import_array();
    if (PyErr_Occurred())
        {PyErr_SetString(PyExc_ImportError, "can't initialize module #modulename# (failed to import numpy)"); return m;}
    d = PyModule_GetDict(m);
    s = PyUnicode_FromString("#f2py_version#");
    PyDict_SetItemString(d, "__version__", s);
    Py_DECREF(s);
    s = PyUnicode_FromString(
        "This module '#modulename#' is auto-generated with f2py (version:#f2py_version#).\nFunctions:\n"
#docs#".");
    PyDict_SetItemString(d, "__doc__", s);
    Py_DECREF(s);
    s = PyUnicode_FromString("az");
    PyDict_SetItemString(d, "__f2py_numpy_version__", s);
    Py_DECREF(s);
    #modulename#_error = PyErr_NewException ("#modulename#.error", NULL, NULL);
    /*
     * Store the error object inside the dict, so that it could get deallocated.
     * (in practice, this is a module, so it likely will not and cannot.)
     */
    PyDict_SetItemString(d, "_#modulename#_error", #modulename#_error);
    Py_DECREF(#modulename#_error);
    for(i=0;f2py_routine_defs[i].name!=NULL;i++) {
        tmp = PyFortranObject_NewAsAttr(&f2py_routine_defs[i]);
        PyDict_SetItemString(d, f2py_routine_defs[i].name, tmp);
        Py_DECREF(tmp);
    }
#initf2pywraphooks#
#initf90modhooks#
#initcommonhooks#
#interface_usercode#

#ifdef F2PY_REPORT_ATEXIT
    if (! PyErr_Occurred())
        on_exit(f2py_report_on_exit,(void*)"#modulename#");
#endif
    return m;
}
#ifdef __cplusplus
}
#endif
)r^r_)z*\section{Module \texttt{#texmodulename#}}
z
#modnote#
z
#latexdoc#zdModule #modulename#
================================================================================z

#restdoc#)�
modulebody�
separatorsforr^r_z/*eof body*/z/*eof method*/z/*eof externroutines*/z/*eof routine_defs*/z/*eof initf90modhooks*/z/*eof initf2pywraphooks*/z/*eof initcommonhooks*/�z#note#)
�bodyrSrar`rfrbrdr^r_�modnotea=
#begintitle#
static char doc_#apiname#[] = "\
#docreturn##name#(#docsignatureshort#)\n\nWrapper for ``#name#``.\
\n#docstrsigns#";
/* #declfortranroutine# */
static PyObject *#apiname#(const PyObject *capi_self,
                           PyObject *capi_args,
                           PyObject *capi_keywds,
                           #functype# (*f2py_func)(#callprotoargument#)) {
    PyObject * volatile capi_buildvalue = NULL;
    volatile int f2py_success = 1;
#decl#
    static char *capi_kwlist[] = {#kwlist##kwlistopt##kwlistxa#NULL};
#usercode#
#routdebugenter#
#ifdef F2PY_REPORT_ATEXIT
f2py_start_clock();
#endif
    if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
        "#argformat#|#keyformat##xaformat#:#pyname#",\
        capi_kwlist#args_capi##keys_capi##keys_xa#))
        return NULL;
#frompyobj#
/*end of frompyobj*/
#ifdef F2PY_REPORT_ATEXIT
f2py_start_call_clock();
#endif
#callfortranroutine#
if (PyErr_Occurred())
  f2py_success = 0;
#ifdef F2PY_REPORT_ATEXIT
f2py_stop_call_clock();
#endif
/*end of callfortranroutine*/
        if (f2py_success) {
#pyobjfrom#
/*end of pyobjfrom*/
        CFUNCSMESS("Building return value.\n");
        capi_buildvalue = Py_BuildValue("#returnformat#"#return#);
/*closepyobjfrom*/
#closepyobjfrom#
        } /*if (f2py_success) after callfortranroutine*/
/*cleanupfrompyobj*/
#cleanupfrompyobj#
    if (capi_buildvalue == NULL) {
#routdebugfailure#
    } else {
#routdebugleave#
    }
    CFUNCSMESS("Freeing memory.\n");
#freemem#
#ifdef F2PY_REPORT_ATEXIT
f2py_stop_clock();
#endif
    return capi_buildvalue;
}
#endtitle#
z
#routine_def#z#initf2pywraphook#z#declfortranroutine#z!#docreturn##name#(#docsignature#)z&#docreturn##name#(#docsignatureshort#)z*"    #docreturn##name#(#docsignature#)\n"
)z
arrayobject.h�
CFUNCSMESS�MINMAXz#define DEBUGCFUNCSz1\subsection{Wrapper function \texttt{#texname#}}
zk
\noindent{{}\verb@#docreturn##name#@{}}\texttt{(#latexdocsignatureshort#)}
#routnote#

#latexdocstrsigns#
zlWrapped function ``#name#``
--------------------------------------------------------------------------------)rkrmr`rbra�doc�docshort�docs�needr\r^r_rk�callfortranroutine�routdebugenterrO�routdebugleave�routdebugfailure�	setjmpbufz || �	docstrreq�	docstropt�	docstrout�	docstrcbs�docstrsignsz\n"
"�latexdocstrsigns�latexdocstrreq�latexdocstropt�latexdocstrout�latexdocstrcbs�kwlist�	kwlistopt�callfortran�callfortranappend�docsign�
docsignoptz/*decl*/rVz/*freemem*/�docsignshort�docsignoptshortz\nParameters\n----------z$\nOther Parameters\n----------------z\nReturns\n-------z'\nNotes\n-----\nCall-back functions::\nz\noindent Required arguments:z\noindent Optional arguments:z\noindent Return objects:z\noindent Call-back functions:�	args_capi�	keys_capi�functyperPz
/*frompyobj*/rQz/*end of cleanupfrompyobj*/rTz
/*pyobjfrom*/rUz/*end of closepyobjfrom*/rRz/*topyarr*/z/*routdebugleave*/z/*routdebugenter*/z/*routdebugfailure*/z/*callfortranroutine*/�	argformatz
--- #note#)
�	keyformat�need_cfuncs�	docreturn�return�returnformat�rformat�kwlistxa�keys_xa�xaformat�	docsignxa�docsignxashort�initf2pywraphook�routnotezf2py_rout_#modulename#_#name#z#modulename#.#name#)�apiname�pynamerO�_checkz-f2py_rout_#modulename#_#f90modulename#_#name#z##modulename#.#f90modulename#.#name#�voidzGextern void #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);z/extern void #fortranname#(#callprotoargument#);zw    {"#name#",-1,{{-1}},0,0,(char *)  #F_FUNC#(#fortranname#,#FORTRANNAME#),  (f2py_init_func)#apiname#,doc_#apiname#},z]    {"#name#",-1,{{-1}},0,0,(char *)#fortranname#,  (f2py_init_func)#apiname#,doc_#apiname#},zL    {"#name#",-1,{{-1}},0,0,NULL,  (f2py_init_func)#apiname#,doc_#apiname#},�F_FUNCzU    fprintf(stderr,"debug-capi:Fortran subroutine `#fortranname#(#callfortran#)'\n");zI        if (#setjmpbuf#) {
            f2py_success = 0;
        } else {z"            Py_BEGIN_ALLOW_THREADSzQ                #callstatement#;
                /*(*f2py_func)(#callfortran#);*/z,                (*f2py_func)(#callfortran#);z             Py_END_ALLOW_THREADSz	        })r��declfortranroutine�routine_defrtrur�zFextern void #F_WRAPPEDFUNC#(#name_lower#,#NAME#)(#callprotoargument#);zv    {"#name#",-1,{{-1}},0,0,(char *)  #F_WRAPPEDFUNC#(#name_lower#,#NAME#),  (f2py_init_func)#apiname#,doc_#apiname#},a�
    {
      extern #ctype# #F_FUNC#(#name_lower#,#NAME#)(void);
      PyObject* o = PyDict_GetItemString(d,"#name#");
      tmp = F2PyCapsule_FromVoidPtr((void*)#F_FUNC#(#name_lower#,#NAME#),NULL);
      PyObject_SetAttrString(o,"_cpointer", tmp);
      Py_DECREF(tmp);
      s = PyUnicode_FromString("#name#");
      PyObject_SetAttrString(o,"__name__", s);
      Py_DECREF(s);
    }
    �
F_WRAPPEDFUNCz\    fprintf(stderr,"debug-capi:Fortran subroutine `f2pywrap#name_lower#(#callfortran#)'\n");z=    if (#setjmpbuf#) {
        f2py_success = 0;
    } else {z    Py_BEGIN_ALLOW_THREADSz     (*f2py_func)(#callfortran#);z9    #callstatement#;
    /*(*f2py_func)(#callfortran#);*/z    Py_END_ALLOW_THREADSz    })r�r�r�r�rtrur�a�
    {
      extern void #F_FUNC#(#name_lower#,#NAME#)(void);
      PyObject* o = PyDict_GetItemString(d,"#name#");
      tmp = F2PyCapsule_FromVoidPtr((void*)#F_FUNC#(#name_lower#,#NAME#),NULL);
      PyObject_SetAttrString(o,"_cpointer", tmp);
      Py_DECREF(tmp);
      s = PyUnicode_FromString("#name#");
      PyObject_SetAttrString(o,"__name__", s);
      Py_DECREF(s);
    }
    �#ctype#z#rname#,z#pydocsignout#z"\item[]{{}\verb@#pydocsignout#@{}}z--- #resultnote#z�#ifdef USESCOMPAQFORTRAN
    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callcompaqfortran#)\n");
#else
    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callfortran#)\n");
#endif
zZ    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callfortran#)\n");
)r�r�r|r�rur�zJextern #ctype# #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);z2extern #ctype# #fortranname#(#callprotoargument#);zJ    {"#name#",-1,{{-1}},0,0,NULL,(f2py_init_func)#apiname#,doc_#apiname#},z&    #ctype# #name#_return_value={0,0};z"    #ctype# #name#_return_value=0;z1    PyObject *#name#_return_value_capi = Py_None;zP    #callstatement#;
/*    #name#_return_value = (*f2py_func)(#callfortran#);*/
z6    #name#_return_value = (*f2py_func)(#callfortran#);zY    fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value.r,#name#_return_value.i);zA    fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value);zH    #name#_return_value_capi = pyobj_from_#ctype#1(#name#_return_value);zpyobj_from_#ctype#1�	long_long�long_doublez	#rformat#z,#name#_return_value_capiz,#name#_return_value)	r�r�rOrurTrtr�r�r�zs    {"#name#",-1,{{-1}},0,0,(char *)#F_FUNC#(#fortranname#,#FORTRANNAME#),(f2py_init_func)#apiname#,doc_#apiname#},z[    {"#name#",-1,{{-1}},0,0,(char *)#fortranname#,(f2py_init_func)#apiname#,doc_#apiname#},z'    #ctype# #name#_return_value = NULL;z$    int #name#_return_value_len = 0;z,#name#_return_value,#name#_return_value_len,z(    #name#_return_value_len = #rlength#;zS    if ((#name#_return_value = (string)malloc(#name#_return_value_len+1) == NULL) {z<        PyErr_SetString(PyExc_MemoryError, "out of memory");z        f2py_success = 0;z    } else {z>        (#name#_return_value)[#name#_return_value_len] = '\0';z    if (f2py_success) {z        Py_BEGIN_ALLOW_THREADSzv#ifdef USESCOMPAQFORTRAN
        (*f2py_func)(#callcompaqfortran#);
#else
        (*f2py_func)(#callfortran#);
#endif
z        Py_END_ALLOW_THREADSz]        fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value_len,#name#_return_value);z2    } /* if (f2py_success) after (string)malloc */z$    STRINGFREE(#name#_return_value);)r�r��
STRINGFREE)
r�r�rOr�rur�r�rVrtr�z]    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#(#docsignature#)\n");zZ    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#: successful.\n");zW    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#: failure.\n");)rvrwrxr��complex_long_double�
unsigned_char�unsigned_short�unsigned�unsigned_long_long�signed_char�	characterz1    /* Processing auxiliary variable #varname# */z'    fprintf(stderr,"#vardebuginfo#\n");z,    /* End of cleaning variable #varname# */)rPrQrtz    #ctype# #varname# = 0;zmath.hz    #varname# = #init#;)rOrtrPr�z
,#varname#z
#outvarname#,z#varrformat#)r�r|r�r�r�z    #ctype# #varname#;z3    #varname#.r = #init.r#, #varname#.i = #init.i#;)rOrPr��    #ctype# #varname# = NULL;�    int slen(#varname#);zlen..)rOrtr�)�    #ctype# *#varname# = NULL;�4    npy_intp #varname#_Dims[#rank#] = {#rank*[-1]#};�&    const int #varname#_Rank = #rank#;�forcombror�)rtr��_dependzflen(#varname#),�string)r�rtr�z'    /* Processing variable #varname# */)rPrQr�rtz#pydocsign#z\item[]{{}\verb@#pydocsign#@{}}z--- See above.)r{rzr|r�r�r��dependz"#varname#",z
#varname#,)r�r�r�z#varname#=#showinit#,)r�r�r�r�)r�r�r�r�z#varname#_extra_args=(),r�z#varname#_extra_args,z=#varname#_extra_args : input tuple, optional\n    Default: ()z
#cbdocstr#z\item[] #cblatexdocstr#z}\item[]{{}\verb@#varname#_extra_args := () input tuple@{}} --- Extra arguments for call-back function {{}\verb@#varname#@{}}.z3    #cbname#_t #varname#_cb = { Py_None, NULL, 0 };z1    #cbname#_t *#varname#_cb_ptr = &#varname#_cb;z,    PyTupleObject *#varname#_xa_capi = NULL;z$    #cbname#_typedef #varname#_cptr;r�z"#varname#_extra_args",�Or�r�zO!z,&#varname#_cb.capir�z!,&PyTuple_Type,&#varname#_xa_capiz(setjmp(#varname#_cb.jmpbuf))z#varname#_cptr,rtz#cbname#zsetjmp.hz�if(F2PyCapsule_Check(#varname#_cb.capi)) {
  #varname#_cptr = F2PyCapsule_AsVoidPtr(#varname#_cb.capi);
} else {
  #varname#_cptr = #cbname#;
}
a�if (#varname#_cb.capi==Py_None) {
  #varname#_cb.capi = PyObject_GetAttrString(#modulename#_module,"#varname#");
  if (#varname#_cb.capi) {
    if (#varname#_xa_capi==NULL) {
      if (PyObject_HasAttrString(#modulename#_module,"#varname#_extra_args")) {
        PyObject* capi_tmp = PyObject_GetAttrString(#modulename#_module,"#varname#_extra_args");
        if (capi_tmp) {
          #varname#_xa_capi = (PyTupleObject *)PySequence_Tuple(capi_tmp);
          Py_DECREF(capi_tmp);
        }
        else {
          #varname#_xa_capi = (PyTupleObject *)Py_BuildValue("()");
        }
        if (#varname#_xa_capi==NULL) {
          PyErr_SetString(#modulename#_error,"Failed to convert #modulename#.#varname#_extra_args to tuple.\n");
          return NULL;
        }
      }
    }
  }
  if (#varname#_cb.capi==NULL) {
    PyErr_SetString(#modulename#_error,"Callback #varname# not defined (as an argument or module #modulename# attribute).\n");
    return NULL;
  }
}
z�    if (create_cb_arglist(#varname#_cb.capi,#varname#_xa_capi,#maxnofargs#,#nofoptargs#,&#varname#_cb.nofargs,&#varname#_cb.args_capi,"failed in processing argument list for call-back #varname#.")) {
z�        fprintf(stderr,"debug-capi:Assuming %d arguments; at most #maxnofargs#(-#nofoptargs#) is expected.\n",#varname#_cb.nofargs);
        CFUNCSMESSPY("for #varname#=",#varname#_cb.capi);zK        fprintf(stderr,"#vardebugshowvalue# (call-back in C).\n",#cbname#);z�        CFUNCSMESS("Saving callback variables for `#varname#`.\n");
        #varname#_cb_ptr = swap_active_#cbname#(#varname#_cb_ptr);z�        CFUNCSMESS("Restoring callback variables for `#varname#`.\n");
        #varname#_cb_ptr = swap_active_#cbname#(#varname#_cb_ptr);
        Py_DECREF(#varname#_cb.args_capi);
    }�SWAP�create_cb_arglist)rPrQrtr�r�z6    fprintf(stderr,"#vardebugshowvalue#\n",#varname#);z&#varname#,)rOrTr�r�r�)rtr��'    PyObject *#varname#_capi = Py_None;z,&#varname#_capiz]    f2py_success = try_pyarr_from_#ctype#(#varname#_capi,&#varname#);
    if (f2py_success) {z2    } /*if (f2py_success) of #varname# pyobjfrom*/ztry_pyarr_from_#ctype#)	rOr�r�r�r�rTrUrtr�z;    if (#varname#_capi == Py_None) #varname# = #init#; elser�z"    if (#varname#_capi != Py_None)z�        f2py_success = #ctype#_from_pyobj(&#varname#,#varname#_capi,"#pyname#() #nth# (#varname#) can't be converted to #ctype#");
    if (f2py_success) {zo        #varname# = (#ctype#)PyObject_IsTrue(#varname#_capi);
        f2py_success = 1;
    if (f2py_success) {z(    } /*if (f2py_success) of #varname#*/z#ctype#_from_pyobj)rPrtr�r�)rPr�r�zD    fprintf(stderr,"#vardebugshowvalue#\n",#varname#.r,#varname#.i);z,#varname#_capi)rOr�rTr�r�ze        f2py_success = try_pyarr_from_#ctype#(#varname#_capi,&#varname#);
        if (f2py_success) {z6        } /*if (f2py_success) of #varname# pyobjfrom*/)	rOr�r�r�r�rtrTrUr�zW    if (#varname#_capi==Py_None) {#varname#.r = #init.r#, #varname#.i = #init.i#;} elsez3    }  /*if (f2py_success) of #varname# frompyobj*/)rOr�z4    #varname#_capi = pyobj_from_#ctype#1(#varname#);)rTrtr�)r�r�r�zslen(#varname#),zF    fprintf(stderr,"#vardebugshowvalue#\n",slen(#varname#),#varname#);z:        STRINGPADN(#varname#, slen(#varname#), ' ', '\0');�
STRINGPADN)rOr�r�rTr�rtr�z�    slen(#varname#) = #elsize#;
    f2py_success = #ctype#_from_pyobj(&#varname#,&slen(#varname#),#init#,#varname#_capi,"#ctype#_from_pyobj failed in converting #nth#`#varname#' of #pyname# to C #ctype#");
    if (f2py_success) {z:        STRINGPADN(#varname#, slen(#varname#), '\0', ' ');zH        STRINGFREE(#varname#);
    }  /*if (f2py_success) of #varname#*/r�z�    f2py_success = try_pyarr_from_#ctype#(#varname#_capi, #varname#,
                                          slen(#varname#));
    if (f2py_success) {)r�r�r�r�rTrUrtr�r�r�r�z2    PyArrayObject *capi_#varname#_as_array = NULL;z"    int capi_#varname#_intent = 0;z    int slen(#varname#) = 0;z,capi_#varname#_as_array)rOr�r�r�rtr�z%    int capi_overwrite_#varname# = 1;z"overwrite_#varname#",�iz,&capi_overwrite_#varname#zoverwrite_#varname#=1,zoverwrite_#varname#,z9overwrite_#varname# : input int, optional\n    Default: 1)rOr�r�r�r�r�r{r�zK    capi_#varname#_intent |= (capi_overwrite_#varname#?0:F2PY_INTENT_COPY);z%    int capi_overwrite_#varname# = 0;zoverwrite_#varname#=0,z9overwrite_#varname# : input int, optional\n    Default: 0)rOr�r�r�r�r�z    #setdims#;z&    capi_#varname#_intent |= #intent#;zk    const char * capi_errmess = "#modulename#.#pyname#: failed to create array from the #nth# `#varname#`";z�    capi_#varname#_as_array = ndarray_from_pyobj(  #atype#,#elsize#,#varname#_Dims,#varname#_Rank,  capi_#varname#_intent,Py_None,capi_errmess);z�    capi_#varname#_as_array = ndarray_from_pyobj(  #atype#,#elsize#,#varname#_Dims,#varname#_Rank,  capi_#varname#_intent,#varname#_capi,capi_errmess);a9    if (capi_#varname#_as_array == NULL) {
        PyObject* capi_err = PyErr_Occurred();
        if (capi_err == NULL) {
            capi_err = #modulename#_error;
            PyErr_SetString(capi_err, capi_errmess);
        }
    } else {
        #varname# = (#ctype# *)(PyArray_DATA(capi_#varname#_as_array));
z/    slen(#varname#) = f2py_itemsize(#varname#);z$    if (#varname#_capi == Py_None) {z    {z        #ctype# capi_c;a�        int *_i,capi_i=0;
        CFUNCSMESS("#name#: Initializing #varname#=#init#\n");
        if (initforcomb(PyArray_DIMS(capi_#varname#_as_array),
                        PyArray_NDIM(capi_#varname#_as_array),1)) {
            while ((_i = nextforcomb()))
                #varname#[capi_i++] = #init#; /* fortran way */
        } else {
            PyObject *exc, *val, *tb;
            PyErr_Fetch(&exc, &val, &tb);
            PyErr_SetString(exc ? exc : #modulename#_error,
                "Initialization of #nth# #varname# failed (initforcomb).");
            npy_PyErr_ChainExceptionsCause(exc, val, tb);
            f2py_success = 0;
        }
    }
    if (f2py_success) {zG    }  /* if (capi_#varname#_as_array == NULL) ... else of #varname# */zl    if((PyObject *)capi_#varname#_as_array!=#varname#_capi) {
        Py_XDECREF(capi_#varname#_as_array); }z,        Py_XDECREF(capi_#varname#_as_array);z.    }  /*if (f2py_success) of #varname# init*/)rPrQr�r�z6    fprintf(stderr,"debug-capi:Checking `#check#'\n");)rPrtzQ    CHECKSCALAR(#check#,"#check#","#nth# #varname#","#varshowvalue#",#varname#) {z    } /*CHECKSCALAR(#check#)*/�CHECKSCALAR)rPrQrtr��_breakzQ    CHECKSTRING(#check#,"#check#","#nth# #varname#","#varshowvalue#",#varname#) {z    } /*CHECKSTRING(#check#)*/�CHECKSTRING�
CHECKARRAYz5    CHECKARRAY(#check#,"#check#","#nth# #varname#") {z    } /*CHECKARRAY(#check#)*/)rtrPrQr�r��CHECKGENERICz7    CHECKGENERIC(#check#,"#check#","#nth# #varname#") {z    } /*CHECKGENERIC(#check#)*/)rtrPrQc�:�td|dz��i}tdd�}tj|��}t	dt
i|��}g}g}|dD�]I}d}	|dD]7}
|
ddvrt
d	���|
dD]}|d|kr|}	n��8|	std
|ztj	����f|	g}d|	vrV|	d�
��D];\}
}tj|	��}|d=|
|d<||d
<|�
|���<|D�]�}	t|	��}td�rtd}|d}td��t!|�d|d�������|rutd|�d���t!|�d|�d������td|�d���t!|�d|�d������n:td|�d���t!|�d|�d������t%|	��\}}|r-|r|�
|��n|�
|��t'||��}t	||��}�����Kt)j|��\}}|r|�
|��t'||��}t	||��}t-j|��\}}|r|�
|��t'||��}t	||��}|D]9}t/j||d|d��}t	||��}�:t3j��}|dxxd�tjD��z
cc<i}|���D�]�}g||<||D�]�}
d}|
t2jvrt2j|
}�nL|
t2jvrt2j|
}�n*|
t2jvrt2j|
}�n|
t2j vrt2j |
}n�|
t2j!vrt2j!|
}n�|
t2j"vrt2j"|
}n�|
t2jvrt2j|
}n�|
t2j#vrt2j#|
}nc|
t2j$vrt2j$|
}nB|
t2j%vrt2j%|
}n!t
dtM|
��z����s||�
|��������|�
|��|D]<}d|vr|d|��sd|vr!t'|||��}t	||��}�=t'tN|��}tPj)�*td|d��}||d<tW|d ��5}|�,|d!�-d"d#����ddd��n#1swxYwYtd$|d�d%|�d&���td'r�tPj)�*td|dd(z��}tW|d ��5}|�,d)��|�,d*�*|d+����ddd��n#1swxYwYtd,td�d|d�d-���td.�rtPj)�*td|dd/z��}||d0<tW|d ��5}|�,d1t
z��d2tvrC|�,d3��|�,d*�*|d4����d2tvr|�,d5��ddd��n#1swxYwYtd6td�d|d�d7���|�r�tPj)�*td|d8��}||d9<tW|d ��5}|�,d:��|�,d;t
z��|�,d<��g} d=�*|��d*z�.d*��D]�}!d>|!�/d?��cxkrd@krnn| �
|!d*z���>|!ru|!d>dAkrita|!��d@kr=| �
|!dd@�dBz��|!d@d�}!ta|!��d@k�=| �
|!d*z����| �
|!d*z����d�*| ���-dCd*��} |�,| ��ddd��n#1swxYwYtdD|z��|�r0tPj)�*tddE|dz��}||d9<tW|d ��5}|�,dF��|�,dGt
z��|�,dH��g} d=�*|��d*z�.d*��D�]	}!d>|!�/d?��cxkrdIkrnn| �
|!d*z���?ta|!��dIkr�|!d>dAkr�| �
|!ddI�dJz��|!dId�}!ta|!��d@kr=| �
|!dd@�dJz��|!d@d�}!ta|!��d@k�=| �
|!d*z����| �
|!d*z����d�*| ���-dCd*��} |�,| ��ddd��n#1swxYwYtdK|z��|S)Lz
    Return
    z    Building module "%s"...
�nameN�f2py_version�
interfacedrm�block)�	interfacezabstract interfacez1buildmodule: Expected interface block. Skipping.
zKbuildmodule: Could not find the body of interfaced routine "%s". Skipping.
)�file�entry�args�emptygen�	buildpath�
modulenamez(    Generating possibly empty wrappers"
�/�coutputz    Maybe empty "z-f2pywrappers2.f90"
z-f2pywrappers2.f90z-f2pywrappers.f"
z-f2pywrappers.f�userZc�H�g|]}|t���v�|�� S�)�typedef_need_dict�values)�.0�cvars  �c/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib64/python3.11/site-packages/numpy/f2py/rules.py�
<listcomp>zbuildmodule.<locals>.<listcomp>/s<��A�A�A�4�!�%6�%=�%=�%?�%?�?�?��?�?�?�rlzbuildmodule: unknown need %s.
r��csrc�wrj�	z  z    Wrote C/API module "z" to file "z"
�	dorestdoczmodule.restz.. -*- rest -*-
rgr_z)    ReST Documentation is saved to file "z
module.rest"
�
dolatexdocz
module.tex�ltxz6%% This file is auto-generated with f2py (version:%s)
�
shortlatexzO\documentclass{article}
\usepackage{a4wide}
\begin{document}
\tableofcontents

r^z\end{document}z$    Documentation is saved to file "zmodule.tex"
�f2py_wrapper_output�fsrczC     -*- fortran -*-
z8C     This file is autogenerated with f2py (version:%s)
z<C     It contains Fortran 77 wrappers to fortran functions.
rir�!�B� z
     &z
     &
z*    Fortran 77 wrappers are saved to "%s"
z%s-f2pywrappers2.f90z!     -*- f90 -*-
z8!     This file is autogenerated with f2py (version:%s)
z<!     It contains Fortran 90 wrappers to fortran functions.
�Hz&
     &z*    Fortran 90 wrappers are saved to "%s"
)1rE�defmod_rulesrI�modsign2maprr�r	�print�sys�stderr�items�copy�deepcopy�appendrH�optionsr�touch�buildapirrK�
buildhooksrMrL�buildusevarsrJ�	get_needs�
f2cmap_mapped�keysrXrYrWrZr[r\r]rerc�repr�module_rules�os�path�join�open�writerF�split�find�len)"�m�um�ret�	mod_rules�vrd�rd�funcwrappers�
funcwrappers2�n�nb�bi�b�nb_list�k�a�nb1�isf90�b_path�m_name�api�wrap�ar�cr�mr�u�needs�code�c�r�fn�f�wn�lines�ls"                                  r��buildmoduler&�sY���+�q��y�9�:�:�:�
�C��Q�Q�Q��I�
�
��
"�
"�C�	�^�\�2�C�	8�	8�B��L��M�
�|�_�2$�2$��
���F�)�	�	�B��'�{�"E�E�E��L�M�M�M����Z�
�
���V�9��>�>��B��E�"���	��^�bc�d�kn�ku�
w�
w�
w�
w���$���b�=�=��7��)�)�+�+�
$�
$���1��m�B�'�'����L���F����F�����s�#�#�#�#��	$�	$�B�'�r�*�*�E��z�"�
F� ��-���\�*���C�D�D�D���1�1��Y��1�1�2�2�8�8�:�:�:��	F��M��M�M�M�N�N�N��F�?�?�V�?�?�?�@�@�F�F�H�H�H��J��J�J�J�K�K�K��F�<�<�V�<�<�<�=�=�C�C�E�E�E�E��J��J�J�J�K�K�K��F�<�<�V�<�<�<�=�=�C�C�E�E�E� ����I�C���
.��.�!�(�(��.�.�.�.� �'�'��-�-�-��C��%�%�B��B��#�#�B�B�7	$�<�&�q�)�)�H�B���"����D�!�!�!�	�B��	�	�B�	�B��	�	�B��&�q�)�)�H�B���#����T�"�"�"�	�B��	�	�B�	�B��	�	�B�
� � ��
�
#�A�q��x��&�	�':�
;�
;��
��B�
�
�������E�	�*����A�A�9�+B�A�A�A�A����
�D�
�Z�Z�\�\������Q���q��	�	�A��A��F�$�$�$��$�Q�'����f�o�%�%��O�A�&����f�)�)�)��'��*����f�o�%�%��O�A�&����f�/�/�/��-�a�0����f�&�&�&��$�Q�'����f�m�#�#��M�!�$����f�&�&�&��$�Q�'����f�(�(�(��&�q�)����f�(�(�(��&�q�)����9�T�!�W�W�E�F�F�F����G�N�N�1�����3	�4���T����
�$�$����M�M�k�a��k�!�n�n�M�(�!�2C�2C��A�s�A�&�&�B��B��#�#�B��	�L�"�	%�	%�B�	����g�k�*�C�	�N�	;�	;�B��C��K�	
�b�#���9�!�	����<� �(�(��w�7�7�8�8�8�9�9�9�9�9�9�9�9�9�9�9����9�9�9�9��G�A�f�I�I�I�r�r�r�J�K�K�K��{��;�
�W�\�\��K� �#�l�"3�m�"C�E�E��
�"�c�]�]�	.�a�
�G�G�'�(�(�(�
�G�G�D�I�I�b��m�,�,�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	����%�%�%�s�<�'8�'8�'8�:�	;�	;�	;��|��;�
�W�\�\��K� �#�l�"3�l�"B�D�D����E�
�
�"�c�]�]�	+�a�
�G�G�I�\�Z�
\�
\�
\��7�*�*����n�p�p�p�����	�	�"�Z�.�1�1�2�2�2��7�*�*����)�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	����%�%�%�s�<�'8�'8�'8�:�	;�	;�	;��F�
�W�\�\�'�+�.��4I�0J�
K�
K����F��
�"�c�]�]�	�a�
�G�G�-�.�.�.�
�G�G�K�|�\�
^�
^�
^�
�G�G�O�
Q�
Q�
Q��E��k�k�,�/�/�$�6�=�=�d�C�C�

+�

+������s���(�(�(�(�b�(�(�(�(�(��L�L��T��*�*�*�*��+�1�Q�4�3�;�;��a�&�&�B�,�,����Q�s��s�V�j�%8�9�9�9��b�c�c�F���a�&�&�B�,�,��L�L��T��*�*�*�*��L�L��T��*�*�*�*��G�G�E�N�N�*�*�<��>�>�E�
�G�G�E�N�N�N�'	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�(	�=��D�E�E�E��F�
�W�\�\��K� �"8�C��<M�"N�P�P����F��
�"�c�]�]�	�a�
�G�G�)�*�*�*�
�G�G�K�|�\�
^�
^�
^�
�G�G�O�
Q�
Q�
Q��E��k�k�-�0�0�4�7�>�>�t�D�D�
+�
+������s���(�(�(�(�b�(�(�(�(�(��L�L��T��*�*�*�*���V�V�b�[�[�Q�q�T�S�[�[��L�L��3�B�3��+�!5�6�6�6��"�#�#��A��a�&�&�2�+�+����Q�s��s�V�k�%9�:�:�:��b�c�c�F���a�&�&�2�+�+��L�L��T��*�*�*�*��L�L��T��*�*�*�*��G�G�E�N�N�*�*�<��>�>�E�
�G�G�E�N�N�N�+	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�,	�=��D�E�E�E��Js^�"0Y�Y"�%Y"�A\&�&\*�-\*�/Ba�a�
a�>Fi�i�i�4F>q>�>r�r�st�ndr	�th)
r��������	rc	��tj|��\}}t|��\}}|t_|d}t|��r#t
d|d�d|d�d���nt
d|dz��tj|��}ti|��}tD]<}d|vr|d|��sd|vr!t|||��}t||��}�=d	\}	}
i}|D�]$}tj|||��}t||��rt}
n�t}
t||��smt!||��s,|	d
z}	t#|	��t$|	dzzdz|d
<n1|
d
z}
t#|
��t$|
dzzdz|d
<nd|d
<|||<|
D]S}d|vr�d|vr|d||��sd|vr-t||||��}t||��}d|vrn�T��&|D]�}t||��rt}
nt}
||}|
D]S}d|vr�d|vr|d||��sd|vr-t||||��}t||��}d|vrn�Td||vrB||dD]3}||d<tt&|||��}t||��}�4��t)|dt*��r|d���t)|dt*��r|d���t/t1d|d|d|dd�����|d<t/t1d|d|dd�����}|dkr)t/t1d d|di����|d!<nt1d"|d|d#���|d!<|d!�d$d%��|d&<|d&�d'd(��|d&<t/t1d)|d*|d+d,�����}t3|d+��d
kr0t/t1d-|d*|d+d,�����|d.<n||d.<||d*<t)|d/t*��r+t/t1d0d/|d/i����d1z|d/<g|d2<g|d3<d4D]�}||vr/t)||t*��r|d2||z|d2<d5|z}||vrPt)||t*��r5|d3||d6d
�zd7gz||d
d�zd8gz|d3<��tt4|��}t|��rt
d9|d:z��nt
d;|d:z��||fS)<N�varsz+            Constructing wrapper function "r��.r�z"...
z.        Constructing wrapper function "%s"...
r�)rrr�
z	 argument�nthz keyword�hiddenr�r��checkrQrUz #docsign##docsignopt##docsignxa#r�r�r�)r�r�r��docsignaturez#docsignopt##docsignxa#r�r�)r�r�rlz	#docsign#�docsignatureshortz#docsign#[#docsignopt#])r�r��_z\_�latexdocsignatureshort�,z, z #callfortran##callfortranappend#r�r�)r�r�z##callfortran# 0,#callfortranappend#�callcompaqfortranr�z#docreturn#z = r~r)rzr{r|r}�latexrz\begin{description}z\end{description}z              %s
rrz
          %s
)rN�assubrrrI�depargsr/rE�routsign2mapr�
rout_rulesr�sign2mapr �	aux_rules�	arg_rulesr$r0r��stnd�check_rules�
isinstance�list�reverserGrFr�
routine_rules)�routrr�rA�varrr	r rr6�nthk�savevrdr�_rulesr�optargs�cfsrs                  r�r�r��s2���!�$�'�'�J�D�$��T�N�N�M�D�'��I��
�v�,�C��t���T����l�#�#�#�T�&�\�\�\�3�	4�	4�	4�	4�	�A�T�&�\�R�S�S�S�
�
 ��
&�
&�C�	�B��	�	�B�
�$�$����M�M�k�a��k�$�/�/�M�X�Q�5F�5F��A�s�D�)�)�B��B��#�#�B���I�C���G�
����� ��C��F�+�+����A����	&��F�F��F� ��Q��(�(�
&�!�#�a�&�)�)�K���'�C�!%�c���T�#��(�^�!;�k�!I�C��J�J��!�8�D�!%�d���d�4�"�9�o�!=�
�!J�C��J�J�%��E�
����
��	�	�A��A�~�~���A�
�
�+�!�H�+�c�!�f�"5�"5�
�8�1�;L�;L���3��A��/�/����B�'�'���q�=�=��E���
�(�(����A����	��F�F��F��a�j���	�	�A���!�!���A�
�
�+�!�H�+�c�!�f�"5�"5�
�8�1�;L�;L���3��A��/�/����B�'�'���q�=�=��E���c�!�f�����V�G�_�
(�
(�� ��G����S�#�a�&�9�9����B�'�'�����"�'�(�$�/�/�)�
���&�&�(�(�(��"�%�&��-�-�'�
���$�$�&�&�&�#�G�,N�8:�9�
�;=�l�;K�:<�[�/�-K�-K�%L�%L�M�M�B�~����!:�/1�2B�/C�02�3D�0E�"G�"G�#�#�$�$�G��"�}�}�",��K�)�R�	�]�!;�<�<�#>�#>�����#*�*C�68��m�9@�+-�+-�#.�#.����$&�&9�#:�#B�#B�3��#N�#N�B�� �#%� �$"�")�'�#�t�"4�"4��� �
�W�?�$&�}�$5�B�Ob�Lc�Be�Be�f�f�g�g�C�
�2�!�"�#�#�a�'�'�",�W�5Z�<>�}�<M�df�gz�d{�]}�]}�.~�.~�#�#�����#&�����B�}���"�[�/�4�(�(�L�$��M�K��K��#A�B�B�D�D�FK�L��;���B�}���B���
A�'�'����7�7�z�"�Q�%��.�.�7� "�=� 1�B�q�E� 9�B�}���a�K����7�7�z�"�Q�%��.�.�7�%'�(:�%;�b��e�A�a�C�j�%H�'�(�&)�+-�a�5����9�&5�%�&�&'�B�!�"��
�M�2�	&�	&�B��t���5��$��:��7�8�8�8�8�� �B�z�N�3�4�4�4�
�t�8�Or�)j�__doc__r�r��timer��pathlibrrlr�auxfuncsrrrr	r
rrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrN�versionr��
numpy_versionr��sepdictr�int�environ�get�generationtime�asctime�gmtimer�r�rLrCr�rErFrHr&rGr�r�r�r��<module>rasv"��2�2�f����������������������������������������������������������������������������������������������������������������������������������������������������������������������(�������������������������������������"���#�
�
��
��
,���A��G�A�J�J���R�Z�^�^�$7������E�E�F�F���
'�$�,�{�t�{�>�'B�'B�C�C�D�
G��*�h�/�0�0�+1�*4�+�2�h�=�>�>�3?�2B�3�:�h�/�0�0�;1�:4�; �@�h�9�:�:�A ;�@>�A#�F�h�0�1�1�G#2�F5�G&�L�h�-�.�.�M&/�L2�M)�R�h�3�4�4�S)5�R8�S,�X�h�3�4�4�Y,5�X8�Y2�d�h�4�5�5�e26�d9�e5�j�h�6�7�7�k58�j;�k8�p�h�.�/�/�q80�p3�q;�v�h�7�8�8�w;9�v<�w>�|�h�@�A�A�}>B�|E�}@�@�h�7�8�8�A@9�@<�AC�F�h�$�%�%�GC&�F()#�Gk#�V&3�Wk3�V6�WH�R#)�!'�)�)����3���_Q�Q��h��/�+�1�5�1����(�E�E�'�N�N�B�7�
�
����7
�p$�-�,�.�8�:�5�5�5��2�3�G���;��SL�L�
�b'���.���6F���f�VZ��*�D��2D�d��%�v��&�t��.9�$��AL�T��&�t�	�.;�I�	�
-�d��+�D�
�3C�D�
�+�D��3C�D��'�	�"�'�"�2�'�(5�b�'�;N�r�'�	�2�'�$�R�'�*0��'�	�=�'�	��'�.�r�'�	�r�'�.�r�'�	�1�'� 	�=�!'�"	�+�#'�$	�B�%'�'�&	�:�''�(	�:�)'�*	�6�+'�,	�;�-'�.	�R�/'�.%�b�/'�.+5�b�/'�0	�_�1'�4	�:�;�5'�6	�_�7'�:	�6�7�;'�<	�=�='�<#3�4H�='�>	�.�?'�@	�2�A'�B	�6�C'�D	�R�E'�'�D')���2�r�b��2�2�B�Z\���l�E�E�'�N�N�B�?�M'�'�'�P3�'���%��(�(�	��C�7��!�	���$�u�U�U�4�4���+L�+L�%M�%M�u�u�Uc�Od�Od�e�e�hq�$�u�U�U�?�%;�%;�Z���~�I^�I^�_�_�bS�.��-�r�!�
�E�$�$��
�N�C�C�D�D�
:�
�E�%�%��(�(�*�e�e�N�6K�6K�L�L�
:��E�%�%��(�(�.�9�9�
:�
���u�u�T�T�/�:�>�>�?�?���~�AV�AV�W�W�Ya�b�
�o�q�
r�
��
��?�@�
� 4�
5�
�U�4�4�(�.�9�9�
:�
:�C�
E�
�=�>�
�?�+�
��%��e�e�,=�&>�&>�?�?�G$�$�J�$�u�T�T�/�>�%J�%J�K�K�NV�-�r�!�

�E�$�$���7�7�8�8�
:�
�
:�

�#�U�4�4���#H�#H�I�I�L�	���t�t�O�^�<�<�=�=��QY�?Z�[�
�v�x�
y�
��
��7�8�
�U�4�4�(�.�9�9�
:�
:�7�
9�
�L�
N�
�5�6�
�7�#�
�"�W,�,�Z�$�u�T�T�/�>�%J�%J�K�K�NV�-�r�!�

�E�$�$���7�7�8�8�
:�
�
:�

�#�U�4�4���#H�#H�I�I�L�	���t�t�O�^�<�<�=�=��QY�?Z�[�
�v�x�
y�
��
��7�8�
�U�4�4�(�.�9�9�
:�
:�7�
9�
�L�
N�
�5�6�
�7�#�
�$�W,�,�Z��e�M�*�*�J�7�%�A�)�+=�>�@� %��i�1A� B� B�E� �!&��i���7G�1H�1H� I� I�L� �
!��%�
�E�E�/�$:�$:�;�;�#��& %�u�U�U�4�4���+L�+L�%M�%M�u�u�Uc�Od�Od�e�e�ht�$�u�U�U�?�%;�%;�Z���~�I^�I^�_�_�bV�-�r�!�

�E�%�%���_�j�9�9�:�:��%��'�'�
)�
)�;�
�E�%�%��(�(�*�e�e�N�6K�6K�L�L�;��
8�
�)�*R��%�)�*�*�,P�R�#�E�G����
��7�8�
� �
��U�4�4�(�.�9�9�
:�
:�M�
O�
�5�6�
�7�#�
�U�9�/�
0�
0�q�
s�
�U�9�e�e�$5�6�6�
7�
7�9}�~�@� (�)s�t��%��'�'��2�#�%:�;�%�{�3�'��7�9���}�-�-�{�;�$�&A��5���/��?�?�@�@�BX�Z��%�
�E�E�*:�$;�$;�U�U�?�=S�=S�T�T�_0�0�bh���d�d�?�J�?�?�@�@�P���e�e�O�4�4�j�A�A�w��
;�7�9�D�H�H�^�9�,�_�%�7�+�.�� ,�-M�N�� ,�-K�L�+�[�9�(�#C�D�R�3 �6$�(�9�3�3�3���'����)?�)?�@�@�S*�*�X{�w�v��	��wa�
�J	!�+�"�M�#�%:�$�o�%�'7���)�+?�)�?�*�,<�.�0D�,�k��]�2�K�
��"	���J� �"L�M�Q�J�!�	��-��x�(�"�$=�>��%��%�%�	�"2�"2�3�3�	���%�$�&��%��%�%�	�"2�"2�L�A�A���)�"�$Y�Z����1�+���y��������,�	�2�\�<�4P�Q��
��	�%�%����~�!6�!6�7�7��	�%�%����~�!6�!6�8H�I�I�������
��t�(�/�:�:����
�$����
�(����
�����/�0B�C�����_T
�	�lI
����I
�
@� �"L�M�Q�J��!���	I
��e�J�(8�9�9�=�I��e�J�(8�9�9�=�I�"�$4�5� �5��-=�>�>�Ad�BI�<�AX�AZ�[� �5��-=�>�>�Ad�BI�<�AX�AZ�[�'�*P�+0�5��-�+H�+H�,�+0�5��:J�+K�+K�M]�+_�*`�a����I
�6!���%�(�%�%�
�*;�*;�<�<���5I
�@$�-�'��%�(�*�5�5�	��?I
�N%�&����MI
�X��&�(B�C���+�-D�E��	�&�(h�i��	�\�	�
	�4��	�+�.p�q�
�	�F�D�?��%�)�*�*�8�:���	�%�'@�A��	�j�#�&��	�j�#�&�� 	�%�t�,�!�"	�j�"7�8�#�$	�j�"7�8�%�&	�6�'�(	�4�)�*	���/�0�0�2C�D�+�,	��Z�(�-�.	��/��YI
�L�u�.�/�/�2�����6
��?� �%� 1�2�2�5I�J�K�
L�
F�Q+
�Z		�
�,�-���k6�6�KI
�|-��!Z�[���Z��6�6��e�e�D�D�Q[�]i�Lj�Lj�Fk�Fk�mz�{���.��%��%�%�	�"2�"2�3�3���{I
�H�x�(��%��%�%�	�"2�"2�3�3���GI
�N:� �#�&� �#�&� �"4�5� �"4�5�$�'��*�+_�`��!9�:��%��%�%�	�"2�"2�E�E�(�O�O�(�*�*�
�
�MI
�H�X�
��
�
�U�:�u�u�\�2�2�
3�
3�5Y�
��
�
�U�9�
�
� �
���
�/
�8G���y�!�!�#7�8��%��%�%�	�"2�"2�4D�E�E��A!�!�gI
�j#�$=�>�!��%��%�%�	�"2�"2�M�B�B��	��iI
�t �!Z�[��%��%�%�	�"2�"2�3�3����sI
�@)�"�L�%�%�
�2C�2C�]�S��!h�i��!2�3����I
�L:� �#�&� �#�&� �"4�5� �"4�5��!9�:�$�'� �*�+c�d��%�	�#3�4�4���KI
�d$�%~���u�Z���|�)<�)<�=�=�C�E�2�3�
R�%�&��%�	�#3�4�4��
�
�cI
�x�H�I��%�	�=�1�1���wI
�~#�$Y�Z��%�	�=�1�1����}I
�F#�$Z�[�&�'����EI
�N �!h�i�����MI
�Z<�<�<�#�.�
�D�
E��U�<���z�!2�!2�
3�
3�
J�
L�
� ��.���%��e�e�J�&7�&7�8�8�,�G�I��#��YI
�@
��U�:�
�
�
J�
L�

�-�&�w���%�
�#�#�\�2�4���%��}I
�d!�#�&� �#�&� �"4�5� �"4�5�
�U�>�5�5��#4�#4�
5�
5�
J�
L�
��
��*�+_�`��!9���~�u�u�Z�'8�'8�9�9�<�I��%��"2�3�3���cI
�D		�%�%��-�0�0��C	I
�H	 �!j�k�����G	I
�T	2�G�9�E�5��!?�@��#�+�-?�@��!;�<���
�
�S	I
�n	8�,��/�-�0�Q��%��!3�4�4�	�	�m	I
�@
c��%��!3�4�4����	I
�J
8�,��/�-�0�Q��%���/�/�	�	�I
I
�\
c��%���/�/����[
I
�d
�	�*�\�<�,H�I�����c
I
�l
:� �#�&� �#�&� �"4�5� �"4�5��%��!1�2�2�
��k
I
�|

�4�D�
�>�
?��E�
F�	
��
>�
@�
�!�7�9���(��!:�;���
�3/�b
O�
�U�4�4��m�4�4�
5�
5�82�
3��U�=�%�%��"5�"5�
6�
6�G�
I�
�K�L�	
���y=�=�y
I
�x	�%�%����~�!6�!6�7�7��wI
�|	�%�%����~�!6�!6�8H�I�I��{I
�B
�����C
I
�L
�#����M
I
�V
�$����W
I
�`
�(����a
I
�j
�����k
I
�v
����u
I
�@�"���
I
�J/�0B�C�����II
�	�^ �!]�^����o�<���%��%�%�	�"2�"2�3�3����o�<�������P�;������R�=���-��DI�I�I�Z�D�T�d�t��D�T�d�t�5�5��s�s�s�s�sr�