From 8fe36ccc236f183e42bbdda9275dca208f19de06 Mon Sep 17 00:00:00 2001 From: Ryan Pepper Date: Sat, 7 Feb 2026 19:32:14 +0000 Subject: [PATCH 1/7] Update to latest SUNDIALS --- README.md | 2 +- bin/install-sundials.sh | 19 ++++-- doc/install.rst | 2 + fidimag/common/sundials/cvode.pyx | 99 ++++++++++++++++--------------- setup.py | 16 ++--- 5 files changed, 76 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 1f6290cf..21e8d04d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Fidimag solves finite-difference micromagnetic problems and supports atomistic s See: [https://fidimag.readthedocs.io/en/latest/install.html](https://fidimag.readthedocs.io/en/latest/install.html) ### Features -* Optimal LLG equation integration using modern [Sundial's v6](https://github.com/LLNL/sundials/) CVODE solver +* Optimal LLG equation integration using modern [Sundial's v7](https://github.com/LLNL/sundials/) CVODE solver * Offers LLG and LLG with spin torque terms (Zhang-Li and Sloncewski) * Calculations using the Geodesic-Nudged-Elastic-Band and String methods to compute energy barriers. * Exchange, Zeeman, Demagnetising, Uniaxial Anisotropy energy classes. diff --git a/bin/install-sundials.sh b/bin/install-sundials.sh index 5d908bf0..20b034d3 100755 --- a/bin/install-sundials.sh +++ b/bin/install-sundials.sh @@ -5,10 +5,16 @@ set -e # when SUNDIALS moved to a CMake-based installation. Will install locally. # It may need environment variables to work, like `export CC=gcc` in ARCHER. +# Parse command line arguments +SILENT=true +if [[ "$1" == "--not-silent" ]]; then + SILENT=false +fi + # Github release from Sundials repository # https://github.com/LLNL/sundials -SUNDIALS_TAG=v6.6.1 -SUNDIALS=sundials-6.6.1 +SUNDIALS_TAG=v7.6.0 +SUNDIALS=sundials-7.6.0 # Make sure CMake is installed, since SUNDIALS requires it. type cmake >/dev/null 2>&1 || { printf "CMake required to build SUNDIALS. You can install it by typing: \nsudo apt install cmake\n"; exit 1;} @@ -42,10 +48,15 @@ download_and_cmake_install() { cmake ${4} ../${2} echo "Compiling and installing "${2}"." - { + if [ "$SILENT" = true ]; then + { + make -j2 + make install + } > /dev/null + else make -j2 make install - } > /dev/null + fi echo "Cleaning up." cd .. diff --git a/doc/install.rst b/doc/install.rst index ce63547d..acf0ff05 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -37,6 +37,8 @@ though many Linux distributions come with these. Using the scripts provided in F bash install-fftw.sh bash install-sundials.sh +The installation script will automatically download and build SUNDIALS v7.6.0. + Python library dependencies are specified in the `pyproject.toml` file. We can install the `fidimag` library in editable mode, using `pip`: .. code-block:: bash diff --git a/fidimag/common/sundials/cvode.pyx b/fidimag/common/sundials/cvode.pyx index d170a98c..43d7a904 100644 --- a/fidimag/common/sundials/cvode.pyx +++ b/fidimag/common/sundials/cvode.pyx @@ -10,13 +10,14 @@ cdef extern from "sundials/sundials_context.h": struct _SUNContext: pass ctypedef _SUNContext *SUNContext + void* SUN_COMM_NULL int SUNContext_Create(void *comm, SUNContext *ctx) int SUNContext_Free(SUNContext *ctx) cdef extern from "sundials/sundials_types.h": - ctypedef double realtype - ctypedef bint booleantype + ctypedef double sunsunrealtype + ctypedef bint sunsunbooleantype # Types for the Sundials Linear System initialization cdef extern from "sundials/sundials_matrix.h": @@ -42,22 +43,22 @@ cdef extern from "sundials/sundials_nvector.h": cdef extern from "nvector/nvector_serial.h": - cdef N_Vector N_VMake_Serial(long int vec_length, realtype *v_data, SUNContext sunctx) + cdef N_Vector N_VMake_Serial(long int vec_length, double *v_data, SUNContext sunctx) struct _N_VectorContent_Serial: long int length - realtype *data - booleantype own_data + double *data + int own_data ctypedef _N_VectorContent_Serial *N_VectorContent_Serial cdef extern from "nvector/nvector_openmp.h": - cdef N_Vector N_VMake_OpenMP(long int vec_length, realtype *v_data, int num_threads, SUNContext sunctx) + cdef N_Vector N_VMake_OpenMP(long int vec_length, double *v_data, int num_threads, SUNContext sunctx) struct _N_VectorContent_OpenMP: long int length - realtype *data - booleantype own_data + double *data + int own_data int num_threads ctypedef _N_VectorContent_OpenMP *N_VectorContent_OpenMP @@ -100,34 +101,34 @@ cdef extern from "cvode/cvode.h": int CV_BAD_DKY int CV_TOO_CLOSE - ctypedef int (*CVRhsFn)(realtype t, N_Vector y, N_Vector ydot, void *user_data) - ctypedef int (*CVRootFn)(realtype t, N_Vector y, realtype *gout, void *user_data) + ctypedef int (*CVRhsFn)(double t, N_Vector y, N_Vector ydot, void *user_data) + ctypedef int (*CVRootFn)(double t, N_Vector y, double *gout, void *user_data) void *CVodeCreate(int lmm, SUNContext sunctx) - # int CVode "CVode"(void *cvode_mem, realtype tout, N_Vector yout, realtype *tret, int itask) nogil + # int CVode "CVode"(void *cvode_mem, double tout, N_Vector yout, double *tret, int itask) nogil int CVodeSetUserData(void *cvode_mem, void *user_data) int CVodeSetMaxOrd(void *cvode_mem, int maxord) int CVodeSetMaxNumSteps(void *cvode_mem, long int mxsteps) int CVodeSetMaxHnilWarns(void *cvode_mem, int mxhnil) - int CVodeSetStabLimDet(void *cvode_mem, booleantype stldet) - int CVodeSetInitStep(void *cvode_mem, realtype hin) - int CVodeSetMinStep(void *cvode_mem, realtype hmin) - int CVodeSetMaxStep(void *cvode_mem, realtype hmax) - int CVodeSetStopTime(void *cvode_mem, realtype tstop) + int CVodeSetStabLimDet(void *cvode_mem, int stldet) + int CVodeSetInitStep(void *cvode_mem, double hin) + int CVodeSetMinStep(void *cvode_mem, double hmin) + int CVodeSetMaxStep(void *cvode_mem, double hmax) + int CVodeSetStopTime(void *cvode_mem, double tstop) int CVodeSetMaxErrTestFails(void *cvode_mem, int maxnef) int CVodeSetMaxNonlinIters(void *cvode_mem, int maxcor) int CVodeSetMaxConvFails(void *cvode_mem, int maxncf) - int CVodeSetNonlinConvCoef(void *cvode_mem, realtype nlscoef) + int CVodeSetNonlinConvCoef(void *cvode_mem, double nlscoef) int CVodeSetIterType(void *cvode_mem, int iter) int CVodeSetRootDirection(void *cvode_mem, int *rootdir) int CVodeSetNoInactiveRootWarn(void *cvode_mem) - int CVodeInit(void *cvode_mem, CVRhsFn f, realtype t0, N_Vector y0) - int CVodeReInit(void *cvode_mem, realtype t0, N_Vector y0) - int CVodeSStolerances(void *cvode_mem, realtype reltol, realtype abstol) - int CVodeSVtolerances(void *cvode_mem, realtype reltol, N_Vector abstol) + int CVodeInit(void *cvode_mem, CVRhsFn f, double t0, N_Vector y0) + int CVodeReInit(void *cvode_mem, double t0, N_Vector y0) + int CVodeSStolerances(void *cvode_mem, double reltol, double abstol) + int CVodeSVtolerances(void *cvode_mem, double reltol, N_Vector abstol) int CVodeRootInit(void *cvode_mem, int nrtfn, CVRootFn g) - int CVode(void *cvode_mem, realtype tout, N_Vector yout, realtype *tret, int itask) - int CVodeGetDky(void *cvode_mem, realtype t, int k, N_Vector dky) + int CVode(void *cvode_mem, double tout, N_Vector yout, double *tret, int itask) + int CVodeGetDky(void *cvode_mem, double t, int k, N_Vector dky) int CVodeGetWorkSpace(void *cvode_mem, long int *lenrw, long int *leniw) int CVodeGetNumSteps(void *cvode_mem, long int *nsteps) int CVodeGetNumRhsEvals(void *cvode_mem, long int *nfevals) @@ -136,11 +137,11 @@ cdef extern from "cvode/cvode.h": int CVodeGetLastOrder(void *cvode_mem, int *qlast) int CVodeGetCurrentOrder(void *cvode_mem, int *qcur) int CVodeGetNumStabLimOrderReds(void *cvode_mem, long int *nslred) - int CVodeGetActualInitStep(void *cvode_mem, realtype *hinused) - int CVodeGetLastStep(void *cvode_mem, realtype *hlast) - int CVodeGetCurrentStep(void *cvode_mem, realtype *hcur) - int CVodeGetCurrentTime(void *cvode_mem, realtype *tcur) - int CVodeGetTolScaleFactor(void *cvode_mem, realtype *tolsfac) + int CVodeGetActualInitStep(void *cvode_mem, double *hinused) + int CVodeGetLastStep(void *cvode_mem, double *hlast) + int CVodeGetCurrentStep(void *cvode_mem, double *hcur) + int CVodeGetCurrentTime(void *cvode_mem, double *tcur) + int CVodeGetTolScaleFactor(void *cvode_mem, double *tolsfac) int CVodeGetErrWeights(void *cvode_mem, N_Vector eweight) int CVodeGetEstLocalErrors(void *cvode_mem, N_Vector ele) int CVodeGetNumGEvals(void *cvode_mem, long int *ngevals) @@ -148,8 +149,8 @@ cdef extern from "cvode/cvode.h": int CVodeGetIntegratorStats(void *cvode_mem, long int *nsteps, long int *nfevals, long int *nlinsetups, long int *netfails, int *qlast, - int *qcur, realtype *hinused, realtype *hlast, - realtype *hcur, realtype *tcur) + int *qcur, double *hinused, double *hlast, + double *hcur, double *tcur) int CVodeGetNumNonlinSolvIters(void *cvode_mem, long int *nniters) int CVodeGetNumNonlinSolvConvFails(void *cvode_mem, long int *nncfails) int CVodeGetNonlinSolvStats(void *cvode_mem, long int *nniters, long int *nncfails) @@ -180,17 +181,17 @@ cdef extern from "cvode/cvode_ls.h": # int CVSpilsSetPrecType(void *cvode_mem, int pretype) # int CVSpilsSetGSType(void *cvode_mem, int gstype) # int CVSpilsSetMaxl(void *cvode_mem, int maxl) - # int CVSpilsSetEpsLin(void *cvode_mem, realtype eplifac) - - ctypedef int (*CVLsPrecSetupFn)(realtype t, N_Vector y, N_Vector fy, - booleantype jok, booleantype *jcurPtr, - realtype gamma, void *user_data); - ctypedef int (*CVLsPrecSolveFn)(realtype t, N_Vector y, N_Vector fy, - N_Vector r, N_Vector z, realtype gamma, - realtype delta, int lr, void *user_data); - ctypedef int (*CVLsJacTimesSetupFn)(realtype t, N_Vector y, + # int CVSpilsSetEpsLin(void *cvode_mem, sunrealtype eplifac) + + ctypedef int (*CVLsPrecSetupFn)(double t, N_Vector y, N_Vector fy, + int jok, int *jcurPtr, + double gamma, void *user_data); + ctypedef int (*CVLsPrecSolveFn)(double t, N_Vector y, N_Vector fy, + N_Vector r, N_Vector z, double gamma, + double delta, int lr, void *user_data); + ctypedef int (*CVLsJacTimesSetupFn)(double t, N_Vector y, N_Vector fy, void *user_data); - ctypedef int (*CVLsJacTimesVecFn)(N_Vector v, N_Vector Jv, realtype t, + ctypedef int (*CVLsJacTimesVecFn)(N_Vector v, N_Vector Jv, double t, N_Vector y, N_Vector fy, void *user_data, N_Vector tmp); @@ -312,8 +313,8 @@ cdef int cv_jtimes_openmp(N_Vector v, N_Vector Jv, double t, N_Vector y, N_Vecto return 0 -# static int PSolve(realtype tn, N_Vector u, N_Vector fu, N_Vector r, N_Vector z, -# realtype gamma, realtype delta, int lr, void *user_data); +# static int PSolve(sunrealtype tn, N_Vector u, N_Vector fu, N_Vector r, N_Vector z, +# sunrealtype gamma, sunrealtype delta, int lr, void *user_data); cdef int psolve(double t, N_Vector y, N_Vector fy, N_Vector r, N_Vector z, double gamma, double delta, int lr, void * user_data): copy_nv2nv(z, r) @@ -375,7 +376,7 @@ cdef class CvodeSolver(object): # All of the SUNDIALS objects (vectors, linear and nonlinear solvers, matrices, etc.) # that collectively form a SUNDIALS simulation, hold a reference to a common simulation context object # defined by the SUNContext class. - SUNContext_Create(NULL, & self.sunctx); + SUNContext_Create(SUN_COMM_NULL, & self.sunctx); # The recommended choices for lmm are CV ADAMS for nonstiff problems and CV BDF for # stiff problems. The default Newton iteration is recommended for stiff problems, and @@ -504,10 +505,10 @@ cdef class CvodeSolver(object): return 0 # From exmaples: cvDiurnal_kry.c in Sundials repo: - # static int Precond(realtype tn, N_Vector u, N_Vector fu, booleantype jok, - # booleantype *jcurPtr, realtype gamma, void *user_data) - cdef int Precond(self, double t, N_Vector y, N_Vector fy, booleantype jok, - booleantype * jcurPtr, double gamma, void * user_data): + # static int Precond(sunrealtype tn, N_Vector u, N_Vector fu, sunbooleantype jok, + # sunbooleantype *jcurPtr, sunrealtype gamma, void *user_data) + cdef int Precond(self, double t, N_Vector y, N_Vector fy, int jok, + int * jcurPtr, double gamma, void * user_data): if not jok: copy_nv2arr(y, self.y) return 0 @@ -600,7 +601,7 @@ cdef class CvodeSolver_OpenMP(object): if jtimes_fun is not None: self.has_jtimes = 1 - SUNContext_Create(NULL, & self.sunctx); + SUNContext_Create(SUN_COMM_NULL, & self.sunctx); # Newton iterator is set by default now (Sundials 4.0) self.cvode_mem = CVodeCreate(CV_BDF, self.sunctx) @@ -702,7 +703,7 @@ cdef class CvodeSolver_OpenMP(object): return 0 cdef int Precond(self, double t, N_Vector y, N_Vector fy, - booleantype jok, booleantype * jcurPtr, double gamma, + int jok, int * jcurPtr, double gamma, void * user_data): if not jok: copy_nv2arr_openmp(y, self.y) diff --git a/setup.py b/setup.py index e40cdee3..dbf0421a 100644 --- a/setup.py +++ b/setup.py @@ -25,16 +25,10 @@ # rpath: run-time search path for the sundials (cvode) and fftw library objects com_link = ['-Wl,-rpath,{},-rpath,{}'.format(str(LIB_DIR), str(LIB_DIR64)), '-fopenmp'] lib_paths = [str(LIB_DIR), str(LIB_DIR64)] -com_libs = ['m', 'fftw3_omp', 'fftw3', 'sundials_cvodes', 'sundials_nvecserial', 'sundials_nvecopenmp', 'blas', 'lapack'] +com_libs = ['m', 'fftw3_omp', 'fftw3', 'sundials_core', 'sundials_cvodes', 'sundials_nvecserial', 'sundials_nvecopenmp', 'blas', 'lapack'] com_args = ['-O3', '-Wno-cpp', '-Wno-unused-function', '-Wall', '-std=c99', '-fopenmp'] com_args_cpp = ['-O3', '-Wno-unused-function', '-Wall', '-std=c++14', '-fopenmp'] -if 'SUNDIALS_INC' in os.environ: - com_inc.append(os.environ['SUNDIALS_INC']) - -if 'FFTW_INC' in os.environ: - com_inc.append(os.environ['FFTW_INC']) - # Find all .pyx files with extensions (source files) -> relative paths ROOT_DIR = MODULE_DIR / 'fidimag' source_files = [s for s in ROOT_DIR.rglob('*.pyx')] # Paths @@ -49,6 +43,12 @@ com_inc = [numpy.get_include(), str(INCLUDE_DIR)] +if 'SUNDIALS_INC' in os.environ: + com_inc.append(os.environ['SUNDIALS_INC']) + +if 'FFTW_INC' in os.environ: + com_inc.append(os.environ['FFTW_INC']) + ext_modules = [] for i, (module, src) in enumerate(zip(ext_names, source_files)): print(sYellow + f"Compiling module {module}" + sReset) @@ -109,7 +109,7 @@ def get_version(): raise Exception("Couldn't find __version__ in %s" % pkg_init_path) -nthreads = multiprocessing.cpu_count() +nthreads = 0 # Disabled parallel compilation due to Python 3.14 multiprocessing issues (0 = no multiprocessing) print(sYellow + f'Building with {nthreads} threads' + sReset) setup( name='fidimag', From a36b729edfed8287d7ce2bb293c446234a2b34e0 Mon Sep 17 00:00:00 2001 From: Ryan Pepper Date: Sat, 7 Feb 2026 19:35:18 +0000 Subject: [PATCH 2/7] Bump to v3.14 Python --- .github/workflows/build.yml | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2fb05b95..14ff6815 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.10'] + python-version: ['3.14'] runs-on: ubuntu-latest diff --git a/pyproject.toml b/pyproject.toml index 08335bab..b78d41c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ readme = "README.md" # Not fully supported: # license-files = ["LICENSE.txt"] # license = "BSD-2-Clause" -requires-python = ">= 3.10" +requires-python = ">= 3.14" dependencies = [ 'numpy', 'scipy', From a451acbc22ca1dbc8eb5bdcc49d170188f45bb22 Mon Sep 17 00:00:00 2001 From: Ryan Pepper Date: Sun, 8 Feb 2026 11:16:30 +0000 Subject: [PATCH 3/7] Update fftw --- bin/install-fftw.sh | 2 +- fidimag/common/dipolar/demag.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/install-fftw.sh b/bin/install-fftw.sh index 9367b55d..da3420d8 100755 --- a/bin/install-fftw.sh +++ b/bin/install-fftw.sh @@ -3,7 +3,7 @@ # This script installs FFTW locally. It may need to environment # variables to work, like 'export CC=gcc' in ARCHER. -FFTW=fftw-3.3.8 +FFTW=fftw-3.3.10 set -e diff --git a/fidimag/common/dipolar/demag.c b/fidimag/common/dipolar/demag.c index 0dfd5707..39b95793 100644 --- a/fidimag/common/dipolar/demag.c +++ b/fidimag/common/dipolar/demag.c @@ -479,7 +479,9 @@ void finalize_plan(fft_demag_plan *restrict plan) { fftw_free(plan->hy); fftw_free(plan->hz); - fftw_cleanup_threads(); + // Note: fftw_cleanup_threads() is a global cleanup function and should + // NOT be called per-object. It should only be called once at program exit. + // Calling it here causes crashes when multiple FFTDemag objects are used. free(plan); } From b1c49107cbfe8cea807889a17c6edd0fb516ad49 Mon Sep 17 00:00:00 2001 From: Ryan Pepper Date: Sun, 8 Feb 2026 14:22:32 +0000 Subject: [PATCH 4/7] (WIP) Port to uv + Cmake driven scikit-core-build --- .github/workflows/build.yml | 46 +- BUILD.md | 371 ++ CHANGELOG.md | 66 + Makefile | 46 +- README.md | 20 +- cmake/FindSUNDIALS.cmake | 131 + docker/minimal-py2/Dockerfile | 64 - docker/minimal-py2/Dockerfile.org | 14 - docker/minimal-py2/Makefile | 16 - docker/minimal-py2/Readme.md | 31 - docker/minimal-py3/Dockerfile | 76 +- docker/notebook/Dockerfile | 41 +- docker/testing/Dockerfile | 35 +- fidimag/atomistic/__init__.py | 2 +- fidimag/atomistic/demag.py | 36 - fidimag/atomistic/fmmlib/calculate.cpp | 314 -- fidimag/atomistic/fmmlib/calculate.hpp | 58 - fidimag/atomistic/fmmlib/example.py | 16 - fidimag/atomistic/fmmlib/fmm.pyx | 75 - fidimag/atomistic/fmmlib/operators.cpp | 5413 ------------------- fidimag/atomistic/fmmlib/operators.h | 49 - fidimag/atomistic/fmmlib/tree.cpp | 297 - fidimag/atomistic/fmmlib/tree.hpp | 103 - fidimag/atomistic/fmmlib/utils.cpp | 27 - fidimag/atomistic/fmmlib/utils.hpp | 23 - fidimag/atomistic/lib/fmmlib/calculate.cpp | 112 - fidimag/atomistic/lib/fmmlib/calculate.hpp | 40 - fidimag/atomistic/lib/fmmlib/expansions.hpp | 3179 ----------- fidimag/atomistic/lib/fmmlib/fmmlib.pyx | 51 - fidimag/atomistic/lib/fmmlib/tree.cpp | 161 - fidimag/atomistic/lib/fmmlib/tree.hpp | 44 - fidimag/atomistic/lib/fmmlib/utils.cpp | 11 - fidimag/atomistic/lib/fmmlib/utils.hpp | 9 - pyproject.toml | 225 +- sandbox/heirarchical/test_fmm.py | 158 - uv.lock | 3635 +++++++++++++ 36 files changed, 4552 insertions(+), 10443 deletions(-) create mode 100644 BUILD.md create mode 100644 cmake/FindSUNDIALS.cmake delete mode 100644 docker/minimal-py2/Dockerfile delete mode 100644 docker/minimal-py2/Dockerfile.org delete mode 100644 docker/minimal-py2/Makefile delete mode 100644 docker/minimal-py2/Readme.md delete mode 100644 fidimag/atomistic/fmmlib/calculate.cpp delete mode 100644 fidimag/atomistic/fmmlib/calculate.hpp delete mode 100644 fidimag/atomistic/fmmlib/example.py delete mode 100644 fidimag/atomistic/fmmlib/fmm.pyx delete mode 100644 fidimag/atomistic/fmmlib/operators.cpp delete mode 100644 fidimag/atomistic/fmmlib/operators.h delete mode 100644 fidimag/atomistic/fmmlib/tree.cpp delete mode 100644 fidimag/atomistic/fmmlib/tree.hpp delete mode 100644 fidimag/atomistic/fmmlib/utils.cpp delete mode 100644 fidimag/atomistic/fmmlib/utils.hpp delete mode 100644 fidimag/atomistic/lib/fmmlib/calculate.cpp delete mode 100644 fidimag/atomistic/lib/fmmlib/calculate.hpp delete mode 100644 fidimag/atomistic/lib/fmmlib/expansions.hpp delete mode 100644 fidimag/atomistic/lib/fmmlib/fmmlib.pyx delete mode 100644 fidimag/atomistic/lib/fmmlib/tree.cpp delete mode 100644 fidimag/atomistic/lib/fmmlib/tree.hpp delete mode 100644 fidimag/atomistic/lib/fmmlib/utils.cpp delete mode 100644 fidimag/atomistic/lib/fmmlib/utils.hpp delete mode 100644 sandbox/heirarchical/test_fmm.py create mode 100644 uv.lock diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 14ff6815..e201f4c8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,6 @@ name: Fidimag test -on: [push] +on: [push, pull_request] jobs: unit-tests: @@ -8,51 +8,43 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.14'] + python-version: ['3.12', '3.13', '3.14'] + os: [ubuntu-latest] - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - name: "Update apt and install cmake" + - name: "Update apt and install dependencies" run: | sudo apt-get -y update - sudo apt-get install -y cmake + sudo apt-get install -y cmake gcc g++ sudo apt-get install -y libatlas-base-dev libatlas3-base - - name: "Install sundials and fftw" + - name: "Install SUNDIALS and FFTW" working-directory: ./bin run: | bash install-fftw.sh bash install-sundials.sh - - - name: "Install pip and packages" - working-directory: ./ + + - name: "Install uv" run: | - python3 -m ensurepip - python3 -m pip install --upgrade pip - python3 -m pip install --user scipy numpy pytest matplotlib - python3 -m pip install --user setuptools pyvtk cython psutil + curl -LsSf https://astral.sh/uv/install.sh | sh + echo "$HOME/.cargo/bin" >> $GITHUB_PATH - - name: "Install FIDIMAG" + - name: "Build and install Fidimag" run: | - python3 setup.py build_ext --inplace - PWD=$(pwd) - export PYTHONPATH=$PWD:$PYTHONPATH - echo "PYTHONPATH=$PYTHONPATH" - echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=$PWD/local/lib" >> $GITHUB_ENV - - - name: "Run test" + uv sync --frozen --all-extras + echo "LD_LIBRARY_PATH=$PWD/local/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + + - name: "Run tests" working-directory: ./tests run: | - python3 -m pytest -v -# env: -# PYTHONPATH: $PWD + uv run pytest -v -m "not slow and not run_oommf" diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 00000000..1289a6eb --- /dev/null +++ b/BUILD.md @@ -0,0 +1,371 @@ +# Building Fidimag + +This guide covers building Fidimag from source using the modern build system (scikit-build-core + CMake + uv). + +## Quick Start + +### Prerequisites + +- Python 3.9+ (Python 3.14 recommended) +- CMake 3.18+ +- C compiler (GCC 11+ or Clang 13+) +- OpenMP support +- SUNDIALS 7.6.0 +- FFTW 3.x +- BLAS/LAPACK + +### Install Dependencies (macOS) + +```bash +# Install build tools +brew install cmake gcc@15 + +# Install SUNDIALS and FFTW to ./local/ +cd bin +bash install-fftw.sh +bash install-sundials.sh +cd .. +``` + +### Install Dependencies (Ubuntu/Debian) + +```bash +# Install build tools +sudo apt-get update +sudo apt-get install -y cmake gcc g++ libatlas-base-dev + +# Install SUNDIALS and FFTW to ./local/ +# Note: We build FFTW from source to get the OpenMP version +cd bin +bash install-fftw.sh +bash install-sundials.sh +cd .. +``` + +### Build and Install + +Using uv (recommended): + +```bash +# Install uv if not already installed +curl -LsSf https://astral.sh/uv/install.sh | sh + +# Build and install in editable mode +uv sync + +# Or with dev dependencies (pytest, pytest-cov, nbval) +uv sync --all-extras +``` + +Using pip (alternative): + +```bash +pip install -e . +``` + +On macOS with Homebrew GCC: + +```bash +CC=gcc-15 CXX=g++-15 CMAKE_GENERATOR="Unix Makefiles" uv sync +``` + +## Build System Overview + +Fidimag uses a modern Python build system: + +- **Build backend**: `scikit-build-core` (PEP 517/518 compliant) +- **Build system**: CMake for C/Cython extensions +- **Package manager**: `uv` with lock files for reproducibility + +### How the Build Works + +1. **CMake Configuration**: CMake finds native dependencies (Python, NumPy, Cython, OpenMP, SUNDIALS, FFTW, BLAS) +2. **Cython Code Generation**: Cython compiles `.pyx` files to C code in the `build/` directory (out-of-source) +3. **C Compilation**: GCC/Clang compiles the generated C code and any additional C source files +4. **Extension Linking**: Links against SUNDIALS, FFTW, BLAS, LAPACK, and OpenMP +5. **Installation**: Installs compiled `.so` files to `fidimag/extensions/` + +## Development Workflow + +### Clean Build + +```bash +# Rebuild +uv sync --reinstall-package fidimag +``` + +### Incremental Build + +After modifying Cython or C files: + +```bash +uv sync +``` + +uv automatically detects changes and rebuilds only what's necessary. + +### Testing + +Using make (recommended): + +```bash +# Quick tests (skip slow and OOMMF tests) +make test + +# All tests +make test-all + +# Basic tests +make test-basic + +# See all available commands +make help +``` + +Using uv directly: + +```bash +# Run all tests +cd tests +uv run pytest -v + +# Run specific tests +uv run pytest -v test_atomistic.py + +# Skip slow tests +uv run pytest -v -m "not slow and not run_oommf" +``` + +Or activate the environment manually: + +```bash +source .venv/bin/activate +cd tests +pytest -v +``` + +## Environment Variables + +### Compiler Selection + +- `CC`: C compiler (e.g., `gcc-15`, `clang`) +- `CXX`: C++ compiler (e.g., `g++-15`, `clang++`) + +### Build Configuration + +- `CMAKE_GENERATOR`: CMake generator (use `"Unix Makefiles"` on macOS if Ninja is not available) +- `CMAKE_BUILD_TYPE`: Build type (`Release`, `Debug`, `RelWithDebInfo`) +- `CMAKE_PREFIX_PATH`: Additional paths for CMake to search for libraries + +### Dependency Paths + +If SUNDIALS or FFTW are installed in non-standard locations: + +- `SUNDIALS_INC`: Path to SUNDIALS include directory +- `FFTW_INC`: Path to FFTW include directory + +Example: + +```bash +export SUNDIALS_INC=/opt/sundials/include +export FFTW_INC=/usr/local/include +uv sync +``` + +## Troubleshooting + +### OpenMP not found + +**Error**: `Could NOT find OpenMP` + +**Solution**: Install a compiler with OpenMP support: + +```bash +# macOS +brew install gcc@15 +export CC=gcc-15 CXX=g++-15 +``` + +### SUNDIALS not found + +**Error**: `Could NOT find SUNDIALS` + +**Solution**: Install SUNDIALS to `./local/`: + +```bash +cd bin +bash install-sundials.sh +``` + +Or specify the path: + +```bash +export SUNDIALS_INC=/path/to/sundials/include +``` + +### FFTW not found + +**Error**: `Could NOT find FFTW3` + +**Solution**: Install FFTW with OpenMP support to `./local/`: + +```bash +cd bin +bash install-fftw.sh +``` + +On macOS, you can also use Homebrew: + +```bash +brew install fftw +``` + +Note: The apt package `libfftw3-dev` does not include OpenMP support, so build from source using the install script. + +### Ninja not found (macOS) + +**Error**: `ninja: error: Makefile:5: expected '=', got ':'` + +**Solution**: Use Make instead of Ninja: + +```bash +CMAKE_GENERATOR="Unix Makefiles" uv sync +``` + +### Old Cython files causing issues + +**Symptoms**: Import errors, symbol not found errors + +**Solution**: Clean old generated files: + +```bash +bash clean_cython_files.sh +uv sync --reinstall-package fidimag +``` + +## CI/CD + +The GitHub Actions workflow uses uv for building and testing: + +```yaml +- name: Install uv + run: curl -LsSf https://astral.sh/uv/install.sh | sh + +- name: Build and test + run: | + uv sync + uv run pytest tests/ +``` + +## Docker + +Fidimag provides Docker images for easy deployment and testing. + +### Building Docker Images + +```bash +# Testing image (includes full test suite) +docker build -t fidimag:testing -f docker/testing/Dockerfile . + +# Minimal Python 3 image +docker build -t fidimag:minimal -f docker/minimal-py3/Dockerfile . + +# Jupyter notebook image +docker build -t fidimag:notebook -f docker/notebook/Dockerfile . +``` + +### Running Docker Containers + +```bash +# Interactive shell +docker run -it fidimag:testing + +# Run tests +docker run fidimag:testing uv run pytest tests/ -v + +# Jupyter notebook (expose port 8888) +docker run -p 8888:8888 fidimag:notebook +``` + +### Docker Image Details + +All Docker images: +- Use Ubuntu 22.04 (LTS) +- Install uv for package management +- Build SUNDIALS 7.6.0 and FFTW with OpenMP from source +- Use the modern scikit-build-core build system +- Include all runtime dependencies + +## Advanced Topics + +### Custom CMake Options + +Edit `pyproject.toml` under `[tool.scikit-build.cmake.define]`: + +```toml +[tool.scikit-build.cmake.define] +CMAKE_BUILD_TYPE = "Debug" +CMAKE_C_FLAGS = "-Wall -Wextra" +``` + +### Adding New Extensions + +1. Create `.pyx` file in appropriate directory +2. Add to `CMakeLists.txt`: + +```cmake +add_fidimag_extension("fidimag.extensions.new_module" "path/to/new_module.pyx") +``` + +3. Rebuild: + +```bash +uv sync --reinstall-package fidimag +``` + +### Lock File Management + +The `uv.lock` file pins all dependencies for reproducibility. + +Update dependencies: + +```bash +# Update all packages +uv lock --upgrade + +# Update specific package +uv lock --upgrade-package numpy + +# Sync to updated lock file +uv sync +``` + +Commit `uv.lock` to version control to ensure reproducible builds. + +## Migration from setup.py + +If you're migrating from an older fidimag version that used `setup.py`: + +1. **Remove old build artifacts**: + ```bash + bash clean_cython_files.sh + ``` + +2. **Uninstall old fidimag**: + ```bash + pip uninstall fidimag + ``` + +3. **Install with new build system**: + ```bash + uv sync + ``` + +The new build system generates Cython files **out-of-source** in the `build/` directory, whereas the old system generated them in-place. This keeps the source tree clean. + +## References + +- [scikit-build-core documentation](https://scikit-build-core.readthedocs.io/) +- [Cython documentation](https://cython.readthedocs.io/) +- [CMake documentation](https://cmake.org/documentation/) +- [uv documentation](https://github.com/astral-sh/uv) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e6b1577..4ed41a3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,69 @@ +Version 3.0 +----------- + +### Build System Modernization + +**Major change**: The build system has been completely modernized from `setup.py` to a modern PEP 517/518 compliant system using `scikit-build-core`, `CMake`, and `uv`. + +#### Key Changes + +* **Build Backend**: Migrated from setuptools to scikit-build-core + CMake +* **Package Manager**: Now using `uv` with lock files (`uv.lock`) for reproducible builds +* **Cython Code Generation**: Now generates files out-of-source in `build/` directory instead of in-place +* **Configuration**: Moved from `setup.py` to declarative `pyproject.toml` + `CMakeLists.txt` +* **CI/CD**: Updated GitHub Actions workflows to use `uv` and the new build system +* **Dependencies**: All C/C++ libraries now properly managed by CMake (SUNDIALS, FFTW, BLAS, LAPACK, OpenMP) + +#### Installation Changes + +**Old way**: +```bash +pip install -e . +``` + +**New way**: +```bash +uv sync +``` + +#### For Developers + +* New `CMakeLists.txt` for build configuration +* New `cmake/FindSUNDIALS.cmake` for dependency management +* Added `clean_cython_files.sh` for cleaning old build artifacts +* Added `BUILD.md` for detailed build documentation +* Added `MIGRATION.md` for migration guide + +#### Breaking Changes + +* `setup.py` deprecated (retained for backward compatibility, will be removed in v3.1) +* Cython-generated `.c` files no longer in source tree (now in `build/` only) +* Requires CMake 3.18+ for building from source +* Python 3.9+ required (Python 3.14 recommended) +* **Python 2 no longer supported** - removed `docker/minimal-py2/` + +#### Migration + +See `MIGRATION.md` for detailed migration instructions. Quick steps: + +```bash +# Clean old artifacts +bash clean_cython_files.sh + +# Install with new build system +uv sync +``` + +#### Benefits + +* 10-100x faster package installation with `uv` +* Reproducible builds via lock files +* Cleaner source tree (no generated files) +* Better cross-platform support +* Improved dependency management + +--- + Version 3.0 Alpha ------------------ * Changes to the helper functions init_scalar and init_vector (fidimag/common/helper.py) diff --git a/Makefile b/Makefile index c6189078..bdf65966 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,54 @@ PROJECT_DIR = $(abspath .) EXTENSIONS_DIR = ${PROJECT_DIR}/fidimag/extensions USER_EXTENSIONS_DIR = ${PROJECT_DIR}/fidimag/extensions/user -PYTHON = python3 -PYTEST = ${PYTHON} -m pytest +# Use uv run to execute in the managed virtual environment +PYTHON = uv run python +PYTEST = uv run pytest + +.DEFAULT_GOAL := help + +help: + @echo "Fidimag Makefile - Common Tasks" + @echo "================================" + @echo "" + @echo "Build:" + @echo " make build Build fidimag using uv (recommended)" + @echo " make build-old Build using old setup.py (deprecated)" + @echo " make clean Clean all build artifacts" + @echo "" + @echo "Testing:" + @echo " make test Run quick tests (not slow, not oommf)" + @echo " make test-all Run all tests" + @echo " make test-basic Run basic tests" + @echo " make test-oommf Run OOMMF tests only" + @echo " make test-ipynb Run notebook tests" + @echo " make test-clean Clean test output files" + @echo "" + @echo "Documentation:" + @echo " make doc Build all documentation" + @echo " make doc-html Build HTML documentation" + @echo " make doc-clean Clean documentation build" + @echo "" + @echo "Docker:" + @echo " make docker Build Docker image" + @echo " make test-docker Run tests in Docker" + @echo "" + @echo "Note: All Python/pytest commands use 'uv run' to execute in the managed environment" + @echo "" ##################### # Cython Extensions # ##################### build: + uv sync --reinstall-package fidimag + +build-old: + # Old setup.py-based build (deprecated) ${PYTHON} setup.py build_ext --inplace -j2 clean: - rm -rf ${EXTENSIONS_DIR}/* - mkdir -p ${USER_EXTENSIONS_DIR} - touch ${EXTENSIONS_DIR}/__init__.py - touch ${USER_EXTENSIONS_DIR}/__init__.py - rm -rf build + bash clean_cython_files.sh docker: docker build -t fidimag -f ./docker/travis/Dockerfile . diff --git a/README.md b/README.md index 21e8d04d..2b2f8b5a 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,25 @@ Fidimag solves finite-difference micromagnetic problems and supports atomistic s ### Install -See: [https://fidimag.readthedocs.io/en/latest/install.html](https://fidimag.readthedocs.io/en/latest/install.html) +**Quick start** (using modern build system with uv): + +```bash +# Install uv +curl -LsSf https://astral.sh/uv/install.sh | sh + +# Clone and build +git clone https://github.com/computationalmodelling/fidimag.git +cd fidimag +uv sync + +# Activate environment +source .venv/bin/activate +``` + +For detailed installation instructions and troubleshooting, see: +- **Build documentation**: [BUILD.md](BUILD.md) +- **Migration guide**: [MIGRATION.md](MIGRATION.md) +- **Online docs**: [https://fidimag.readthedocs.io/en/latest/install.html](https://fidimag.readthedocs.io/en/latest/install.html) ### Features * Optimal LLG equation integration using modern [Sundial's v7](https://github.com/LLNL/sundials/) CVODE solver diff --git a/cmake/FindSUNDIALS.cmake b/cmake/FindSUNDIALS.cmake new file mode 100644 index 00000000..6a295ca6 --- /dev/null +++ b/cmake/FindSUNDIALS.cmake @@ -0,0 +1,131 @@ +# FindSUNDIALS.cmake +# Finds SUNDIALS library (v7.x) +# +# This module defines: +# SUNDIALS_FOUND - True if SUNDIALS is found +# SUNDIALS_VERSION - Version of SUNDIALS found +# SUNDIALS_INCLUDE_DIRS - Include directories for SUNDIALS +# SUNDIALS_LIBRARIES - Libraries to link against +# SUNDIALS__LIBRARY - Path to component C (e.g., SUNDIALS_CVODES_LIBRARY) +# +# Components supported: +# cvodes, nvecserial, nvecopenmp, core +# +# Users can set SUNDIALS_ROOT to specify installation directory + +# Use SUNDIALS_ROOT environment variable or CMake variable +if(NOT SUNDIALS_ROOT AND DEFINED ENV{SUNDIALS_ROOT}) + set(SUNDIALS_ROOT $ENV{SUNDIALS_ROOT}) +endif() + +# Find include directory +find_path(SUNDIALS_INCLUDE_DIR + NAMES sundials/sundials_config.h + HINTS + ${SUNDIALS_ROOT} + ${CMAKE_PREFIX_PATH} + PATH_SUFFIXES include + DOC "SUNDIALS include directory" +) + +# Find sundials_config.h and extract version +if(SUNDIALS_INCLUDE_DIR) + file(READ "${SUNDIALS_INCLUDE_DIR}/sundials/sundials_config.h" SUNDIALS_CONFIG_H) + + # Try to extract version (SUNDIALS 7.x format) + string(REGEX MATCH "#define SUNDIALS_VERSION \"([0-9]+)\\.([0-9]+)\\.([0-9]+)\"" _ ${SUNDIALS_CONFIG_H}) + if(CMAKE_MATCH_1) + set(SUNDIALS_VERSION_MAJOR ${CMAKE_MATCH_1}) + set(SUNDIALS_VERSION_MINOR ${CMAKE_MATCH_2}) + set(SUNDIALS_VERSION_PATCH ${CMAKE_MATCH_3}) + set(SUNDIALS_VERSION "${SUNDIALS_VERSION_MAJOR}.${SUNDIALS_VERSION_MINOR}.${SUNDIALS_VERSION_PATCH}") + endif() +endif() + +# Components to find +set(SUNDIALS_COMPONENTS_AVAILABLE core cvodes nvecserial nvecopenmp) + +# Determine which components to search for +if(SUNDIALS_FIND_COMPONENTS) + set(SUNDIALS_COMPONENTS_TO_FIND ${SUNDIALS_FIND_COMPONENTS}) +else() + set(SUNDIALS_COMPONENTS_TO_FIND ${SUNDIALS_COMPONENTS_AVAILABLE}) +endif() + +# Find each component library +foreach(COMPONENT ${SUNDIALS_COMPONENTS_TO_FIND}) + string(TOUPPER ${COMPONENT} COMPONENT_UPPER) + + find_library(SUNDIALS_${COMPONENT_UPPER}_LIBRARY + NAMES sundials_${COMPONENT} + HINTS + ${SUNDIALS_ROOT} + ${CMAKE_PREFIX_PATH} + PATH_SUFFIXES lib lib64 + DOC "SUNDIALS ${COMPONENT} library" + ) + + # Mark as advanced + mark_as_advanced(SUNDIALS_${COMPONENT_UPPER}_LIBRARY) + + # Add to list if found + if(SUNDIALS_${COMPONENT_UPPER}_LIBRARY) + list(APPEND SUNDIALS_LIBRARIES ${SUNDIALS_${COMPONENT_UPPER}_LIBRARY}) + set(SUNDIALS_${COMPONENT}_FOUND TRUE) + else() + set(SUNDIALS_${COMPONENT}_FOUND FALSE) + if(SUNDIALS_FIND_REQUIRED_${COMPONENT}) + message(FATAL_ERROR "Required SUNDIALS component ${COMPONENT} not found") + endif() + endif() +endforeach() + +# Remove duplicates +if(SUNDIALS_LIBRARIES) + list(REMOVE_DUPLICATES SUNDIALS_LIBRARIES) +endif() + +# Set SUNDIALS_INCLUDE_DIRS (plural) +set(SUNDIALS_INCLUDE_DIRS ${SUNDIALS_INCLUDE_DIR}) + +# Handle standard arguments +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(SUNDIALS + REQUIRED_VARS SUNDIALS_INCLUDE_DIR SUNDIALS_LIBRARIES + VERSION_VAR SUNDIALS_VERSION + HANDLE_COMPONENTS +) + +# Mark cache variables as advanced +mark_as_advanced( + SUNDIALS_INCLUDE_DIR + SUNDIALS_VERSION +) + +# Create imported target if found +if(SUNDIALS_FOUND AND NOT TARGET SUNDIALS::SUNDIALS) + add_library(SUNDIALS::SUNDIALS INTERFACE IMPORTED) + set_target_properties(SUNDIALS::SUNDIALS PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${SUNDIALS_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${SUNDIALS_LIBRARIES}" + ) + + # Create component-specific targets + foreach(COMPONENT ${SUNDIALS_COMPONENTS_TO_FIND}) + string(TOUPPER ${COMPONENT} COMPONENT_UPPER) + if(SUNDIALS_${COMPONENT_UPPER}_LIBRARY AND NOT TARGET SUNDIALS::${COMPONENT}) + add_library(SUNDIALS::${COMPONENT} UNKNOWN IMPORTED) + set_target_properties(SUNDIALS::${COMPONENT} PROPERTIES + IMPORTED_LOCATION "${SUNDIALS_${COMPONENT_UPPER}_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${SUNDIALS_INCLUDE_DIRS}" + ) + endif() + endforeach() +endif() + +# Debug output +if(SUNDIALS_FOUND) + message(STATUS "Found SUNDIALS ${SUNDIALS_VERSION}") + message(STATUS " Include dir: ${SUNDIALS_INCLUDE_DIR}") + message(STATUS " Libraries: ${SUNDIALS_LIBRARIES}") +endif() diff --git a/docker/minimal-py2/Dockerfile b/docker/minimal-py2/Dockerfile deleted file mode 100644 index 54fe700b..00000000 --- a/docker/minimal-py2/Dockerfile +++ /dev/null @@ -1,64 +0,0 @@ -FROM ubuntu:14.04 - -# packages we need to run fidimag -RUN apt-get -y update -RUN apt-get -y install python-numpy python-dev python-scipy -RUN apt-get -y install python-pytest python-pyvtk ipython python-matplotlib mayavi2 -# standard tools for compilation -RUN apt-get -y install wget make git - -# where to install source -ENV FIDIMAG_HOME /home/fidimag - -RUN mkdir -p $FIDIMAG_HOME -WORKDIR $FIDIMAG_HOME -RUN git clone https://github.com/computationalmodelling/fidimag.git -WORKDIR $FIDIMAG_HOME/fidimag/bin - -# install third party libraries from source -RUN bash install-ubuntu-packages.sh -RUN bash install-fftw.sh -RUN bash install-sundials-2.5.sh - -# for pip -RUN apt-get -y install python-pip -# install cython -RUN pip install cython --upgrade -WORKDIR $FIDIMAG_HOME/fidimag - -# compile fidimag -RUN make -env PYTHONPATH=$FIDIMAG_HOME/fidimag -env LD_LIBRARY_PATH=$FIDIMAG_HOME/fidimag/local/lib -WORKDIR $FIDIMAG_HOME/fidimag/tests - -# check that tests run okay -RUN py.test -v - - -# install Jupyter, port exposing doesn't work yet -#RUN pip install jupyter - -# expose jupyter port - not working yet -#EXPOSE 8888 8888 - - -# Set up user so that we do not run as root -RUN useradd -m -s /bin/bash -G sudo fidimag && \ - echo "fidimag:docker" | chpasswd && \ - echo "fidimag ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers -RUN chown -R fidimag $FIDIMAG_HOME - -# For bind mounts from host -RUN mkdir /io -RUN chown -R fidimag /io - -USER fidimag -RUN touch $FIDIMAG_HOME/.sudo_as_admin_successful - -# Print something nice on entry. -#COPY WELCOME $FIDIMAG_HOME/WELCOME - - -WORKDIR /io -CMD ["/bin/bash","-i"] diff --git a/docker/minimal-py2/Dockerfile.org b/docker/minimal-py2/Dockerfile.org deleted file mode 100644 index fbfb0d64..00000000 --- a/docker/minimal-py2/Dockerfile.org +++ /dev/null @@ -1,14 +0,0 @@ -* How to use - -** Linux - -$> sudo docker pull fangohr/fidimag - -$> docker run -ci fangohr/fidimag ipython - -then try 'import fidimag'. - - - - - diff --git a/docker/minimal-py2/Makefile b/docker/minimal-py2/Makefile deleted file mode 100644 index 3a5d4083..00000000 --- a/docker/minimal-py2/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# to build a new docker image -build: - time docker build -t fidimag/minimal-py2:latest . - -# to run new image -run: build - docker run -v `pwd`:/io -ti fidimag/minimal-py2 - # try 'ipython' and then 'import fidimag' - -# to push the new docker image to dockerhub (need to login first) -push: build - docker push fidimag/minimal-py2:latest - -# to fetch image to local machine -pull: - docker pull fidimag/minimal-py2:latest diff --git a/docker/minimal-py2/Readme.md b/docker/minimal-py2/Readme.md deleted file mode 100644 index a701838c..00000000 --- a/docker/minimal-py2/Readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Docker - -Run fidimag with Python 2 under Docker. - -## Using the docker container - -There is a fidimag container available under `fidimag/minimal-py2`. - -To use it, you can try this: - -1. Install docker - -2. Pull the container onto your machine using - - docker pull fidimag/minimal-py2 - -3. Start the container using - - docker run -ti fidimag/minimal-py2 - - This command should show a bash prompt inside the docker container: - -
-    bin:docker fangohr$ docker run -v `pwd`:/io -ti fidimag/minimal-py2
-    fidimag@38fdd2a0feb4:/io$
-    
- -## Creating the docker container - -The `Makefile` in this directory shows the relevant targets (build, login, push) -to create a new container and push it to the the cloud. diff --git a/docker/minimal-py3/Dockerfile b/docker/minimal-py3/Dockerfile index 41d32c04..25813e72 100644 --- a/docker/minimal-py3/Dockerfile +++ b/docker/minimal-py3/Dockerfile @@ -1,53 +1,50 @@ -FROM ubuntu:14.04 +FROM ubuntu:22.04 -# packages we need to run fidimag +# Minimal Python 3 image for running fidimag +ARG DEBIAN_FRONTEND=noninteractive + +# Install system dependencies RUN apt-get -y update -RUN apt-get -y install python3-numpy python3-dev python3-scipy cmake -RUN apt-get -y install python3-pytest ipython3 python3-matplotlib python3-pip -# standard tools for compilation -RUN apt-get -y install wget make git +RUN apt-get -y install \ + build-essential cmake gcc g++ \ + libatlas-base-dev \ + python3 python3-dev \ + wget curl git ca-certificates + +# Install uv +RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \ + ln -s /root/.cargo/bin/uv /usr/local/bin/uv +ENV PATH="/root/.cargo/bin:${PATH}" + +# Set up fidimag user (do this before cloning to set ownership correctly) +RUN useradd -m -s /bin/bash -G sudo fidimag && \ + echo "fidimag:docker" | chpasswd && \ + echo "fidimag ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # where to install source -ENV FIDIMAG_HOME /home/fidimag +ENV FIDIMAG_HOME=/home/fidimag RUN mkdir -p $FIDIMAG_HOME WORKDIR $FIDIMAG_HOME -RUN git clone https://github.com/computationalmodelling/fidimag.git -WORKDIR $FIDIMAG_HOME/fidimag/bin - -# install third party libraries from source -RUN bash install-fftw.sh -RUN bash install-sundials.sh -# for pip -RUN python3 -m pip install --user --upgrade setuptools pip -# install pyvtk -RUN python3 -m pip install pyvtk -# install cython -RUN python3 -m pip install cython --upgrade +# Clone fidimag +RUN git clone https://github.com/computationalmodelling/fidimag.git WORKDIR $FIDIMAG_HOME/fidimag -RUN apt-get -y install libatlas-base-dev libatlas3-base libatlas3gf-base -# compile fidimag -RUN python3 setup.py build_ext --inplace -env PYTHONPATH=$FIDIMAG_HOME/fidimag -env LD_LIBRARY_PATH=$FIDIMAG_HOME/fidimag/local/lib -WORKDIR $FIDIMAG_HOME/fidimag/tests - -# check that tests run okay -RUN py.test-3 -v +# Install third party libraries from source +RUN bash bin/install-fftw.sh +RUN bash bin/install-sundials.sh -# install Jupyter, port exposing doesn't work yet -#RUN pip install jupyter +# Build fidimag using uv +RUN uv sync --frozen -# expose jupyter port - not working yet -#EXPOSE 8888 8888 +ENV LD_LIBRARY_PATH=$FIDIMAG_HOME/fidimag/local/lib \ + OMP_NUM_THREADS=1 +# Check that tests run okay +RUN uv run pytest tests/ -v -m "not slow and not run_oommf" -# Set up user so that we do not run as root -RUN useradd -m -s /bin/bash -G sudo fidimag && \ - echo "fidimag:docker" | chpasswd && \ - echo "fidimag ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +# Set up permissions RUN chown -R fidimag $FIDIMAG_HOME # For bind mounts from host @@ -57,10 +54,5 @@ RUN chown -R fidimag /io USER fidimag RUN touch $FIDIMAG_HOME/.sudo_as_admin_successful -RUN cd fidimag -RUN py.test -v -# Print something nice on entry. -#COPY WELCOME $FIDIMAG_HOME/WELCOME - WORKDIR /io -CMD ["/bin/bash","-i"] +CMD ["/bin/bash", "-i"] diff --git a/docker/notebook/Dockerfile b/docker/notebook/Dockerfile index be6b3d12..3560a9bd 100644 --- a/docker/notebook/Dockerfile +++ b/docker/notebook/Dockerfile @@ -1,35 +1,42 @@ FROM jupyter/scipy-notebook -# where to install source + USER root + +# Install system dependencies +RUN apt update && apt install -y cmake gcc g++ build-essential curl ca-certificates + +# Install uv +RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \ + ln -s /root/.cargo/bin/uv /usr/local/bin/uv +ENV PATH="/root/.cargo/bin:${PATH}" + +# Set up /io directory RUN mkdir -p /io RUN chown $NB_USER /io -RUN apt update && apt install -y cmake + USER $NB_USER -ENV FIDIMAG_DIR /io + +# Clone fidimag +ENV FIDIMAG_DIR=/io WORKDIR /io -RUN git clone https://github.com/rpep/fidimag.git +RUN git clone https://github.com/computationalmodelling/fidimag.git WORKDIR /io/fidimag -# install third party libraries from source + +# Install third party libraries from source RUN bash bin/install-fftw.sh RUN bash bin/install-sundials.sh -# install pyvtk -RUN pip install pyvtk -# install cython -RUN pip install cython --upgrade +# Build fidimag using uv +RUN uv sync --frozen -# compile fidimag -RUN python3 setup.py build_ext --inplace -RUN pip install psutil -ENV PYTHONPATH=$FIDIMAG_DIR -ENV LD_LIBRARY_PATH=$FIDIMAG_DIR/local/lib -WORKDIR $FIDIMAG_DIR/tests +ENV LD_LIBRARY_PATH=/io/fidimag/local/lib \ + OMP_NUM_THREADS=1 # https://github.com/conda-forge/matplotlib-feedstock/issues/36 RUN conda install --quiet --yes icu -# check that tests run okay -RUN conda install --quiet --yes pytest +# Verify installation +RUN uv run python -c "import fidimag; print(f'Fidimag {fidimag.__version__} installed')" # /io will be mounted from the host system WORKDIR /io diff --git a/docker/testing/Dockerfile b/docker/testing/Dockerfile index cd071196..8c6e67c0 100644 --- a/docker/testing/Dockerfile +++ b/docker/testing/Dockerfile @@ -1,30 +1,39 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 # To build this image `docker build -t fidimag .` # Then you can drop into a live bash shell with `docker run -it fidimag`. -ENTRYPOINT ["/bin/bash"] -SHELL ["/bin/bash", "-c"] +ENTRYPOINT ["/bin/bash"] +SHELL ["/bin/bash", "-c"] ARG DEBIAN_FRONTEND=noninteractive +# Install system dependencies RUN apt-get update -y -qq -RUN apt-get install -y -qq build-essential cmake cython3 python3-dev python3-pip \ +RUN apt-get install -y -qq build-essential cmake gcc g++ gfortran \ liblapack-dev libopenblas-dev \ - wget curl git + wget curl git ca-certificates -RUN pip3 install --upgrade setuptools -RUN pip3 install numpy matplotlib ipywidgets nbval pyvtk six psutil pytest pytest-cov pluggy scipy -U +# Install uv +RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \ + ln -s /root/.cargo/bin/uv /usr/local/bin/uv +ENV PATH="/root/.cargo/bin:${PATH}" +# Copy fidimag source WORKDIR /fidimag ADD . /fidimag + +# Install SUNDIALS and FFTW to ./local/ RUN ./bin/install-sundials.sh RUN ./bin/install-fftw.sh -RUN make build -ENV PYTHONPATH=/fidimag \ - LD_LIBRARY_PATH=/fidimag/local/lib LD_RUN_PATH=/fidimag/local/lib \ - OMP_NUM_THREADS=1 MPLBACKEND=Agg QT_API=pyqt +# Build fidimag using uv with dev dependencies +RUN uv sync --frozen --all-extras +ENV LD_LIBRARY_PATH=/fidimag/local/lib \ + LD_RUN_PATH=/fidimag/local/lib \ + OMP_NUM_THREADS=1 \ + MPLBACKEND=Agg \ + QT_API=pyqt -RUN make test-docker -RUN make ipynb-docker +# Run tests during build to verify +RUN uv run pytest tests/ -v -m "not slow and not run_oommf" diff --git a/fidimag/atomistic/__init__.py b/fidimag/atomistic/__init__.py index 0f56abc9..eeb6ea96 100644 --- a/fidimag/atomistic/__init__.py +++ b/fidimag/atomistic/__init__.py @@ -2,7 +2,7 @@ from .exchange import UniformExchange, Exchange from .anisotropy import Anisotropy, CubicAnisotropy from .zeeman import Zeeman, TimeZeeman -from .demag import Demag, DemagFMM +from .demag import Demag from .demag_hexagonal import DemagHexagonal from .hexagonal_mesh import HexagonalMesh from .demag_full import DemagFull diff --git a/fidimag/atomistic/demag.py b/fidimag/atomistic/demag.py index 390c761c..4dbb3087 100644 --- a/fidimag/atomistic/demag.py +++ b/fidimag/atomistic/demag.py @@ -4,7 +4,6 @@ import numpy as np import fidimag from fidimag.atomistic.energy import Energy -import fidimag.extensions.fmm as fmm import time import sys @@ -100,38 +99,3 @@ def compute_energy(self): self.energy /= self.scale return energy / self.scale - - -class DemagFMM(Energy): - def __init__(self, order, ncrit, theta, name="DemagFMM", type='fmm'): - self.type = type - if self.type == 'fmm': - self._type = 0 - elif self.type == 'bh': - self._type = 1 - - self.name = name - assert order > 0, "Order must be 1 or higher" - assert order < 11, "Order bust be < 11" - self.order = order - assert ncrit >= 2, "ncrit must be greater than 1." - self.ncrit = ncrit - assert theta >= 0.0, "theta must be >= 0.0" - self.theta = theta - - def setup(self, mesh, spin, mu_s, mu_s_inv): - super(DemagFMM, self).setup(mesh, spin, mu_s, mu_s_inv) - self.coords = mesh.coordinates * mesh.unit_length - self.m_temp = np.zeros_like(spin) - self.fmm = fmm.FMM(self.n, self.ncrit, self.theta, - self.order, - self.coords, - self.m_temp, - self.mu_s, self._type - ) - - def compute_field(self, t=0, spin=None): - self.m_temp[:] = spin if spin is not None else self.spin - self.fmm.compute_field(self.field) - self.field *= -1e-7 - return self.field diff --git a/fidimag/atomistic/fmmlib/calculate.cpp b/fidimag/atomistic/fmmlib/calculate.cpp deleted file mode 100644 index bd76d091..00000000 --- a/fidimag/atomistic/fmmlib/calculate.cpp +++ /dev/null @@ -1,314 +0,0 @@ -#include "calculate.hpp" -#include "operators.h" -#include "tree.hpp" -#include "utils.hpp" -#include -#include -#include - -void M_sanity_check(const std::vector &cells) { - double M0 = 0; - for(size_t c = 1; c < cells.size(); c++) { - if (cells[c].nchild == 0) { - M0 += cells[c].M[0]; - } - } - std::cout << "Cell 0 has M0 = " << cells[0].M[0] << std::endl; - std::cout << "Other cells = " << M0 << std::endl; - if (std::abs((cells[0].M[0] - M0)/M0) > 10e-10) { - throw std::runtime_error("M0 sanity check failed"); - } -} - - -void P2P_Cells(size_t A, size_t B, std::vector &cells, std::vector &particles, double *F) { - // A - target - // B - source - for (size_t p1 = 0; p1 < cells[A].nleaf; p1++) { - //double F_p[FMMGEN_OUTPUTSIZE] = {0.0}; - size_t l1 = cells[A].leaf[p1]; - for (size_t p2 = 0; p2 < cells[B].nleaf; p2++) { - size_t l2 = cells[B].leaf[p2]; - if (l2 != l1) { - double dx = (particles[l1].r[0] - particles[l2].r[0]); - double dy = (particles[l1].r[1] - particles[l2].r[1]); - double dz = (particles[l1].r[2] - particles[l2].r[2]); - P2P(dx, dy, dz, particles[l2].S, &F[FMMGEN_OUTPUTSIZE*l1]); - } - } - } -} - -void interact_dehnen(size_t A, size_t B, std::vector &cells, std::vector &particles, - double theta, size_t order, size_t ncrit, double *F) { - double dx = (cells[A].x - cells[B].x); - double dy = (cells[A].y - cells[B].y); - double dz = (cells[A].z - cells[B].z); - double R = sqrt(dx*dx + dy*dy + dz*dz); - - if (R*theta > (cells[A].rmax + cells[B].rmax)) { - M2L(dx, dy, dz, cells[B].M, cells[A].L, order); - } - - else if (cells[A].nchild == 0 && cells[B].nchild == 0) { - if (cells[B].nleaf >= ncrit) { - M2L(dx, dy, dz, cells[B].M, cells[A].L, order); - } - else { - P2P_Cells(A, B, cells,particles, F); - } - } - - else if (cells[B].nchild == 0 || (cells[A].rmax >= cells[B].rmax && cells[A].nchild != 0)) { - for(int oa = 0; oa < 8; oa++) { - if (cells[A].nchild & (1 << oa)) { - int a = cells[A].child[oa]; - interact_dehnen(a, B, cells, particles, theta, order, ncrit, F); - } - } - } - - else { - for(int ob = 0; ob < 8; ob++) { - if (cells[B].nchild & (1 << ob)) { - const int b = cells[B].child[ob]; - interact_dehnen(A, b, cells, particles, theta, order, ncrit, F); - } - } - } -} - -void interact_dehnen_lazy(const size_t A, const size_t B, - const std::vector &cells, - const std::vector &particles, - const double theta, const size_t order, - const size_t ncrit, - std::vector> &M2L_list, - std::vector> &P2P_list) { - const double dx = cells[A].x - cells[B].x; - const double dy = cells[A].y - cells[B].y; - const double dz = cells[A].z - cells[B].z; - const double R = sqrt(dx*dx + dy*dy + dz*dz); - - if (R*theta > (cells[A].rmax + cells[B].rmax)) { - //if (cells[A].nleaf < ncrit && cells[B].nleaf < ncrit) { - std::pair m2l_pair = std::make_pair(B, A); - M2L_list.push_back(m2l_pair); - //} - } - - else if (cells[A].nchild == 0 && cells[B].nchild == 0) { - if (cells[B].nleaf >= ncrit) { - std::pair m2l_pair = std::make_pair(B, A); - M2L_list.push_back(m2l_pair); - M2L(dx, dy, dz, cells[B].M, cells[A].L, order); - } - else { - //if (cells[A].nleaf < ncrit and cells[B].nleaf < ncrit) { - std::pair p2p_pair = std::make_pair(A, B); - P2P_list.push_back(p2p_pair); - //} - } - } - - else if (cells[B].nchild == 0 || (cells[A].rmax >= cells[B].rmax && cells[A].nchild != 0)) { - for(int oa = 0; oa < 8; oa++) { - // For all 8 children of A, if child exists - if (cells[A].nchild & (1 << oa)) { - int a = cells[A].child[oa]; - interact_dehnen_lazy(a, B, cells, particles, theta, order, ncrit, M2L_list, P2P_list); - } - } - } - - else { - for(int ob = 0; ob < 8; ob++) { - // for all 8 children of B, if child exists: - if (cells[B].nchild & (1 << ob)) { - int b = cells[B].child[ob]; - interact_dehnen_lazy(A, b, cells, particles, theta, order, ncrit, M2L_list, P2P_list); - } - } - } -} - -void evaluate_P2M(std::vector &particles, std::vector &cells, - size_t cell, size_t ncrit, size_t exporder) { - #pragma omp for - for(size_t c = 0; c < cells.size(); c++) { - //std::cout << "Cell " << c << std::endl; - //std::cout << " Msize = " << Msize(exporder, FMMGEN_SOURCEORDER) << std::endl; - size_t msize = Msize(exporder, FMMGEN_SOURCEORDER); - double *M = new double[msize](); - - if (cells[c].nleaf < ncrit) { - for(size_t i = 0; i < cells[c].nleaf; i++) { - size_t l = cells[c].leaf[i]; - // Walter dehnen's definition: - // (-1)^m / m! (x_a - z_a)^m - double dx = (cells[c].x - particles[l].r[0]); - double dy = (cells[c].y - particles[l].r[1]); - double dz = (cells[c].z - particles[l].r[2]); - for(int k = 0; k < FMMGEN_SOURCESIZE; k++) { - // std::cout << particles[l].S[k] << std::endl; - M[k] = particles[l].S[k]; - } - M2M(dx, dy, dz, M, cells[c].M, exporder); - } - } - delete[] M; - } -} - -void evaluate_M2M(std::vector &particles, std::vector &cells, - size_t exporder) { - /* - evaluate_M2M(particles, cells) - - This function evaluates the multipole to - multipole kernel. It does this by working up the - tree from the leaf nodes, which is possible - by iterating backwards through the nodes because - of the way the tree is constructed. - */ - // #pragma omp for schedule(dynamic) - // Can't currently go up the tree in parallel. - // Needs to be recursive or summing not correct. - - // Dehnen definition: - // M_m(z_p) = (z_p - z_c)^n / n! M_{m - n} - for (size_t c = cells.size() - 1; c > 0; c--) { - size_t p = cells[c].parent; - double dx = (cells[p].x - cells[c].x); - double dy = (cells[p].y - cells[c].y); - double dz = (cells[p].z - cells[c].z); - M2M(dx, dy, dz, cells[c].M, cells[p].M, exporder); - } -} - - -void evaluate_M2L_lazy(std::vector &cells, - std::vector> &M2L_list, size_t order) { - #pragma omp for - for(size_t i = 0; i < M2L_list.size(); i++) { - size_t B = M2L_list[i].first; - size_t A = M2L_list[i].second; - // Dehnen definition: - // F_n(z_B) = M_m(z_A) * D_{n+m} (z_B - z_A) - - // So here, we've reversed the order: - // F_n(z_A) = M_m(z_B) * D_{n+m} (z_A - z_B) - double dx = cells[A].x - cells[B].x; - double dy = cells[A].y - cells[B].y; - double dz = cells[A].z - cells[B].z; - M2L(dx, dy, dz, cells[B].M, cells[A].L, order); - } -} - -void evaluate_P2P_lazy(std::vector &cells, std::vector &particles, - std::vector> &P2P_list, double *F) { - #pragma omp for - for(size_t i = 0; i < P2P_list.size(); i++) { - size_t A = P2P_list[i].first; - size_t B = P2P_list[i].second; - P2P_Cells(A, B, cells, particles, F); - } -} - - -void evaluate_L2L(std::vector &cells, size_t exporder) { - // Can't currently go down the tree in parallel! - // needs to be recursive or summing not correct. - for (size_t p = 0; p < cells.size(); p++) { - for (int octant = 0; octant < 8; octant++) { - if (cells[p].nchild & (1 << octant)) { - // for child c in cell p - size_t c = cells[p].child[octant]; - double dx = cells[c].x - cells[p].x; - double dy = cells[c].y - cells[p].y; - double dz = cells[c].z - cells[p].z; - L2L(dx, dy, dz, cells[p].L, cells[c].L, exporder); - } - } - } -} - -void evaluate_L2P(std::vector &particles, std::vector &cells, - double *F, size_t ncrit, size_t exporder) { - #pragma omp for schedule(runtime) - for (size_t i = 0; i < cells.size(); i++) { - if (cells[i].nleaf < ncrit) { - for (size_t p = 0; p < cells[i].nleaf; p++) { - size_t k = cells[i].leaf[p]; - double dx = particles[k].r[0] - cells[i].x; - double dy = particles[k].r[1] - cells[i].y; - double dz = particles[k].r[2] - cells[i].z; - L2P(dx, dy, dz, cells[i].L, &F[FMMGEN_OUTPUTSIZE*k], exporder); - } - } - } -} - -void evaluate_direct(std::vector &particles, double *F, size_t n) { - #pragma omp parallel for schedule(runtime) - for (size_t i = 0; i < n; i++) { - for (size_t j = 0; j < n; j++) { - if (i != j) { - double dx = particles[i].r[0] - particles[j].r[0]; - double dy = particles[i].r[1] - particles[j].r[1]; - double dz = particles[i].r[2] - particles[j].r[2]; - P2P(dx, dy, dz, particles[j].S, &F[FMMGEN_OUTPUTSIZE*i]); - } - } - } -} - -void evaluate_M2P_and_P2P(std::vector &particles, unsigned int p, unsigned int i, - std::vector &cells, double *F, unsigned int n_crit, double theta, - unsigned int exporder) { - // For particle i, start at cell p - double dx, dy, dz, r; - int c; - unsigned int j; - // If cell p is not a leaf cell: - if (cells[p].nleaf >= n_crit) { - // Iterate through it's children - for (unsigned int octant = 0; octant < 8; octant++) { - // If a child exists in a given octant: - if (cells[p].nchild & (1 << octant)) { - // Get the child's index - c = cells[p].child[octant]; - // Calculate the distance from the particle to the child cell - dx = particles[i].r[0] - cells[c].x; - dy = particles[i].r[1] - cells[c].y; - dz = particles[i].r[2] - cells[c].z; - r = sqrt(dx*dx + dy*dy + dz*dz); - // Apply the Barnes-Hut criterion: - if (cells[c].r > theta * r) { - // If the cell is 'near': - evaluate_M2P_and_P2P(particles, c, i, cells, F, n_crit, theta, exporder); - } - else { - // If the cell is 'far', calculate the potential and field - // on the particle from the multipole expansion: - M2P(dx, dy, dz, cells[c].M, &F[FMMGEN_OUTPUTSIZE*i], exporder); - } - } - } - } - else { - // loop in leaf cell's particles - for(unsigned int l = 0; l < (cells[p].nleaf); l++) { - // Get the particle index: - j = cells[p].leaf[l]; - if (i != j) { - // Calculate the interparticle distance: - dx = particles[i].r[0] - particles[j].r[0]; - dy = particles[i].r[1] - particles[j].r[1]; - dz = particles[i].r[2] - particles[j].r[2]; - // Compute the field: - P2P(dx, dy, dz, particles[j].S, &F[FMMGEN_OUTPUTSIZE*i]); - } - } - } -} diff --git a/fidimag/atomistic/fmmlib/calculate.hpp b/fidimag/atomistic/fmmlib/calculate.hpp deleted file mode 100644 index 15015dfa..00000000 --- a/fidimag/atomistic/fmmlib/calculate.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//############################################ -//# -//# Functions for running the Barnes-Hut -//# method for gravitational source particles. -//# -//# (C) Ryan Pepper, 2018 -//# University of Southampton, UK -//# -//# -//########################################### -#pragma once -#include "tree.hpp" -#include "utils.hpp" -#include -#include - -void M_sanity_check(const std::vector &cells); - -void evaluate_P2M(std::vector &particles, std::vector &cells, - size_t cell, size_t ncrit, size_t exporder); - -void evaluate_M2M(std::vector &particles, std::vector &cells, - size_t exporder); - - -void evaluate_L2L(std::vector &cells, size_t exporder); - -void evaluate_L2P(std::vector &particles, std::vector &cells, - double *F, size_t ncrit, size_t exporder); - -void evaluate_direct(std::vector &particles, double *F, size_t Nparticles); - -void interact_dehnen(size_t A, size_t B, std::vector &cells, std::vector &particles, double theta, size_t order, size_t ncrit, double *F); - -void interact_dehnen_lazy(const size_t A, const size_t B, const std::vector &cells, const std::vector &particles, - const double theta, const size_t order, const size_t ncrit, - std::vector> &M2L_list, - std::vector> &P2P_list); - -void P2P_Cells(size_t A, size_t B, std::vector &cells, - std::vector &particles, double *F); - -void evaluate_P2P_lazy(std::vector &cells, - std::vector> &P2P_list); - -void evaluate_M2L_lazy(std::vector &cells, - std::vector> &M2L_list, - std::vector &M2L_locks); - -void evaluate_M2L_lazy(std::vector &cells, - std::vector> &M2L_list, size_t order); - -void evaluate_P2P_lazy(std::vector &cells, std::vector &particles, - std::vector> &P2P_list, double *F); - -void evaluate_M2P_and_P2P(std::vector &particles, unsigned int p, unsigned int i, - std::vector &cells, double *F, unsigned int n_crit, double theta, - unsigned int exporder); diff --git a/fidimag/atomistic/fmmlib/example.py b/fidimag/atomistic/fmmlib/example.py deleted file mode 100644 index 11bd459a..00000000 --- a/fidimag/atomistic/fmmlib/example.py +++ /dev/null @@ -1,16 +0,0 @@ -import fmmgen - -order = 8 -source_order = 1 -cse = True -atomic = True -precision='double' -fmmgen.generate_code(order, "operators", - precision=precision, - CSE=cse, - cython=False, - harmonic_derivs=True, - potential=False, - field=True, - source_order=source_order, - atomic=atomic) diff --git a/fidimag/atomistic/fmmlib/fmm.pyx b/fidimag/atomistic/fmmlib/fmm.pyx deleted file mode 100644 index 9d9e0e64..00000000 --- a/fidimag/atomistic/fmmlib/fmm.pyx +++ /dev/null @@ -1,75 +0,0 @@ -# distutils: language = c++ - -from fidimag.atomistic.energy import Energy -from libcpp.vector cimport vector -from libcpp.utility cimport pair -from libcpp.algorithm cimport sort -cimport numpy as np -import numpy as np -import sys - -cdef extern from "utils.hpp": - size_t Nterms(size_t p) - -cdef extern from "operators.h": - cdef int FMMGEN_MAXORDER - -MAXORDER = FMMGEN_MAXORDER - -cdef extern from "tree.hpp": - cdef cppclass Tree: - size_t order; - size_t ncrit; - double theta; - Tree(); - void compute_field_fmm(double *F) - void compute_field_exact(double *F) - void compute_field_bh(double *F) - Tree build_tree(double *pos, double *mu, size_t nparticles, size_t ncrit, size_t order, double theta) - - -cdef class FMM: - cdef public size_t n - cdef public size_t ncrit - cdef public double theta - cdef public size_t order - cdef public double [:, :] r - cdef public double [:] mu - cdef public double [:] mu_s - cdef public double [:] Mu - cdef public int calc_type - cdef Tree tree - - def __cinit__(self, size_t n, size_t ncrit, double theta, size_t order, double [:, :] r, double [:] mu, double [:] mu_s, calc_type=0): - if order > MAXORDER: - raise ValueError(f"Order needs to be < {MAXORDER}") - self.calc_type = calc_type - # self.particles = vector[Particle] - self.n = n - self.ncrit = ncrit - self.theta = theta - self.order = order - # Don't remove these two line, or the memory goes out of scope! - self.r = r - self.mu = mu - self.mu_s = mu_s - self.Mu = np.zeros(3*self.n) - - self.tree = build_tree(&self.r[0, 0], &self.Mu[0], self.n, self.ncrit, self.order, self.theta) - - cdef _scale(self): - for i in range(self.n): - self.Mu[3*i + 0] = self.mu[3*i + 0] * self.mu_s[i] - self.Mu[3*i + 1] = self.mu[3*i + 1] * self.mu_s[i] - self.Mu[3*i + 2] = self.mu[3*i + 2] * self.mu_s[i] - - def compute_field(self, double [:] F): - self._scale() - if self.calc_type == 0: - self.tree.compute_field_fmm(&F[0]) - elif self.calc_type == 1: - self.tree.compute_field_bh(&F[0]) - - def compute_field_exact(self, double [:] F): - self._scale() - self.tree.compute_field_exact(&F[0]) diff --git a/fidimag/atomistic/fmmlib/operators.cpp b/fidimag/atomistic/fmmlib/operators.cpp deleted file mode 100644 index a27419fe..00000000 --- a/fidimag/atomistic/fmmlib/operators.cpp +++ /dev/null @@ -1,5413 +0,0 @@ -#include "operators.h" -#include "math.h" -void P2M_2(double x, double y, double z, double q, double * M) { -double Mtmp0 = q*x; -double Mtmp1 = q*y; -double Mtmp2 = (1.0/2.0)*q; -M[0] += -Mtmp0; -M[1] += -Mtmp1; -M[2] += -q*z; -M[3] += Mtmp2*pow(x, 2); -M[4] += Mtmp0*y; -M[5] += Mtmp0*z; -M[6] += Mtmp2*pow(y, 2); -M[7] += Mtmp1*z; -M[8] += Mtmp2*pow(z, 2); - -} -void M2M_2(double x, double y, double z, double * M, double * Ms) { -#pragma omp atomic -Ms[0] += M[0]; -#pragma omp atomic -Ms[1] += M[1]; -#pragma omp atomic -Ms[2] += M[2]; -#pragma omp atomic -Ms[3] += x*M[0] + M[3]; -#pragma omp atomic -Ms[4] += x*M[1] + y*M[0] + M[4]; -#pragma omp atomic -Ms[5] += x*M[2] + z*M[0] + M[5]; -#pragma omp atomic -Ms[6] += y*M[1] + M[6]; -#pragma omp atomic -Ms[7] += y*M[2] + z*M[1] + M[7]; -#pragma omp atomic -Ms[8] += z*M[2] + M[8]; - -} - -void M2L_2(double x, double y, double z, double * M, double * L) { -double R = sqrt(x*x + y*y + z*z); -double D[9]; -double Dtmp0 = pow(R, -3); -double Dtmp1 = 1.0*Dtmp0; -double Dtmp2 = 3.0/pow(R, 2); -double Dtmp3 = pow(R, -5); -double Dtmp4 = 3.0*Dtmp3*x; -D[0] = -Dtmp1*x; -D[1] = -Dtmp1*y; -D[2] = -Dtmp1*z; -D[3] = Dtmp0*(Dtmp2*pow(x, 2) - 1.0); -D[4] = Dtmp4*y; -D[5] = Dtmp4*z; -D[6] = Dtmp0*(Dtmp2*pow(y, 2) - 1.0); -D[7] = 3.0*Dtmp3*y*z; -D[8] = -D[3] - D[6]; -#pragma omp atomic -L[0] += D[0]*M[0] + D[1]*M[1] + D[2]*M[2] + D[3]*M[3] + D[4]*M[4] + D[5]*M[5] + D[6]*M[6] + D[7]*M[7] + D[8]*M[8]; -#pragma omp atomic -L[1] += D[3]*M[0] + D[4]*M[1] + D[5]*M[2]; -#pragma omp atomic -L[2] += D[4]*M[0] + D[6]*M[1] + D[7]*M[2]; -#pragma omp atomic -L[3] += D[5]*M[0] + D[7]*M[1] + D[8]*M[2]; - -} - -void L2L_2(double x, double y, double z, double * L, double * Ls) { -#pragma omp atomic -Ls[0] += x*L[1] + y*L[2] + z*L[3] + L[0]; -#pragma omp atomic -Ls[1] += L[1]; -#pragma omp atomic -Ls[2] += L[2]; -#pragma omp atomic -Ls[3] += L[3]; - -} - -void L2P_2(double x, double y, double z, double * L, double * F) { -#pragma omp atomic -F[0] += -L[1]; -#pragma omp atomic -F[1] += -L[2]; -#pragma omp atomic -F[2] += -L[3]; - -} - -void M2P_2(double x, double y, double z, double * M, double * F) { -double R = sqrt(x*x + y*y + z*z); -double Ftmp0 = pow(R, -3); -double Ftmp1 = pow(R, -2); -double Ftmp2 = 3.0*Ftmp1; -double Ftmp3 = y*M[4]; -double Ftmp4 = Ftmp2*z; -double Ftmp5 = Ftmp2*x; -double Ftmp6 = y*M[1]; -double Ftmp7 = Ftmp4*M[2]; -double Ftmp8 = pow(x, 2); -double Ftmp9 = Ftmp2*M[0]; -double Ftmp10 = y*M[7]; -double Ftmp11 = 15.0/pow(R, 4); -double Ftmp12 = Ftmp11*x*z; -double Ftmp13 = Ftmp11*Ftmp8; -double Ftmp14 = z*M[5]; -double Ftmp15 = Ftmp1*x; -double Ftmp16 = pow(y, 2); -double Ftmp17 = 15.0*Ftmp1; -double Ftmp18 = -Ftmp16*Ftmp17; -double Ftmp19 = (Ftmp18 + 3.0)*M[6]; -double Ftmp20 = pow(z, 2); -double Ftmp21 = -Ftmp17*Ftmp20; -double Ftmp22 = (Ftmp21 + 3.0)*M[8]; -double Ftmp23 = -Ftmp17*Ftmp8; -double Ftmp24 = x*y; -double Ftmp25 = Ftmp11*Ftmp16; -double Ftmp26 = Ftmp1*y; -double Ftmp27 = (Ftmp23 + 3.0)*M[3]; -double Ftmp28 = Ftmp11*Ftmp20; -double Ftmp29 = Ftmp1*z; -#pragma omp atomic -F[0] += Ftmp0*(Ftmp10*Ftmp12 + Ftmp13*Ftmp14 + Ftmp13*Ftmp3 - Ftmp15*Ftmp19 - Ftmp15*Ftmp22 - Ftmp15*(Ftmp23 + 9.0)*M[3] - Ftmp2*Ftmp3 - Ftmp4*M[5] - Ftmp5*Ftmp6 - Ftmp7*x - Ftmp8*Ftmp9 + 1.0*M[0]); -#pragma omp atomic -F[1] += Ftmp0*(Ftmp11*Ftmp14*Ftmp24 - Ftmp16*Ftmp2*M[1] - Ftmp22*Ftmp26 - Ftmp24*Ftmp9 + Ftmp25*x*M[4] + Ftmp25*z*M[7] - Ftmp26*Ftmp27 - Ftmp26*(Ftmp18 + 9.0)*M[6] - Ftmp4*M[7] - Ftmp5*M[4] - Ftmp7*y + 1.0*M[1]); -#pragma omp atomic -F[2] += Ftmp0*(-Ftmp10*Ftmp2 + Ftmp10*Ftmp28 + Ftmp12*Ftmp3 - Ftmp19*Ftmp29 - Ftmp2*Ftmp20*M[2] - Ftmp27*Ftmp29 + Ftmp28*x*M[5] - Ftmp29*(Ftmp21 + 9.0)*M[8] - Ftmp4*Ftmp6 - Ftmp4*x*M[0] - Ftmp5*M[5] + 1.0*M[2]); - -} - -void P2P(double x, double y, double z, double * S, double * F) { -double R = sqrt(x*x + y*y + z*z); -double Ftmp0 = pow(R, -3); -double Ftmp1 = 3.0/pow(R, 2); -double Ftmp2 = Ftmp1*S[1]; -double Ftmp3 = x*y; -double Ftmp4 = Ftmp1*S[2]; -double Ftmp5 = Ftmp4*z; -double Ftmp6 = Ftmp1*S[0]; -#pragma omp atomic -F[0] += Ftmp0*(-Ftmp2*Ftmp3 - Ftmp5*x - Ftmp6*pow(x, 2) + 1.0*S[0]); -#pragma omp atomic -F[1] += Ftmp0*(-Ftmp2*pow(y, 2) - Ftmp3*Ftmp6 - Ftmp5*y + 1.0*S[1]); -#pragma omp atomic -F[2] += Ftmp0*(-Ftmp2*y*z - Ftmp4*pow(z, 2) - Ftmp6*x*z + 1.0*S[2]); - -} - -void P2M_3(double x, double y, double z, double q, double * M) { -double Mtmp0 = q*x; -double Mtmp1 = q*y; -double Mtmp2 = q*z; -double Mtmp3 = pow(x, 2); -double Mtmp4 = (1.0/2.0)*q; -double Mtmp5 = Mtmp0*y; -double Mtmp6 = pow(y, 2); -double Mtmp7 = pow(z, 2); -double Mtmp8 = (1.0/6.0)*q; -double Mtmp9 = (1.0/2.0)*Mtmp3; -double Mtmp10 = (1.0/2.0)*Mtmp0; -M[0] += -Mtmp0; -M[1] += -Mtmp1; -M[2] += -Mtmp2; -M[3] += Mtmp3*Mtmp4; -M[4] += Mtmp5; -M[5] += Mtmp0*z; -M[6] += Mtmp4*Mtmp6; -M[7] += Mtmp1*z; -M[8] += Mtmp4*Mtmp7; -M[9] += -Mtmp8*pow(x, 3); -M[10] += -Mtmp1*Mtmp9; -M[11] += -Mtmp2*Mtmp9; -M[12] += -Mtmp10*Mtmp6; -M[13] += -Mtmp5*z; -M[14] += -Mtmp10*Mtmp7; -M[15] += -Mtmp8*pow(y, 3); -M[16] += -1.0/2.0*Mtmp2*Mtmp6; -M[17] += -1.0/2.0*Mtmp1*Mtmp7; -M[18] += -Mtmp8*pow(z, 3); - -} -void M2M_3(double x, double y, double z, double * M, double * Ms) { -double Mstmp0 = x*M[0]; -double Mstmp1 = x*M[1]; -double Mstmp2 = y*M[0]; -double Mstmp3 = x*M[2]; -double Mstmp4 = y*M[1]; -double Mstmp5 = y*M[2]; -double Mstmp6 = (1.0/2.0)*pow(x, 2); -double Mstmp7 = pow(y, 2); -double Mstmp8 = (1.0/2.0)*M[0]; -double Mstmp9 = pow(z, 2); -double Mstmp10 = (1.0/2.0)*Mstmp7; -double Mstmp11 = (1.0/2.0)*Mstmp9; -#pragma omp atomic -Ms[0] += M[0]; -#pragma omp atomic -Ms[1] += M[1]; -#pragma omp atomic -Ms[2] += M[2]; -#pragma omp atomic -Ms[3] += Mstmp0 + M[3]; -#pragma omp atomic -Ms[4] += Mstmp1 + Mstmp2 + M[4]; -#pragma omp atomic -Ms[5] += Mstmp3 + z*M[0] + M[5]; -#pragma omp atomic -Ms[6] += Mstmp4 + M[6]; -#pragma omp atomic -Ms[7] += Mstmp5 + z*M[1] + M[7]; -#pragma omp atomic -Ms[8] += z*M[2] + M[8]; -#pragma omp atomic -Ms[9] += Mstmp6*M[0] + x*M[3] + M[9]; -#pragma omp atomic -Ms[10] += Mstmp0*y + Mstmp6*M[1] + x*M[4] + y*M[3] + M[10]; -#pragma omp atomic -Ms[11] += Mstmp0*z + Mstmp6*M[2] + x*M[5] + z*M[3] + M[11]; -#pragma omp atomic -Ms[12] += Mstmp1*y + Mstmp7*Mstmp8 + x*M[6] + y*M[4] + M[12]; -#pragma omp atomic -Ms[13] += Mstmp1*z + Mstmp2*z + Mstmp3*y + x*M[7] + y*M[5] + z*M[4] + M[13]; -#pragma omp atomic -Ms[14] += Mstmp3*z + Mstmp8*Mstmp9 + x*M[8] + z*M[5] + M[14]; -#pragma omp atomic -Ms[15] += Mstmp10*M[1] + y*M[6] + M[15]; -#pragma omp atomic -Ms[16] += Mstmp10*M[2] + Mstmp4*z + y*M[7] + z*M[6] + M[16]; -#pragma omp atomic -Ms[17] += Mstmp11*M[1] + Mstmp5*z + y*M[8] + z*M[7] + M[17]; -#pragma omp atomic -Ms[18] += Mstmp11*M[2] + z*M[8] + M[18]; - -} - -void M2L_3(double x, double y, double z, double * M, double * L) { -double R = sqrt(x*x + y*y + z*z); -double D[19]; -double Dtmp0 = pow(R, -3); -double Dtmp1 = 1.0*Dtmp0; -double Dtmp2 = pow(x, 2); -double Dtmp3 = pow(R, -2); -double Dtmp4 = 3.0*Dtmp3; -double Dtmp5 = pow(R, -5); -double Dtmp6 = Dtmp5*x; -double Dtmp7 = 3.0*Dtmp6; -double Dtmp8 = pow(y, 2); -double Dtmp9 = Dtmp5*y; -double Dtmp10 = 15.0*Dtmp3; -double Dtmp11 = -Dtmp10*Dtmp2; -double Dtmp12 = Dtmp5*(Dtmp11 + 3.0); -double Dtmp13 = -Dtmp10*Dtmp8; -double Dtmp14 = Dtmp13 + 3.0; -D[0] = -Dtmp1*x; -D[1] = -Dtmp1*y; -D[2] = -Dtmp1*z; -D[3] = Dtmp0*(Dtmp2*Dtmp4 - 1.0); -D[4] = Dtmp7*y; -D[5] = Dtmp7*z; -D[6] = Dtmp0*(Dtmp4*Dtmp8 - 1.0); -D[7] = 3.0*Dtmp9*z; -D[8] = -D[3] - D[6]; -D[9] = Dtmp6*(Dtmp11 + 9.0); -D[10] = Dtmp12*y; -D[11] = Dtmp12*z; -D[12] = 1.0*Dtmp14*Dtmp6; -D[13] = -15.0*x*y*z/pow(R, 7); -D[14] = -D[9] - D[12]; -D[15] = Dtmp9*(Dtmp13 + 9.0); -D[16] = Dtmp14*Dtmp5*z; -D[17] = -D[10] - D[15]; -D[18] = -D[11] - D[16]; -#pragma omp atomic -L[0] += D[0]*M[0] + D[1]*M[1] + D[2]*M[2] + D[3]*M[3] + D[4]*M[4] + D[5]*M[5] + D[6]*M[6] + D[7]*M[7] + D[8]*M[8] + D[9]*M[9] + D[10]*M[10] + D[11]*M[11] + D[12]*M[12] + D[13]*M[13] + D[14]*M[14] + D[15]*M[15] + D[16]*M[16] + D[17]*M[17] + D[18]*M[18]; -#pragma omp atomic -L[1] += D[3]*M[0] + D[4]*M[1] + D[5]*M[2] + D[9]*M[3] + D[10]*M[4] + D[11]*M[5] + D[12]*M[6] + D[13]*M[7] + D[14]*M[8]; -#pragma omp atomic -L[2] += D[4]*M[0] + D[6]*M[1] + D[7]*M[2] + D[10]*M[3] + D[12]*M[4] + D[13]*M[5] + D[15]*M[6] + D[16]*M[7] + D[17]*M[8]; -#pragma omp atomic -L[3] += D[5]*M[0] + D[7]*M[1] + D[8]*M[2] + D[11]*M[3] + D[13]*M[4] + D[14]*M[5] + D[16]*M[6] + D[17]*M[7] + D[18]*M[8]; -#pragma omp atomic -L[4] += D[9]*M[0] + D[10]*M[1] + D[11]*M[2]; -#pragma omp atomic -L[5] += D[10]*M[0] + D[12]*M[1] + D[13]*M[2]; -#pragma omp atomic -L[6] += D[11]*M[0] + D[13]*M[1] + D[14]*M[2]; -#pragma omp atomic -L[7] += D[12]*M[0] + D[15]*M[1] + D[16]*M[2]; -#pragma omp atomic -L[8] += D[13]*M[0] + D[16]*M[1] + D[17]*M[2]; -#pragma omp atomic -L[9] += D[14]*M[0] + D[17]*M[1] + D[18]*M[2]; - -} - -void L2L_3(double x, double y, double z, double * L, double * Ls) { -double Lstmp0 = y*L[5]; -double Lstmp1 = z*L[6]; -double Lstmp2 = z*L[8]; -#pragma omp atomic -Ls[0] += Lstmp0*x + Lstmp1*x + Lstmp2*y + (1.0/2.0)*pow(x, 2)*L[4] + x*L[1] + (1.0/2.0)*pow(y, 2)*L[7] + y*L[2] + (1.0/2.0)*pow(z, 2)*L[9] + z*L[3] + L[0]; -#pragma omp atomic -Ls[1] += Lstmp0 + Lstmp1 + x*L[4] + L[1]; -#pragma omp atomic -Ls[2] += Lstmp2 + x*L[5] + y*L[7] + L[2]; -#pragma omp atomic -Ls[3] += x*L[6] + y*L[8] + z*L[9] + L[3]; -#pragma omp atomic -Ls[4] += L[4]; -#pragma omp atomic -Ls[5] += L[5]; -#pragma omp atomic -Ls[6] += L[6]; -#pragma omp atomic -Ls[7] += L[7]; -#pragma omp atomic -Ls[8] += L[8]; -#pragma omp atomic -Ls[9] += L[9]; - -} - -void L2P_3(double x, double y, double z, double * L, double * F) { -#pragma omp atomic -F[0] += -x*L[4] - y*L[5] - z*L[6] - L[1]; -#pragma omp atomic -F[1] += -x*L[5] - y*L[7] - z*L[8] - L[2]; -#pragma omp atomic -F[2] += -x*L[6] - y*L[8] - z*L[9] - L[3]; - -} - -void M2P_3(double x, double y, double z, double * M, double * F) { -double R = sqrt(x*x + y*y + z*z); -double Ftmp0 = pow(R, -3); -double Ftmp1 = pow(R, -2); -double Ftmp2 = 3.0*Ftmp1; -double Ftmp3 = y*M[4]; -double Ftmp4 = Ftmp2*z; -double Ftmp5 = pow(R, -4); -double Ftmp6 = Ftmp5*y; -double Ftmp7 = 15.0*z; -double Ftmp8 = Ftmp7*M[13]; -double Ftmp9 = Ftmp2*x; -double Ftmp10 = y*M[1]; -double Ftmp11 = Ftmp4*M[2]; -double Ftmp12 = pow(x, 2); -double Ftmp13 = Ftmp2*M[0]; -double Ftmp14 = y*M[7]; -double Ftmp15 = Ftmp5*x; -double Ftmp16 = Ftmp15*Ftmp7; -double Ftmp17 = Ftmp12*Ftmp5; -double Ftmp18 = Ftmp7*M[5]; -double Ftmp19 = 105.0*M[13]/pow(R, 6); -double Ftmp20 = Ftmp19*z; -double Ftmp21 = pow(y, 2); -double Ftmp22 = 15.0*Ftmp1; -double Ftmp23 = -Ftmp21*Ftmp22; -double Ftmp24 = Ftmp1*(Ftmp23 + 3.0); -double Ftmp25 = pow(z, 2); -double Ftmp26 = -Ftmp22*Ftmp25; -double Ftmp27 = Ftmp1*(Ftmp26 + 3.0); -double Ftmp28 = -Ftmp12*Ftmp22; -double Ftmp29 = Ftmp1*(Ftmp28 + 9.0); -double Ftmp30 = Ftmp24*M[6]; -double Ftmp31 = Ftmp27*M[8]; -double Ftmp32 = 105.0*Ftmp1; -double Ftmp33 = -Ftmp12*Ftmp32; -double Ftmp34 = Ftmp33 + 45.0; -double Ftmp35 = Ftmp6*x; -double Ftmp36 = Ftmp34*Ftmp35; -double Ftmp37 = -Ftmp21*Ftmp32; -double Ftmp38 = Ftmp37 + 45.0; -double Ftmp39 = Ftmp38*M[15]; -double Ftmp40 = Ftmp37 + 15.0; -double Ftmp41 = Ftmp40*M[16]; -double Ftmp42 = Ftmp15*z; -double Ftmp43 = Ftmp34*Ftmp42; -double Ftmp44 = -Ftmp25*Ftmp32; -double Ftmp45 = Ftmp44 + 45.0; -double Ftmp46 = Ftmp45*M[18]; -double Ftmp47 = Ftmp44 + 15.0; -double Ftmp48 = 1.0*M[17]; -double Ftmp49 = Ftmp47*Ftmp48; -double Ftmp50 = 1.0*Ftmp17; -double Ftmp51 = Ftmp40*M[12]; -double Ftmp52 = Ftmp47*M[14]; -double Ftmp53 = x*y; -double Ftmp54 = Ftmp21*Ftmp5; -double Ftmp55 = 15.0*x; -double Ftmp56 = Ftmp1*(Ftmp28 + 3.0); -double Ftmp57 = Ftmp1*(Ftmp23 + 9.0); -double Ftmp58 = Ftmp56*M[3]; -double Ftmp59 = Ftmp33 + 15.0; -double Ftmp60 = Ftmp59*M[11]; -double Ftmp61 = Ftmp6*z; -double Ftmp62 = Ftmp59*M[10]; -double Ftmp63 = 1.0*Ftmp35; -double Ftmp64 = Ftmp25*Ftmp5; -double Ftmp65 = Ftmp1*(Ftmp26 + 9.0); -double Ftmp66 = 1.0*Ftmp42; -#pragma omp atomic -F[0] += Ftmp0*(-Ftmp10*Ftmp9 - Ftmp11*x - Ftmp12*Ftmp13 - Ftmp12*Ftmp20*y + Ftmp14*Ftmp16 + Ftmp17*Ftmp18 + 15.0*Ftmp17*Ftmp3 + Ftmp17*(Ftmp33 + 75.0)*M[9] - Ftmp2*Ftmp3 - Ftmp24*M[12] - Ftmp27*M[14] - Ftmp29*x*M[3] - Ftmp29*M[9] - Ftmp30*x - Ftmp31*x + Ftmp35*Ftmp39 + Ftmp35*Ftmp49 + Ftmp36*M[10] - Ftmp4*M[5] + Ftmp41*Ftmp42 + Ftmp42*Ftmp46 + Ftmp43*M[11] + Ftmp50*Ftmp51 + Ftmp50*Ftmp52 + Ftmp6*Ftmp8 + 1.0*M[0]); -#pragma omp atomic -F[1] += Ftmp0*(-Ftmp11*y - Ftmp13*Ftmp53 + Ftmp15*Ftmp8 + Ftmp18*Ftmp35 - Ftmp2*Ftmp21*M[1] - Ftmp20*Ftmp21*x - Ftmp27*M[17] - Ftmp31*y + Ftmp36*M[9] + Ftmp38*Ftmp61*M[16] + Ftmp38*Ftmp63*M[12] - Ftmp4*M[7] + Ftmp46*Ftmp61 + Ftmp49*Ftmp54 + Ftmp52*Ftmp63 + Ftmp54*Ftmp55*M[4] + Ftmp54*Ftmp62 + Ftmp54*Ftmp7*M[7] + Ftmp54*(Ftmp37 + 75.0)*M[15] - Ftmp56*M[10] - Ftmp57*y*M[6] - Ftmp57*M[15] - Ftmp58*y + Ftmp60*Ftmp61 - Ftmp9*M[4] + 1.0*M[1]); -#pragma omp atomic -F[2] += Ftmp0*(-Ftmp10*Ftmp4 - Ftmp14*Ftmp2 + 15.0*Ftmp14*Ftmp64 + Ftmp16*Ftmp3 - Ftmp19*Ftmp25*Ftmp53 - Ftmp2*Ftmp25*M[2] - Ftmp24*M[16] - Ftmp30*z + 15.0*Ftmp35*M[13] + Ftmp39*Ftmp61 - Ftmp4*x*M[0] + Ftmp41*Ftmp64 + Ftmp43*M[9] + Ftmp45*Ftmp48*Ftmp61 + Ftmp45*Ftmp66*M[14] + Ftmp51*Ftmp66 + Ftmp55*Ftmp64*M[5] - Ftmp56*M[11] - Ftmp58*z + Ftmp60*Ftmp64 + Ftmp61*Ftmp62 + Ftmp64*(Ftmp44 + 75.0)*M[18] - Ftmp65*z*M[8] - Ftmp65*M[18] - Ftmp9*M[5] + 1.0*M[2]); - -} - -void P2M_4(double x, double y, double z, double q, double * M) { -double Mtmp0 = q*x; -double Mtmp1 = q*y; -double Mtmp2 = q*z; -double Mtmp3 = pow(x, 2); -double Mtmp4 = (1.0/2.0)*q; -double Mtmp5 = Mtmp0*y; -double Mtmp6 = Mtmp0*z; -double Mtmp7 = pow(y, 2); -double Mtmp8 = Mtmp1*z; -double Mtmp9 = pow(z, 2); -double Mtmp10 = pow(x, 3); -double Mtmp11 = (1.0/6.0)*q; -double Mtmp12 = (1.0/2.0)*Mtmp3; -double Mtmp13 = (1.0/2.0)*Mtmp0; -double Mtmp14 = pow(y, 3); -double Mtmp15 = (1.0/2.0)*Mtmp7; -double Mtmp16 = (1.0/2.0)*Mtmp9; -double Mtmp17 = pow(z, 3); -double Mtmp18 = (1.0/24.0)*q; -double Mtmp19 = (1.0/6.0)*Mtmp10; -double Mtmp20 = (1.0/4.0)*Mtmp3*q; -double Mtmp21 = (1.0/6.0)*Mtmp0; -M[0] += -Mtmp0; -M[1] += -Mtmp1; -M[2] += -Mtmp2; -M[3] += Mtmp3*Mtmp4; -M[4] += Mtmp5; -M[5] += Mtmp6; -M[6] += Mtmp4*Mtmp7; -M[7] += Mtmp8; -M[8] += Mtmp4*Mtmp9; -M[9] += -Mtmp10*Mtmp11; -M[10] += -Mtmp1*Mtmp12; -M[11] += -Mtmp12*Mtmp2; -M[12] += -Mtmp13*Mtmp7; -M[13] += -Mtmp5*z; -M[14] += -Mtmp13*Mtmp9; -M[15] += -Mtmp11*Mtmp14; -M[16] += -Mtmp15*Mtmp2; -M[17] += -Mtmp1*Mtmp16; -M[18] += -Mtmp11*Mtmp17; -M[19] += Mtmp18*pow(x, 4); -M[20] += Mtmp1*Mtmp19; -M[21] += Mtmp19*Mtmp2; -M[22] += Mtmp20*Mtmp7; -M[23] += Mtmp12*Mtmp8; -M[24] += Mtmp20*Mtmp9; -M[25] += Mtmp14*Mtmp21; -M[26] += Mtmp15*Mtmp6; -M[27] += Mtmp16*Mtmp5; -M[28] += Mtmp17*Mtmp21; -M[29] += Mtmp18*pow(y, 4); -M[30] += (1.0/6.0)*Mtmp14*Mtmp2; -M[31] += (1.0/4.0)*Mtmp7*Mtmp9*q; -M[32] += (1.0/6.0)*Mtmp1*Mtmp17; -M[33] += Mtmp18*pow(z, 4); - -} -void M2M_4(double x, double y, double z, double * M, double * Ms) { -double Mstmp0 = x*M[0]; -double Mstmp1 = x*M[1]; -double Mstmp2 = y*M[0]; -double Mstmp3 = x*M[2]; -double Mstmp4 = z*M[0]; -double Mstmp5 = y*M[1]; -double Mstmp6 = y*M[2]; -double Mstmp7 = z*M[1]; -double Mstmp8 = z*M[2]; -double Mstmp9 = x*M[3]; -double Mstmp10 = (1.0/2.0)*pow(x, 2); -double Mstmp11 = x*M[4]; -double Mstmp12 = y*M[3]; -double Mstmp13 = Mstmp0*y; -double Mstmp14 = x*M[5]; -double Mstmp15 = x*M[6]; -double Mstmp16 = y*M[4]; -double Mstmp17 = Mstmp1*y; -double Mstmp18 = pow(y, 2); -double Mstmp19 = (1.0/2.0)*M[0]; -double Mstmp20 = x*M[7]; -double Mstmp21 = y*M[5]; -double Mstmp22 = Mstmp3*y; -double Mstmp23 = x*M[8]; -double Mstmp24 = pow(z, 2); -double Mstmp25 = y*M[6]; -double Mstmp26 = (1.0/2.0)*Mstmp18; -double Mstmp27 = y*M[7]; -double Mstmp28 = y*M[8]; -double Mstmp29 = (1.0/2.0)*Mstmp24; -double Mstmp30 = (1.0/6.0)*pow(x, 3); -double Mstmp31 = pow(y, 3); -double Mstmp32 = (1.0/6.0)*M[0]; -double Mstmp33 = pow(z, 3); -double Mstmp34 = (1.0/6.0)*Mstmp31; -double Mstmp35 = (1.0/6.0)*Mstmp33; -#pragma omp atomic -Ms[0] += M[0]; -#pragma omp atomic -Ms[1] += M[1]; -#pragma omp atomic -Ms[2] += M[2]; -#pragma omp atomic -Ms[3] += Mstmp0 + M[3]; -#pragma omp atomic -Ms[4] += Mstmp1 + Mstmp2 + M[4]; -#pragma omp atomic -Ms[5] += Mstmp3 + Mstmp4 + M[5]; -#pragma omp atomic -Ms[6] += Mstmp5 + M[6]; -#pragma omp atomic -Ms[7] += Mstmp6 + Mstmp7 + M[7]; -#pragma omp atomic -Ms[8] += Mstmp8 + M[8]; -#pragma omp atomic -Ms[9] += Mstmp10*M[0] + Mstmp9 + M[9]; -#pragma omp atomic -Ms[10] += Mstmp10*M[1] + Mstmp11 + Mstmp12 + Mstmp13 + M[10]; -#pragma omp atomic -Ms[11] += Mstmp0*z + Mstmp10*M[2] + Mstmp14 + z*M[3] + M[11]; -#pragma omp atomic -Ms[12] += Mstmp15 + Mstmp16 + Mstmp17 + Mstmp18*Mstmp19 + M[12]; -#pragma omp atomic -Ms[13] += Mstmp1*z + Mstmp2*z + Mstmp20 + Mstmp21 + Mstmp22 + z*M[4] + M[13]; -#pragma omp atomic -Ms[14] += Mstmp19*Mstmp24 + Mstmp23 + Mstmp3*z + z*M[5] + M[14]; -#pragma omp atomic -Ms[15] += Mstmp25 + Mstmp26*M[1] + M[15]; -#pragma omp atomic -Ms[16] += Mstmp26*M[2] + Mstmp27 + Mstmp5*z + z*M[6] + M[16]; -#pragma omp atomic -Ms[17] += Mstmp28 + Mstmp29*M[1] + Mstmp6*z + z*M[7] + M[17]; -#pragma omp atomic -Ms[18] += Mstmp29*M[2] + z*M[8] + M[18]; -#pragma omp atomic -Ms[19] += Mstmp10*M[3] + Mstmp30*M[0] + x*M[9] + M[19]; -#pragma omp atomic -Ms[20] += Mstmp10*Mstmp2 + Mstmp10*M[4] + Mstmp30*M[1] + Mstmp9*y + x*M[10] + y*M[9] + M[20]; -#pragma omp atomic -Ms[21] += Mstmp10*Mstmp4 + Mstmp10*M[5] + Mstmp30*M[2] + Mstmp9*z + x*M[11] + z*M[9] + M[21]; -#pragma omp atomic -Ms[22] += Mstmp0*Mstmp26 + Mstmp10*Mstmp5 + Mstmp10*M[6] + Mstmp11*y + Mstmp26*M[3] + x*M[12] + y*M[10] + M[22]; -#pragma omp atomic -Ms[23] += Mstmp10*Mstmp6 + Mstmp10*Mstmp7 + Mstmp10*M[7] + Mstmp11*z + Mstmp12*z + Mstmp13*z + Mstmp14*y + x*M[13] + y*M[11] + z*M[10] + M[23]; -#pragma omp atomic -Ms[24] += Mstmp0*Mstmp29 + Mstmp10*Mstmp8 + Mstmp10*M[8] + Mstmp14*z + Mstmp29*M[3] + x*M[14] + z*M[11] + M[24]; -#pragma omp atomic -Ms[25] += Mstmp1*Mstmp26 + Mstmp15*y + Mstmp26*M[4] + Mstmp31*Mstmp32 + x*M[15] + y*M[12] + M[25]; -#pragma omp atomic -Ms[26] += Mstmp15*z + Mstmp16*z + Mstmp17*z + Mstmp20*y + Mstmp26*Mstmp3 + Mstmp26*Mstmp4 + Mstmp26*M[5] + x*M[16] + y*M[13] + z*M[12] + M[26]; -#pragma omp atomic -Ms[27] += Mstmp1*Mstmp29 + Mstmp2*Mstmp29 + Mstmp20*z + Mstmp21*z + Mstmp22*z + Mstmp23*y + Mstmp29*M[4] + x*M[17] + y*M[14] + z*M[13] + M[27]; -#pragma omp atomic -Ms[28] += Mstmp23*z + Mstmp29*Mstmp3 + Mstmp29*M[5] + Mstmp32*Mstmp33 + x*M[18] + z*M[14] + M[28]; -#pragma omp atomic -Ms[29] += Mstmp26*M[6] + Mstmp34*M[1] + y*M[15] + M[29]; -#pragma omp atomic -Ms[30] += Mstmp25*z + Mstmp26*Mstmp7 + Mstmp26*M[7] + Mstmp34*M[2] + y*M[16] + z*M[15] + M[30]; -#pragma omp atomic -Ms[31] += Mstmp26*Mstmp8 + Mstmp26*M[8] + Mstmp27*z + Mstmp29*Mstmp5 + Mstmp29*M[6] + y*M[17] + z*M[16] + M[31]; -#pragma omp atomic -Ms[32] += Mstmp28*z + Mstmp29*Mstmp6 + Mstmp29*M[7] + Mstmp35*M[1] + y*M[18] + z*M[17] + M[32]; -#pragma omp atomic -Ms[33] += Mstmp29*M[8] + Mstmp35*M[2] + z*M[18] + M[33]; - -} - -void M2L_4(double x, double y, double z, double * M, double * L) { -double R = sqrt(x*x + y*y + z*z); -double D[34]; -double Dtmp0 = pow(R, -3); -double Dtmp1 = 1.0*Dtmp0; -double Dtmp2 = pow(x, 2); -double Dtmp3 = pow(R, -2); -double Dtmp4 = 3.0*Dtmp3; -double Dtmp5 = pow(R, -5); -double Dtmp6 = Dtmp5*x; -double Dtmp7 = 3.0*Dtmp6; -double Dtmp8 = pow(y, 2); -double Dtmp9 = Dtmp5*y; -double Dtmp10 = 15.0*Dtmp3; -double Dtmp11 = -Dtmp10*Dtmp2; -double Dtmp12 = Dtmp11 + 3.0; -double Dtmp13 = Dtmp12*Dtmp5; -double Dtmp14 = -Dtmp10*Dtmp8; -double Dtmp15 = Dtmp14 + 3.0; -double Dtmp16 = pow(R, -7); -double Dtmp17 = Dtmp16*y; -double Dtmp18 = Dtmp17*z; -double Dtmp19 = 105.0/pow(R, 4); -double Dtmp20 = Dtmp2*Dtmp3; -double Dtmp21 = -105.0*Dtmp20; -double Dtmp22 = x*(Dtmp21 + 45.0); -double Dtmp23 = Dtmp16*z; -double Dtmp24 = Dtmp3*Dtmp8; -double Dtmp25 = -105.0*Dtmp24; -double Dtmp26 = Dtmp25 + 45.0; -double Dtmp27 = 1.0*x; -D[0] = -Dtmp1*x; -D[1] = -Dtmp1*y; -D[2] = -Dtmp1*z; -D[3] = Dtmp0*(Dtmp2*Dtmp4 - 1.0); -D[4] = Dtmp7*y; -D[5] = Dtmp7*z; -D[6] = Dtmp0*(Dtmp4*Dtmp8 - 1.0); -D[7] = 3.0*Dtmp9*z; -D[8] = -D[3] - D[6]; -D[9] = Dtmp6*(Dtmp11 + 9.0); -D[10] = Dtmp13*y; -D[11] = Dtmp13*z; -D[12] = 1.0*Dtmp15*Dtmp6; -D[13] = -15.0*Dtmp18*x; -D[14] = -D[9] - D[12]; -D[15] = Dtmp9*(Dtmp14 + 9.0); -D[16] = Dtmp15*Dtmp5*z; -D[17] = -D[10] - D[15]; -D[18] = -D[11] - D[16]; -D[19] = Dtmp5*(Dtmp19*pow(x, 4) - 90.0*Dtmp20 + 9.0); -D[20] = -Dtmp17*Dtmp22; -D[21] = -Dtmp22*Dtmp23; -D[22] = Dtmp5*(Dtmp12 + Dtmp14 + Dtmp19*Dtmp2*Dtmp8); -D[23] = -Dtmp18*(Dtmp21 + 15.0); -D[24] = -D[19] - D[22]; -D[25] = -Dtmp17*Dtmp26*Dtmp27; -D[26] = -Dtmp23*Dtmp27*(Dtmp25 + 15.0); -D[27] = -D[20] - D[25]; -D[28] = -D[21] - D[26]; -D[29] = Dtmp5*(Dtmp19*pow(y, 4) - 90.0*Dtmp24 + 9.0); -D[30] = -Dtmp18*Dtmp26; -D[31] = -D[22] - D[29]; -D[32] = -D[23] - D[30]; -D[33] = -D[24] - D[31]; -#pragma omp atomic -L[0] += D[0]*M[0] + D[1]*M[1] + D[2]*M[2] + D[3]*M[3] + D[4]*M[4] + D[5]*M[5] + D[6]*M[6] + D[7]*M[7] + D[8]*M[8] + D[9]*M[9] + D[10]*M[10] + D[11]*M[11] + D[12]*M[12] + D[13]*M[13] + D[14]*M[14] + D[15]*M[15] + D[16]*M[16] + D[17]*M[17] + D[18]*M[18] + D[19]*M[19] + D[20]*M[20] + D[21]*M[21] + D[22]*M[22] + D[23]*M[23] + D[24]*M[24] + D[25]*M[25] + D[26]*M[26] + D[27]*M[27] + D[28]*M[28] + D[29]*M[29] + D[30]*M[30] + D[31]*M[31] + D[32]*M[32] + D[33]*M[33]; -#pragma omp atomic -L[1] += D[3]*M[0] + D[4]*M[1] + D[5]*M[2] + D[9]*M[3] + D[10]*M[4] + D[11]*M[5] + D[12]*M[6] + D[13]*M[7] + D[14]*M[8] + D[19]*M[9] + D[20]*M[10] + D[21]*M[11] + D[22]*M[12] + D[23]*M[13] + D[24]*M[14] + D[25]*M[15] + D[26]*M[16] + D[27]*M[17] + D[28]*M[18]; -#pragma omp atomic -L[2] += D[4]*M[0] + D[6]*M[1] + D[7]*M[2] + D[10]*M[3] + D[12]*M[4] + D[13]*M[5] + D[15]*M[6] + D[16]*M[7] + D[17]*M[8] + D[20]*M[9] + D[22]*M[10] + D[23]*M[11] + D[25]*M[12] + D[26]*M[13] + D[27]*M[14] + D[29]*M[15] + D[30]*M[16] + D[31]*M[17] + D[32]*M[18]; -#pragma omp atomic -L[3] += D[5]*M[0] + D[7]*M[1] + D[8]*M[2] + D[11]*M[3] + D[13]*M[4] + D[14]*M[5] + D[16]*M[6] + D[17]*M[7] + D[18]*M[8] + D[21]*M[9] + D[23]*M[10] + D[24]*M[11] + D[26]*M[12] + D[27]*M[13] + D[28]*M[14] + D[30]*M[15] + D[31]*M[16] + D[32]*M[17] + D[33]*M[18]; -#pragma omp atomic -L[4] += D[9]*M[0] + D[10]*M[1] + D[11]*M[2] + D[19]*M[3] + D[20]*M[4] + D[21]*M[5] + D[22]*M[6] + D[23]*M[7] + D[24]*M[8]; -#pragma omp atomic -L[5] += D[10]*M[0] + D[12]*M[1] + D[13]*M[2] + D[20]*M[3] + D[22]*M[4] + D[23]*M[5] + D[25]*M[6] + D[26]*M[7] + D[27]*M[8]; -#pragma omp atomic -L[6] += D[11]*M[0] + D[13]*M[1] + D[14]*M[2] + D[21]*M[3] + D[23]*M[4] + D[24]*M[5] + D[26]*M[6] + D[27]*M[7] + D[28]*M[8]; -#pragma omp atomic -L[7] += D[12]*M[0] + D[15]*M[1] + D[16]*M[2] + D[22]*M[3] + D[25]*M[4] + D[26]*M[5] + D[29]*M[6] + D[30]*M[7] + D[31]*M[8]; -#pragma omp atomic -L[8] += D[13]*M[0] + D[16]*M[1] + D[17]*M[2] + D[23]*M[3] + D[26]*M[4] + D[27]*M[5] + D[30]*M[6] + D[31]*M[7] + D[32]*M[8]; -#pragma omp atomic -L[9] += D[14]*M[0] + D[17]*M[1] + D[18]*M[2] + D[24]*M[3] + D[27]*M[4] + D[28]*M[5] + D[31]*M[6] + D[32]*M[7] + D[33]*M[8]; -#pragma omp atomic -L[10] += D[19]*M[0] + D[20]*M[1] + D[21]*M[2]; -#pragma omp atomic -L[11] += D[20]*M[0] + D[22]*M[1] + D[23]*M[2]; -#pragma omp atomic -L[12] += D[21]*M[0] + D[23]*M[1] + D[24]*M[2]; -#pragma omp atomic -L[13] += D[22]*M[0] + D[25]*M[1] + D[26]*M[2]; -#pragma omp atomic -L[14] += D[23]*M[0] + D[26]*M[1] + D[27]*M[2]; -#pragma omp atomic -L[15] += D[24]*M[0] + D[27]*M[1] + D[28]*M[2]; -#pragma omp atomic -L[16] += D[25]*M[0] + D[29]*M[1] + D[30]*M[2]; -#pragma omp atomic -L[17] += D[26]*M[0] + D[30]*M[1] + D[31]*M[2]; -#pragma omp atomic -L[18] += D[27]*M[0] + D[31]*M[1] + D[32]*M[2]; -#pragma omp atomic -L[19] += D[28]*M[0] + D[32]*M[1] + D[33]*M[2]; - -} - -void L2L_4(double x, double y, double z, double * L, double * Ls) { -double Lstmp0 = y*L[5]; -double Lstmp1 = z*L[6]; -double Lstmp2 = z*L[8]; -double Lstmp3 = z*L[14]; -double Lstmp4 = Lstmp3*y; -double Lstmp5 = (1.0/2.0)*pow(x, 2); -double Lstmp6 = (1.0/2.0)*pow(y, 2); -double Lstmp7 = (1.0/2.0)*pow(z, 2); -double Lstmp8 = x*L[13]; -double Lstmp9 = x*L[15]; -double Lstmp10 = y*L[11]; -double Lstmp11 = z*L[12]; -double Lstmp12 = y*L[18]; -double Lstmp13 = z*L[17]; -double Lstmp14 = y*L[13]; -double Lstmp15 = y*L[14]; -double Lstmp16 = z*L[15]; -double Lstmp17 = z*L[18]; -#pragma omp atomic -Ls[0] += Lstmp0*x + Lstmp1*x + Lstmp10*Lstmp5 + Lstmp11*Lstmp5 + Lstmp12*Lstmp7 + Lstmp13*Lstmp6 + Lstmp2*y + Lstmp4*x + Lstmp5*L[4] + Lstmp6*Lstmp8 + Lstmp6*L[7] + Lstmp7*Lstmp9 + Lstmp7*L[9] + (1.0/6.0)*pow(x, 3)*L[10] + x*L[1] + (1.0/6.0)*pow(y, 3)*L[16] + y*L[2] + (1.0/6.0)*pow(z, 3)*L[19] + z*L[3] + L[0]; -#pragma omp atomic -Ls[1] += Lstmp0 + Lstmp1 + Lstmp10*x + Lstmp11*x + Lstmp4 + Lstmp5*L[10] + Lstmp6*L[13] + Lstmp7*L[15] + x*L[4] + L[1]; -#pragma omp atomic -Ls[2] += Lstmp13*y + Lstmp14*x + Lstmp2 + Lstmp3*x + Lstmp5*L[11] + Lstmp6*L[16] + Lstmp7*L[18] + x*L[5] + y*L[7] + L[2]; -#pragma omp atomic -Ls[3] += Lstmp15*x + Lstmp16*x + Lstmp17*y + Lstmp5*L[12] + Lstmp6*L[17] + Lstmp7*L[19] + x*L[6] + y*L[8] + z*L[9] + L[3]; -#pragma omp atomic -Ls[4] += Lstmp10 + Lstmp11 + x*L[10] + L[4]; -#pragma omp atomic -Ls[5] += Lstmp14 + Lstmp3 + x*L[11] + L[5]; -#pragma omp atomic -Ls[6] += Lstmp15 + Lstmp16 + x*L[12] + L[6]; -#pragma omp atomic -Ls[7] += Lstmp13 + Lstmp8 + y*L[16] + L[7]; -#pragma omp atomic -Ls[8] += Lstmp17 + x*L[14] + y*L[17] + L[8]; -#pragma omp atomic -Ls[9] += Lstmp12 + Lstmp9 + z*L[19] + L[9]; -#pragma omp atomic -Ls[10] += L[10]; -#pragma omp atomic -Ls[11] += L[11]; -#pragma omp atomic -Ls[12] += L[12]; -#pragma omp atomic -Ls[13] += L[13]; -#pragma omp atomic -Ls[14] += L[14]; -#pragma omp atomic -Ls[15] += L[15]; -#pragma omp atomic -Ls[16] += L[16]; -#pragma omp atomic -Ls[17] += L[17]; -#pragma omp atomic -Ls[18] += L[18]; -#pragma omp atomic -Ls[19] += L[19]; - -} - -void L2P_4(double x, double y, double z, double * L, double * F) { -double Ftmp0 = x*y; -double Ftmp1 = x*z; -double Ftmp2 = y*z; -double Ftmp3 = (1.0/2.0)*pow(x, 2); -double Ftmp4 = (1.0/2.0)*pow(y, 2); -double Ftmp5 = (1.0/2.0)*pow(z, 2); -#pragma omp atomic -F[0] += -Ftmp0*L[11] - Ftmp1*L[12] - Ftmp2*L[14] - Ftmp3*L[10] - Ftmp4*L[13] - Ftmp5*L[15] - x*L[4] - y*L[5] - z*L[6] - L[1]; -#pragma omp atomic -F[1] += -Ftmp0*L[13] - Ftmp1*L[14] - Ftmp2*L[17] - Ftmp3*L[11] - Ftmp4*L[16] - Ftmp5*L[18] - x*L[5] - y*L[7] - z*L[8] - L[2]; -#pragma omp atomic -F[2] += -Ftmp0*L[14] - Ftmp1*L[15] - Ftmp2*L[18] - Ftmp3*L[12] - Ftmp4*L[17] - Ftmp5*L[19] - x*L[6] - y*L[8] - z*L[9] - L[3]; - -} - -void M2P_4(double x, double y, double z, double * M, double * F) { -double R = sqrt(x*x + y*y + z*z); -double Ftmp0 = pow(R, -3); -double Ftmp1 = pow(R, -2); -double Ftmp2 = 3.0*Ftmp1; -double Ftmp3 = y*M[4]; -double Ftmp4 = Ftmp2*z; -double Ftmp5 = pow(R, -4); -double Ftmp6 = Ftmp5*y; -double Ftmp7 = 15.0*z; -double Ftmp8 = Ftmp7*M[13]; -double Ftmp9 = Ftmp2*x; -double Ftmp10 = Ftmp9*y; -double Ftmp11 = Ftmp4*M[2]; -double Ftmp12 = pow(x, 2); -double Ftmp13 = Ftmp1*Ftmp12; -double Ftmp14 = y*M[7]; -double Ftmp15 = Ftmp5*x; -double Ftmp16 = Ftmp15*Ftmp7; -double Ftmp17 = Ftmp12*Ftmp5; -double Ftmp18 = Ftmp7*M[5]; -double Ftmp19 = pow(R, -6); -double Ftmp20 = Ftmp12*Ftmp19; -double Ftmp21 = Ftmp20*z; -double Ftmp22 = y*M[13]; -double Ftmp23 = 105.0*Ftmp22; -double Ftmp24 = pow(y, 2); -double Ftmp25 = 15.0*Ftmp1; -double Ftmp26 = -Ftmp24*Ftmp25; -double Ftmp27 = Ftmp1*(Ftmp26 + 3.0); -double Ftmp28 = pow(z, 2); -double Ftmp29 = -Ftmp25*Ftmp28; -double Ftmp30 = Ftmp1*(Ftmp29 + 3.0); -double Ftmp31 = -Ftmp12*Ftmp25; -double Ftmp32 = Ftmp1*(Ftmp31 + 9.0); -double Ftmp33 = -105.0*Ftmp13; -double Ftmp34 = Ftmp33 + 45.0; -double Ftmp35 = Ftmp34*Ftmp5; -double Ftmp36 = y*M[20]; -double Ftmp37 = z*M[21]; -double Ftmp38 = Ftmp1*Ftmp28; -double Ftmp39 = 3.0*M[27]; -double Ftmp40 = Ftmp39*(5.0 - 35.0*Ftmp38); -double Ftmp41 = 105.0*Ftmp1; -double Ftmp42 = -Ftmp24*Ftmp41; -double Ftmp43 = Ftmp42 + 45.0; -double Ftmp44 = Ftmp43*Ftmp6; -double Ftmp45 = 1.0*M[25]; -double Ftmp46 = Ftmp5*z; -double Ftmp47 = 1.0*Ftmp46; -double Ftmp48 = Ftmp42 + 15.0; -double Ftmp49 = Ftmp48*M[26]; -double Ftmp50 = -Ftmp28*Ftmp41; -double Ftmp51 = Ftmp50 + 45.0; -double Ftmp52 = Ftmp47*Ftmp51; -double Ftmp53 = Ftmp27*M[6]; -double Ftmp54 = Ftmp30*M[8]; -double Ftmp55 = Ftmp15*Ftmp34; -double Ftmp56 = Ftmp55*y; -double Ftmp57 = Ftmp15*Ftmp43; -double Ftmp58 = Ftmp57*y; -double Ftmp59 = Ftmp48*M[16]; -double Ftmp60 = Ftmp15*z; -double Ftmp61 = Ftmp55*z; -double Ftmp62 = Ftmp51*M[18]; -double Ftmp63 = Ftmp50 + 15.0; -double Ftmp64 = 1.0*M[17]; -double Ftmp65 = Ftmp63*Ftmp64; -double Ftmp66 = Ftmp15*y; -double Ftmp67 = 1.0*Ftmp17; -double Ftmp68 = Ftmp48*M[12]; -double Ftmp69 = Ftmp63*M[14]; -double Ftmp70 = -945.0*Ftmp13; -double Ftmp71 = x*(Ftmp70 + 315.0); -double Ftmp72 = Ftmp19*y*z; -double Ftmp73 = Ftmp1*Ftmp24; -double Ftmp74 = -945.0*Ftmp73; -double Ftmp75 = Ftmp74 + 315.0; -double Ftmp76 = Ftmp75*M[30]; -double Ftmp77 = Ftmp72*x; -double Ftmp78 = -945.0*Ftmp38; -double Ftmp79 = Ftmp78 + 315.0; -double Ftmp80 = 1.0*M[32]; -double Ftmp81 = Ftmp79*Ftmp80; -double Ftmp82 = Ftmp20*y; -double Ftmp83 = 315.0*Ftmp1; -double Ftmp84 = -Ftmp28*Ftmp83; -double Ftmp85 = Ftmp39*(Ftmp84 + 35.0); -double Ftmp86 = Ftmp45*Ftmp75; -double Ftmp87 = Ftmp20*(Ftmp70 + 525.0); -double Ftmp88 = 1.0*Ftmp21; -double Ftmp89 = (Ftmp74 + 105.0)*M[26]; -double Ftmp90 = Ftmp79*M[28]; -double Ftmp91 = 945.0*Ftmp5; -double Ftmp92 = Ftmp91*pow(y, 4); -double Ftmp93 = 630.0*Ftmp1; -double Ftmp94 = (-Ftmp24*Ftmp93 + Ftmp92 + 45.0)*M[29]; -double Ftmp95 = Ftmp91*pow(z, 4); -double Ftmp96 = (-Ftmp28*Ftmp93 + Ftmp95 + 45.0)*M[33]; -double Ftmp97 = Ftmp91*pow(x, 4); -double Ftmp98 = Ftmp24*Ftmp91; -double Ftmp99 = Ftmp28*Ftmp98; -double Ftmp100 = -Ftmp24*Ftmp83; -double Ftmp101 = Ftmp12*Ftmp98; -double Ftmp102 = Ftmp12*Ftmp28*Ftmp91; -double Ftmp103 = 15.0*Ftmp24; -double Ftmp104 = Ftmp19*Ftmp24; -double Ftmp105 = Ftmp104*z; -double Ftmp106 = Ftmp1*(Ftmp31 + 3.0); -double Ftmp107 = Ftmp1*(Ftmp26 + 9.0); -double Ftmp108 = Ftmp33 + 15.0; -double Ftmp109 = Ftmp108*M[23]; -double Ftmp110 = Ftmp43*M[30]; -double Ftmp111 = Ftmp106*M[3]; -double Ftmp112 = Ftmp108*M[11]; -double Ftmp113 = Ftmp6*z; -double Ftmp114 = Ftmp44*z; -double Ftmp115 = Ftmp24*Ftmp5; -double Ftmp116 = Ftmp108*M[10]; -double Ftmp117 = 1.0*Ftmp15; -double Ftmp118 = Ftmp19*Ftmp71; -double Ftmp119 = 1.0*Ftmp77; -double Ftmp120 = Ftmp104*x; -double Ftmp121 = Ftmp74 + 525.0; -double Ftmp122 = (Ftmp70 + 105.0)*M[23]; -double Ftmp123 = (-Ftmp12*Ftmp93 + Ftmp97 + 45.0)*M[19]; -double Ftmp124 = -315.0*Ftmp13; -double Ftmp125 = 15.0*Ftmp15; -double Ftmp126 = Ftmp19*Ftmp28; -double Ftmp127 = Ftmp126*x; -double Ftmp128 = Ftmp1*(Ftmp29 + 9.0); -double Ftmp129 = Ftmp28*Ftmp5; -double Ftmp130 = 1.0*Ftmp60; -double Ftmp131 = 1.0*Ftmp127; -double Ftmp132 = Ftmp78 + 525.0; -double Ftmp133 = Ftmp126*y; -#pragma omp atomic -F[0] += Ftmp0*(-Ftmp10*M[1] - Ftmp11*x - 3.0*Ftmp13*M[0] + Ftmp14*Ftmp16 + Ftmp15*Ftmp94 + Ftmp15*Ftmp96 + Ftmp15*(Ftmp100 + Ftmp101 + Ftmp34)*M[22] + Ftmp15*(Ftmp102 + Ftmp34 + Ftmp84)*M[24] + Ftmp15*(-1050.0*Ftmp13 + Ftmp97 + 225.0)*M[19] + Ftmp15*(Ftmp48 + Ftmp50 + Ftmp99)*M[31] + Ftmp17*Ftmp18 + 15.0*Ftmp17*Ftmp3 + Ftmp17*(Ftmp33 + 75.0)*M[9] - Ftmp2*Ftmp3 - Ftmp21*Ftmp23 - Ftmp27*M[12] - Ftmp30*M[14] - Ftmp32*x*M[3] - Ftmp32*M[9] + Ftmp35*Ftmp36 + Ftmp35*Ftmp37 - Ftmp36*Ftmp87 - Ftmp37*Ftmp87 - Ftmp4*M[5] + Ftmp40*Ftmp6 + Ftmp44*Ftmp45 + Ftmp47*Ftmp49 + Ftmp52*M[28] - Ftmp53*x - Ftmp54*x + Ftmp56*M[10] + Ftmp58*M[15] + Ftmp59*Ftmp60 + Ftmp6*Ftmp8 + Ftmp60*Ftmp62 + Ftmp61*M[11] + Ftmp65*Ftmp66 + Ftmp67*Ftmp68 + Ftmp67*Ftmp69 - Ftmp71*Ftmp72*M[23] - Ftmp76*Ftmp77 - Ftmp77*Ftmp81 - Ftmp82*Ftmp85 - Ftmp82*Ftmp86 - Ftmp88*Ftmp89 - Ftmp88*Ftmp90 + 1.0*M[0]); -#pragma omp atomic -F[1] += Ftmp0*(-Ftmp10*M[0] + Ftmp103*Ftmp15*M[4] + Ftmp103*Ftmp46*M[7] - Ftmp104*Ftmp71*M[20] - Ftmp105*Ftmp121*M[30] - Ftmp105*Ftmp122 - Ftmp105*Ftmp81 - 105.0*Ftmp105*x*M[13] - Ftmp106*M[10] - Ftmp107*y*M[6] - Ftmp107*M[15] + Ftmp109*Ftmp46 - Ftmp11*y + Ftmp110*Ftmp46 - Ftmp111*y + Ftmp112*Ftmp113 + Ftmp113*Ftmp62 + Ftmp114*M[16] + Ftmp115*Ftmp116 + Ftmp115*Ftmp65 + Ftmp115*(Ftmp42 + 75.0)*M[15] + Ftmp117*Ftmp69*y - Ftmp118*Ftmp37*y - Ftmp119*Ftmp75*M[26] - Ftmp119*Ftmp90 - Ftmp120*Ftmp121*Ftmp45 - Ftmp120*Ftmp85 + Ftmp123*Ftmp6 + Ftmp15*Ftmp40 + Ftmp15*Ftmp8 + Ftmp18*Ftmp66 - Ftmp30*M[17] - Ftmp4*M[7] + Ftmp45*Ftmp57 + Ftmp52*M[32] - Ftmp54*y + Ftmp55*M[20] + Ftmp56*M[9] + 1.0*Ftmp58*M[12] + Ftmp6*Ftmp96 + Ftmp6*(Ftmp101 + Ftmp124 + Ftmp43)*M[22] + Ftmp6*(Ftmp102 + Ftmp33 + Ftmp63)*M[24] + Ftmp6*(Ftmp43 + Ftmp84 + Ftmp99)*M[31] + Ftmp6*(-1050.0*Ftmp73 + Ftmp92 + 225.0)*M[29] - 3.0*Ftmp73*M[1] - Ftmp9*M[4] + 1.0*M[1]); -#pragma omp atomic -F[2] += Ftmp0*(-Ftmp106*M[11] + Ftmp109*Ftmp6 + Ftmp110*Ftmp6 - Ftmp111*z + Ftmp112*Ftmp129 + Ftmp113*Ftmp116 + Ftmp113*Ftmp51*Ftmp64 + Ftmp114*M[15] + Ftmp117*Ftmp49 + Ftmp117*Ftmp51*M[28] - Ftmp118*Ftmp36*z - Ftmp122*Ftmp133 + Ftmp123*Ftmp46 + Ftmp125*Ftmp22 + Ftmp125*Ftmp28*M[5] - Ftmp126*Ftmp71*M[21] - Ftmp127*Ftmp23 - Ftmp128*z*M[8] - Ftmp128*M[18] + Ftmp129*Ftmp59 + Ftmp129*(Ftmp50 + 75.0)*M[18] + Ftmp130*Ftmp51*M[14] + Ftmp130*Ftmp68 - Ftmp131*Ftmp132*M[28] - Ftmp131*Ftmp89 - Ftmp132*Ftmp133*Ftmp80 - Ftmp133*Ftmp76 - Ftmp14*Ftmp2 + Ftmp16*Ftmp3 - Ftmp27*M[16] + 15.0*Ftmp28*Ftmp6*M[7] - 3.0*Ftmp38*M[2] - Ftmp39*Ftmp77*(Ftmp84 + 105.0) - Ftmp4*x*M[0] - Ftmp4*y*M[1] + Ftmp46*Ftmp94 + Ftmp46*(Ftmp100 + Ftmp51 + Ftmp99)*M[31] + Ftmp46*(Ftmp101 + Ftmp33 + Ftmp48)*M[22] + Ftmp46*(Ftmp102 + Ftmp124 + Ftmp51)*M[24] + Ftmp46*(-1050.0*Ftmp38 + Ftmp95 + 225.0)*M[33] + Ftmp51*Ftmp6*Ftmp80 - Ftmp53*z + Ftmp55*M[21] + Ftmp61*M[9] - Ftmp77*Ftmp86 - Ftmp9*M[5] + 1.0*M[2]); - -} - -void P2M_5(double x, double y, double z, double q, double * M) { -double Mtmp0 = q*x; -double Mtmp1 = q*y; -double Mtmp2 = q*z; -double Mtmp3 = pow(x, 2); -double Mtmp4 = (1.0/2.0)*q; -double Mtmp5 = Mtmp0*y; -double Mtmp6 = Mtmp0*z; -double Mtmp7 = pow(y, 2); -double Mtmp8 = Mtmp1*z; -double Mtmp9 = pow(z, 2); -double Mtmp10 = pow(x, 3); -double Mtmp11 = (1.0/6.0)*q; -double Mtmp12 = (1.0/2.0)*Mtmp3; -double Mtmp13 = (1.0/2.0)*Mtmp0; -double Mtmp14 = pow(y, 3); -double Mtmp15 = (1.0/2.0)*Mtmp7; -double Mtmp16 = (1.0/2.0)*Mtmp9; -double Mtmp17 = pow(z, 3); -double Mtmp18 = pow(x, 4); -double Mtmp19 = (1.0/24.0)*q; -double Mtmp20 = (1.0/6.0)*Mtmp10; -double Mtmp21 = Mtmp7*q; -double Mtmp22 = (1.0/4.0)*Mtmp3; -double Mtmp23 = Mtmp9*q; -double Mtmp24 = (1.0/6.0)*Mtmp0; -double Mtmp25 = pow(y, 4); -double Mtmp26 = (1.0/6.0)*Mtmp14; -double Mtmp27 = (1.0/4.0)*Mtmp9; -double Mtmp28 = (1.0/6.0)*Mtmp17; -double Mtmp29 = pow(z, 4); -double Mtmp30 = (1.0/120.0)*q; -double Mtmp31 = (1.0/24.0)*Mtmp18; -double Mtmp32 = (1.0/12.0)*Mtmp10; -double Mtmp33 = (1.0/12.0)*Mtmp14; -double Mtmp34 = Mtmp3*q; -double Mtmp35 = (1.0/12.0)*Mtmp17; -double Mtmp36 = (1.0/24.0)*Mtmp0; -M[0] += -Mtmp0; -M[1] += -Mtmp1; -M[2] += -Mtmp2; -M[3] += Mtmp3*Mtmp4; -M[4] += Mtmp5; -M[5] += Mtmp6; -M[6] += Mtmp4*Mtmp7; -M[7] += Mtmp8; -M[8] += Mtmp4*Mtmp9; -M[9] += -Mtmp10*Mtmp11; -M[10] += -Mtmp1*Mtmp12; -M[11] += -Mtmp12*Mtmp2; -M[12] += -Mtmp13*Mtmp7; -M[13] += -Mtmp5*z; -M[14] += -Mtmp13*Mtmp9; -M[15] += -Mtmp11*Mtmp14; -M[16] += -Mtmp15*Mtmp2; -M[17] += -Mtmp1*Mtmp16; -M[18] += -Mtmp11*Mtmp17; -M[19] += Mtmp18*Mtmp19; -M[20] += Mtmp1*Mtmp20; -M[21] += Mtmp2*Mtmp20; -M[22] += Mtmp21*Mtmp22; -M[23] += Mtmp12*Mtmp8; -M[24] += Mtmp22*Mtmp23; -M[25] += Mtmp14*Mtmp24; -M[26] += Mtmp15*Mtmp6; -M[27] += Mtmp16*Mtmp5; -M[28] += Mtmp17*Mtmp24; -M[29] += Mtmp19*Mtmp25; -M[30] += Mtmp2*Mtmp26; -M[31] += Mtmp21*Mtmp27; -M[32] += Mtmp1*Mtmp28; -M[33] += Mtmp19*Mtmp29; -M[34] += -Mtmp30*pow(x, 5); -M[35] += -Mtmp1*Mtmp31; -M[36] += -Mtmp2*Mtmp31; -M[37] += -Mtmp21*Mtmp32; -M[38] += -Mtmp20*Mtmp8; -M[39] += -Mtmp23*Mtmp32; -M[40] += -Mtmp33*Mtmp34; -M[41] += -Mtmp2*Mtmp22*Mtmp7; -M[42] += -Mtmp1*Mtmp22*Mtmp9; -M[43] += -Mtmp34*Mtmp35; -M[44] += -Mtmp25*Mtmp36; -M[45] += -Mtmp26*Mtmp6; -M[46] += -Mtmp0*Mtmp27*Mtmp7; -M[47] += -Mtmp28*Mtmp5; -M[48] += -Mtmp29*Mtmp36; -M[49] += -Mtmp30*pow(y, 5); -M[50] += -1.0/24.0*Mtmp2*Mtmp25; -M[51] += -Mtmp23*Mtmp33; -M[52] += -Mtmp21*Mtmp35; -M[53] += -1.0/24.0*Mtmp1*Mtmp29; -M[54] += -Mtmp30*pow(z, 5); - -} -void M2M_5(double x, double y, double z, double * M, double * Ms) { -double Mstmp0 = x*M[0]; -double Mstmp1 = x*M[1]; -double Mstmp2 = y*M[0]; -double Mstmp3 = x*M[2]; -double Mstmp4 = z*M[0]; -double Mstmp5 = y*M[1]; -double Mstmp6 = y*M[2]; -double Mstmp7 = z*M[1]; -double Mstmp8 = z*M[2]; -double Mstmp9 = x*M[3]; -double Mstmp10 = pow(x, 2); -double Mstmp11 = (1.0/2.0)*Mstmp10; -double Mstmp12 = x*M[4]; -double Mstmp13 = y*M[3]; -double Mstmp14 = Mstmp0*y; -double Mstmp15 = x*M[5]; -double Mstmp16 = z*M[3]; -double Mstmp17 = Mstmp0*z; -double Mstmp18 = x*M[6]; -double Mstmp19 = y*M[4]; -double Mstmp20 = Mstmp1*y; -double Mstmp21 = pow(y, 2); -double Mstmp22 = (1.0/2.0)*M[0]; -double Mstmp23 = x*M[7]; -double Mstmp24 = y*M[5]; -double Mstmp25 = z*M[4]; -double Mstmp26 = Mstmp3*y; -double Mstmp27 = Mstmp1*z; -double Mstmp28 = Mstmp2*z; -double Mstmp29 = x*M[8]; -double Mstmp30 = z*M[5]; -double Mstmp31 = Mstmp3*z; -double Mstmp32 = pow(z, 2); -double Mstmp33 = y*M[6]; -double Mstmp34 = (1.0/2.0)*Mstmp21; -double Mstmp35 = y*M[7]; -double Mstmp36 = z*M[6]; -double Mstmp37 = Mstmp5*z; -double Mstmp38 = y*M[8]; -double Mstmp39 = z*M[7]; -double Mstmp40 = Mstmp6*z; -double Mstmp41 = (1.0/2.0)*Mstmp32; -double Mstmp42 = z*M[8]; -double Mstmp43 = x*M[9]; -double Mstmp44 = (1.0/6.0)*pow(x, 3); -double Mstmp45 = x*M[10]; -double Mstmp46 = y*M[9]; -double Mstmp47 = Mstmp9*y; -double Mstmp48 = x*M[11]; -double Mstmp49 = x*M[12]; -double Mstmp50 = y*M[10]; -double Mstmp51 = Mstmp12*y; -double Mstmp52 = x*M[13]; -double Mstmp53 = y*M[11]; -double Mstmp54 = Mstmp15*y; -double Mstmp55 = x*M[14]; -double Mstmp56 = x*M[15]; -double Mstmp57 = y*M[12]; -double Mstmp58 = Mstmp18*y; -double Mstmp59 = pow(y, 3); -double Mstmp60 = (1.0/6.0)*M[0]; -double Mstmp61 = x*M[16]; -double Mstmp62 = y*M[13]; -double Mstmp63 = Mstmp23*y; -double Mstmp64 = x*M[17]; -double Mstmp65 = y*M[14]; -double Mstmp66 = Mstmp29*y; -double Mstmp67 = x*M[18]; -double Mstmp68 = pow(z, 3); -double Mstmp69 = y*M[15]; -double Mstmp70 = (1.0/6.0)*Mstmp59; -double Mstmp71 = y*M[16]; -double Mstmp72 = y*M[17]; -double Mstmp73 = y*M[18]; -double Mstmp74 = (1.0/6.0)*Mstmp68; -double Mstmp75 = (1.0/24.0)*pow(x, 4); -double Mstmp76 = (1.0/4.0)*Mstmp10; -double Mstmp77 = Mstmp76*M[0]; -double Mstmp78 = Mstmp21*Mstmp76; -double Mstmp79 = Mstmp32*Mstmp76; -double Mstmp80 = pow(y, 4); -double Mstmp81 = (1.0/24.0)*M[0]; -double Mstmp82 = (1.0/4.0)*Mstmp21*Mstmp32; -double Mstmp83 = pow(z, 4); -double Mstmp84 = (1.0/24.0)*Mstmp80; -double Mstmp85 = (1.0/24.0)*Mstmp83; -#pragma omp atomic -Ms[0] += M[0]; -#pragma omp atomic -Ms[1] += M[1]; -#pragma omp atomic -Ms[2] += M[2]; -#pragma omp atomic -Ms[3] += Mstmp0 + M[3]; -#pragma omp atomic -Ms[4] += Mstmp1 + Mstmp2 + M[4]; -#pragma omp atomic -Ms[5] += Mstmp3 + Mstmp4 + M[5]; -#pragma omp atomic -Ms[6] += Mstmp5 + M[6]; -#pragma omp atomic -Ms[7] += Mstmp6 + Mstmp7 + M[7]; -#pragma omp atomic -Ms[8] += Mstmp8 + M[8]; -#pragma omp atomic -Ms[9] += Mstmp11*M[0] + Mstmp9 + M[9]; -#pragma omp atomic -Ms[10] += Mstmp11*M[1] + Mstmp12 + Mstmp13 + Mstmp14 + M[10]; -#pragma omp atomic -Ms[11] += Mstmp11*M[2] + Mstmp15 + Mstmp16 + Mstmp17 + M[11]; -#pragma omp atomic -Ms[12] += Mstmp18 + Mstmp19 + Mstmp20 + Mstmp21*Mstmp22 + M[12]; -#pragma omp atomic -Ms[13] += Mstmp23 + Mstmp24 + Mstmp25 + Mstmp26 + Mstmp27 + Mstmp28 + M[13]; -#pragma omp atomic -Ms[14] += Mstmp22*Mstmp32 + Mstmp29 + Mstmp30 + Mstmp31 + M[14]; -#pragma omp atomic -Ms[15] += Mstmp33 + Mstmp34*M[1] + M[15]; -#pragma omp atomic -Ms[16] += Mstmp34*M[2] + Mstmp35 + Mstmp36 + Mstmp37 + M[16]; -#pragma omp atomic -Ms[17] += Mstmp38 + Mstmp39 + Mstmp40 + Mstmp41*M[1] + M[17]; -#pragma omp atomic -Ms[18] += Mstmp41*M[2] + Mstmp42 + M[18]; -#pragma omp atomic -Ms[19] += Mstmp11*M[3] + Mstmp43 + Mstmp44*M[0] + M[19]; -#pragma omp atomic -Ms[20] += Mstmp11*Mstmp2 + Mstmp11*M[4] + Mstmp44*M[1] + Mstmp45 + Mstmp46 + Mstmp47 + M[20]; -#pragma omp atomic -Ms[21] += Mstmp11*Mstmp4 + Mstmp11*M[5] + Mstmp44*M[2] + Mstmp48 + Mstmp9*z + z*M[9] + M[21]; -#pragma omp atomic -Ms[22] += Mstmp0*Mstmp34 + Mstmp11*Mstmp5 + Mstmp11*M[6] + Mstmp34*M[3] + Mstmp49 + Mstmp50 + Mstmp51 + M[22]; -#pragma omp atomic -Ms[23] += Mstmp11*Mstmp6 + Mstmp11*Mstmp7 + Mstmp11*M[7] + Mstmp12*z + Mstmp13*z + Mstmp14*z + Mstmp52 + Mstmp53 + Mstmp54 + z*M[10] + M[23]; -#pragma omp atomic -Ms[24] += Mstmp0*Mstmp41 + Mstmp11*Mstmp8 + Mstmp11*M[8] + Mstmp15*z + Mstmp41*M[3] + Mstmp55 + z*M[11] + M[24]; -#pragma omp atomic -Ms[25] += Mstmp1*Mstmp34 + Mstmp34*M[4] + Mstmp56 + Mstmp57 + Mstmp58 + Mstmp59*Mstmp60 + M[25]; -#pragma omp atomic -Ms[26] += Mstmp18*z + Mstmp19*z + Mstmp20*z + Mstmp3*Mstmp34 + Mstmp34*Mstmp4 + Mstmp34*M[5] + Mstmp61 + Mstmp62 + Mstmp63 + z*M[12] + M[26]; -#pragma omp atomic -Ms[27] += Mstmp1*Mstmp41 + Mstmp2*Mstmp41 + Mstmp23*z + Mstmp24*z + Mstmp26*z + Mstmp41*M[4] + Mstmp64 + Mstmp65 + Mstmp66 + z*M[13] + M[27]; -#pragma omp atomic -Ms[28] += Mstmp29*z + Mstmp3*Mstmp41 + Mstmp41*M[5] + Mstmp60*Mstmp68 + Mstmp67 + z*M[14] + M[28]; -#pragma omp atomic -Ms[29] += Mstmp34*M[6] + Mstmp69 + Mstmp70*M[1] + M[29]; -#pragma omp atomic -Ms[30] += Mstmp33*z + Mstmp34*Mstmp7 + Mstmp34*M[7] + Mstmp70*M[2] + Mstmp71 + z*M[15] + M[30]; -#pragma omp atomic -Ms[31] += Mstmp34*Mstmp8 + Mstmp34*M[8] + Mstmp35*z + Mstmp41*Mstmp5 + Mstmp41*M[6] + Mstmp72 + z*M[16] + M[31]; -#pragma omp atomic -Ms[32] += Mstmp38*z + Mstmp41*Mstmp6 + Mstmp41*M[7] + Mstmp73 + Mstmp74*M[1] + z*M[17] + M[32]; -#pragma omp atomic -Ms[33] += Mstmp41*M[8] + Mstmp74*M[2] + z*M[18] + M[33]; -#pragma omp atomic -Ms[34] += Mstmp11*M[9] + Mstmp44*M[3] + Mstmp75*M[0] + x*M[19] + M[34]; -#pragma omp atomic -Ms[35] += Mstmp11*Mstmp13 + Mstmp11*M[10] + Mstmp2*Mstmp44 + Mstmp43*y + Mstmp44*M[4] + Mstmp75*M[1] + x*M[20] + y*M[19] + M[35]; -#pragma omp atomic -Ms[36] += Mstmp11*Mstmp16 + Mstmp11*M[11] + Mstmp4*Mstmp44 + Mstmp43*z + Mstmp44*M[5] + Mstmp75*M[2] + x*M[21] + z*M[19] + M[36]; -#pragma omp atomic -Ms[37] += Mstmp11*Mstmp19 + Mstmp11*M[12] + Mstmp21*Mstmp77 + Mstmp34*Mstmp9 + Mstmp34*M[9] + Mstmp44*Mstmp5 + Mstmp44*M[6] + Mstmp45*y + x*M[22] + y*M[20] + M[37]; -#pragma omp atomic -Ms[38] += Mstmp11*Mstmp24 + Mstmp11*Mstmp25 + Mstmp11*Mstmp28 + Mstmp11*M[13] + Mstmp44*Mstmp6 + Mstmp44*Mstmp7 + Mstmp44*M[7] + Mstmp45*z + Mstmp46*z + Mstmp47*z + Mstmp48*y + x*M[23] + y*M[21] + z*M[20] + M[38]; -#pragma omp atomic -Ms[39] += Mstmp11*Mstmp30 + Mstmp11*M[14] + Mstmp32*Mstmp77 + Mstmp41*Mstmp9 + Mstmp41*M[9] + Mstmp44*Mstmp8 + Mstmp44*M[8] + Mstmp48*z + x*M[24] + z*M[21] + M[39]; -#pragma omp atomic -Ms[40] += Mstmp0*Mstmp70 + Mstmp11*Mstmp33 + Mstmp11*M[15] + Mstmp12*Mstmp34 + Mstmp34*M[10] + Mstmp49*y + Mstmp70*M[3] + Mstmp78*M[1] + x*M[25] + y*M[22] + M[40]; -#pragma omp atomic -Ms[41] += Mstmp11*Mstmp35 + Mstmp11*Mstmp36 + Mstmp11*Mstmp37 + Mstmp11*M[16] + Mstmp15*Mstmp34 + Mstmp16*Mstmp34 + Mstmp17*Mstmp34 + Mstmp34*M[11] + Mstmp49*z + Mstmp50*z + Mstmp51*z + Mstmp52*y + Mstmp78*M[2] + x*M[26] + y*M[23] + z*M[22] + M[41]; -#pragma omp atomic -Ms[42] += Mstmp11*Mstmp38 + Mstmp11*Mstmp39 + Mstmp11*Mstmp40 + Mstmp11*M[17] + Mstmp12*Mstmp41 + Mstmp13*Mstmp41 + Mstmp14*Mstmp41 + Mstmp41*M[10] + Mstmp52*z + Mstmp53*z + Mstmp54*z + Mstmp55*y + Mstmp79*M[1] + x*M[27] + y*M[24] + z*M[23] + M[42]; -#pragma omp atomic -Ms[43] += Mstmp0*Mstmp74 + Mstmp11*Mstmp42 + Mstmp11*M[18] + Mstmp15*Mstmp41 + Mstmp41*M[11] + Mstmp55*z + Mstmp74*M[3] + Mstmp79*M[2] + x*M[28] + z*M[24] + M[43]; -#pragma omp atomic -Ms[44] += Mstmp1*Mstmp70 + Mstmp18*Mstmp34 + Mstmp34*M[12] + Mstmp56*y + Mstmp70*M[4] + Mstmp80*Mstmp81 + x*M[29] + y*M[25] + M[44]; -#pragma omp atomic -Ms[45] += Mstmp23*Mstmp34 + Mstmp25*Mstmp34 + Mstmp27*Mstmp34 + Mstmp3*Mstmp70 + Mstmp34*M[13] + Mstmp4*Mstmp70 + Mstmp56*z + Mstmp57*z + Mstmp58*z + Mstmp61*y + Mstmp70*M[5] + x*M[30] + y*M[26] + z*M[25] + M[45]; -#pragma omp atomic -Ms[46] += Mstmp18*Mstmp41 + Mstmp19*Mstmp41 + Mstmp20*Mstmp41 + Mstmp29*Mstmp34 + Mstmp30*Mstmp34 + Mstmp31*Mstmp34 + Mstmp34*M[14] + Mstmp41*M[12] + Mstmp61*z + Mstmp62*z + Mstmp63*z + Mstmp64*y + Mstmp82*M[0] + x*M[31] + y*M[27] + z*M[26] + M[46]; -#pragma omp atomic -Ms[47] += Mstmp1*Mstmp74 + Mstmp2*Mstmp74 + Mstmp23*Mstmp41 + Mstmp24*Mstmp41 + Mstmp26*Mstmp41 + Mstmp41*M[13] + Mstmp64*z + Mstmp65*z + Mstmp66*z + Mstmp67*y + Mstmp74*M[4] + x*M[32] + y*M[28] + z*M[27] + M[47]; -#pragma omp atomic -Ms[48] += Mstmp29*Mstmp41 + Mstmp3*Mstmp74 + Mstmp41*M[14] + Mstmp67*z + Mstmp74*M[5] + Mstmp81*Mstmp83 + x*M[33] + z*M[28] + M[48]; -#pragma omp atomic -Ms[49] += Mstmp34*M[15] + Mstmp70*M[6] + Mstmp84*M[1] + y*M[29] + M[49]; -#pragma omp atomic -Ms[50] += Mstmp34*Mstmp36 + Mstmp34*M[16] + Mstmp69*z + Mstmp7*Mstmp70 + Mstmp70*M[7] + Mstmp84*M[2] + y*M[30] + z*M[29] + M[50]; -#pragma omp atomic -Ms[51] += Mstmp33*Mstmp41 + Mstmp34*Mstmp39 + Mstmp34*M[17] + Mstmp41*M[15] + Mstmp70*Mstmp8 + Mstmp70*M[8] + Mstmp71*z + Mstmp82*M[1] + y*M[31] + z*M[30] + M[51]; -#pragma omp atomic -Ms[52] += Mstmp34*Mstmp42 + Mstmp34*M[18] + Mstmp35*Mstmp41 + Mstmp41*M[16] + Mstmp5*Mstmp74 + Mstmp72*z + Mstmp74*M[6] + Mstmp82*M[2] + y*M[32] + z*M[31] + M[52]; -#pragma omp atomic -Ms[53] += Mstmp38*Mstmp41 + Mstmp41*M[17] + Mstmp6*Mstmp74 + Mstmp73*z + Mstmp74*M[7] + Mstmp85*M[1] + y*M[33] + z*M[32] + M[53]; -#pragma omp atomic -Ms[54] += Mstmp41*M[18] + Mstmp74*M[8] + Mstmp85*M[2] + z*M[33] + M[54]; - -} - -void M2L_5(double x, double y, double z, double * M, double * L) { -double R = sqrt(x*x + y*y + z*z); -double D[55]; -double Dtmp0 = pow(R, -3); -double Dtmp1 = 1.0*Dtmp0; -double Dtmp2 = pow(x, 2); -double Dtmp3 = pow(R, -2); -double Dtmp4 = 3.0*Dtmp3; -double Dtmp5 = pow(R, -5); -double Dtmp6 = Dtmp5*x; -double Dtmp7 = 3.0*Dtmp6; -double Dtmp8 = pow(y, 2); -double Dtmp9 = Dtmp5*y; -double Dtmp10 = 15.0*Dtmp3; -double Dtmp11 = -Dtmp10*Dtmp2; -double Dtmp12 = Dtmp11 + 3.0; -double Dtmp13 = Dtmp12*Dtmp5; -double Dtmp14 = -Dtmp10*Dtmp8; -double Dtmp15 = Dtmp14 + 3.0; -double Dtmp16 = pow(R, -7); -double Dtmp17 = Dtmp16*x; -double Dtmp18 = y*z; -double Dtmp19 = pow(x, 4); -double Dtmp20 = pow(R, -4); -double Dtmp21 = 105.0*Dtmp20; -double Dtmp22 = Dtmp2*Dtmp3; -double Dtmp23 = -105.0*Dtmp22; -double Dtmp24 = Dtmp23 + 45.0; -double Dtmp25 = Dtmp17*Dtmp24; -double Dtmp26 = Dtmp2*Dtmp8; -double Dtmp27 = Dtmp23 + 15.0; -double Dtmp28 = Dtmp16*y; -double Dtmp29 = Dtmp28*z; -double Dtmp30 = Dtmp3*Dtmp8; -double Dtmp31 = -105.0*Dtmp30; -double Dtmp32 = Dtmp31 + 45.0; -double Dtmp33 = 1.0*Dtmp17; -double Dtmp34 = pow(y, 4); -double Dtmp35 = 945.0*Dtmp20; -double Dtmp36 = Dtmp19*Dtmp35; -double Dtmp37 = Dtmp16*(-630.0*Dtmp22 + Dtmp36 + 45.0); -double Dtmp38 = Dtmp26*Dtmp35; -double Dtmp39 = Dtmp18*x/pow(R, 9); -double Dtmp40 = Dtmp16*z; -double Dtmp41 = Dtmp34*Dtmp35; -double Dtmp42 = -630.0*Dtmp30 + Dtmp41 + 45.0; -D[0] = -Dtmp1*x; -D[1] = -Dtmp1*y; -D[2] = -Dtmp1*z; -D[3] = Dtmp0*(Dtmp2*Dtmp4 - 1.0); -D[4] = Dtmp7*y; -D[5] = Dtmp7*z; -D[6] = Dtmp0*(Dtmp4*Dtmp8 - 1.0); -D[7] = 3.0*Dtmp9*z; -D[8] = -D[3] - D[6]; -D[9] = Dtmp6*(Dtmp11 + 9.0); -D[10] = Dtmp13*y; -D[11] = Dtmp13*z; -D[12] = 1.0*Dtmp15*Dtmp6; -D[13] = -15.0*Dtmp17*Dtmp18; -D[14] = -D[9] - D[12]; -D[15] = Dtmp9*(Dtmp14 + 9.0); -D[16] = Dtmp15*Dtmp5*z; -D[17] = -D[10] - D[15]; -D[18] = -D[11] - D[16]; -D[19] = Dtmp5*(Dtmp19*Dtmp21 - 90.0*Dtmp22 + 9.0); -D[20] = -Dtmp25*y; -D[21] = -Dtmp25*z; -D[22] = Dtmp5*(Dtmp12 + Dtmp14 + Dtmp21*Dtmp26); -D[23] = -Dtmp27*Dtmp29; -D[24] = -D[19] - D[22]; -D[25] = -Dtmp32*Dtmp33*y; -D[26] = -Dtmp33*z*(Dtmp31 + 15.0); -D[27] = -D[20] - D[25]; -D[28] = -D[21] - D[26]; -D[29] = Dtmp5*(Dtmp21*Dtmp34 - 90.0*Dtmp30 + 9.0); -D[30] = -Dtmp29*Dtmp32; -D[31] = -D[22] - D[29]; -D[32] = -D[23] - D[30]; -D[33] = -D[24] - D[31]; -D[34] = -Dtmp17*(-1050.0*Dtmp22 + Dtmp36 + 225.0); -D[35] = -Dtmp37*y; -D[36] = -Dtmp37*z; -D[37] = -Dtmp17*(Dtmp24 - 315.0*Dtmp30 + Dtmp38); -D[38] = Dtmp39*(315.0 - 945.0*Dtmp22); -D[39] = -D[34] - D[37]; -D[40] = -Dtmp28*(-315.0*Dtmp22 + Dtmp32 + Dtmp38); -D[41] = -Dtmp40*(Dtmp27 + Dtmp31 + Dtmp38); -D[42] = -D[35] - D[40]; -D[43] = -D[36] - D[41]; -D[44] = -Dtmp33*Dtmp42; -D[45] = 1.0*Dtmp39*(315.0 - 945.0*Dtmp30); -D[46] = -D[37] - D[44]; -D[47] = -D[38] - D[45]; -D[48] = -D[39] - D[46]; -D[49] = -Dtmp28*(-1050.0*Dtmp30 + Dtmp41 + 225.0); -D[50] = -Dtmp40*Dtmp42; -D[51] = -D[40] - D[49]; -D[52] = -D[41] - D[50]; -D[53] = -D[42] - D[51]; -D[54] = -D[43] - D[52]; -#pragma omp atomic -L[0] += D[0]*M[0] + D[1]*M[1] + D[2]*M[2] + D[3]*M[3] + D[4]*M[4] + D[5]*M[5] + D[6]*M[6] + D[7]*M[7] + D[8]*M[8] + D[9]*M[9] + D[10]*M[10] + D[11]*M[11] + D[12]*M[12] + D[13]*M[13] + D[14]*M[14] + D[15]*M[15] + D[16]*M[16] + D[17]*M[17] + D[18]*M[18] + D[19]*M[19] + D[20]*M[20] + D[21]*M[21] + D[22]*M[22] + D[23]*M[23] + D[24]*M[24] + D[25]*M[25] + D[26]*M[26] + D[27]*M[27] + D[28]*M[28] + D[29]*M[29] + D[30]*M[30] + D[31]*M[31] + D[32]*M[32] + D[33]*M[33] + D[34]*M[34] + D[35]*M[35] + D[36]*M[36] + D[37]*M[37] + D[38]*M[38] + D[39]*M[39] + D[40]*M[40] + D[41]*M[41] + D[42]*M[42] + D[43]*M[43] + D[44]*M[44] + D[45]*M[45] + D[46]*M[46] + D[47]*M[47] + D[48]*M[48] + D[49]*M[49] + D[50]*M[50] + D[51]*M[51] + D[52]*M[52] + D[53]*M[53] + D[54]*M[54]; -#pragma omp atomic -L[1] += D[3]*M[0] + D[4]*M[1] + D[5]*M[2] + D[9]*M[3] + D[10]*M[4] + D[11]*M[5] + D[12]*M[6] + D[13]*M[7] + D[14]*M[8] + D[19]*M[9] + D[20]*M[10] + D[21]*M[11] + D[22]*M[12] + D[23]*M[13] + D[24]*M[14] + D[25]*M[15] + D[26]*M[16] + D[27]*M[17] + D[28]*M[18] + D[34]*M[19] + D[35]*M[20] + D[36]*M[21] + D[37]*M[22] + D[38]*M[23] + D[39]*M[24] + D[40]*M[25] + D[41]*M[26] + D[42]*M[27] + D[43]*M[28] + D[44]*M[29] + D[45]*M[30] + D[46]*M[31] + D[47]*M[32] + D[48]*M[33]; -#pragma omp atomic -L[2] += D[4]*M[0] + D[6]*M[1] + D[7]*M[2] + D[10]*M[3] + D[12]*M[4] + D[13]*M[5] + D[15]*M[6] + D[16]*M[7] + D[17]*M[8] + D[20]*M[9] + D[22]*M[10] + D[23]*M[11] + D[25]*M[12] + D[26]*M[13] + D[27]*M[14] + D[29]*M[15] + D[30]*M[16] + D[31]*M[17] + D[32]*M[18] + D[35]*M[19] + D[37]*M[20] + D[38]*M[21] + D[40]*M[22] + D[41]*M[23] + D[42]*M[24] + D[44]*M[25] + D[45]*M[26] + D[46]*M[27] + D[47]*M[28] + D[49]*M[29] + D[50]*M[30] + D[51]*M[31] + D[52]*M[32] + D[53]*M[33]; -#pragma omp atomic -L[3] += D[5]*M[0] + D[7]*M[1] + D[8]*M[2] + D[11]*M[3] + D[13]*M[4] + D[14]*M[5] + D[16]*M[6] + D[17]*M[7] + D[18]*M[8] + D[21]*M[9] + D[23]*M[10] + D[24]*M[11] + D[26]*M[12] + D[27]*M[13] + D[28]*M[14] + D[30]*M[15] + D[31]*M[16] + D[32]*M[17] + D[33]*M[18] + D[36]*M[19] + D[38]*M[20] + D[39]*M[21] + D[41]*M[22] + D[42]*M[23] + D[43]*M[24] + D[45]*M[25] + D[46]*M[26] + D[47]*M[27] + D[48]*M[28] + D[50]*M[29] + D[51]*M[30] + D[52]*M[31] + D[53]*M[32] + D[54]*M[33]; -#pragma omp atomic -L[4] += D[9]*M[0] + D[10]*M[1] + D[11]*M[2] + D[19]*M[3] + D[20]*M[4] + D[21]*M[5] + D[22]*M[6] + D[23]*M[7] + D[24]*M[8] + D[34]*M[9] + D[35]*M[10] + D[36]*M[11] + D[37]*M[12] + D[38]*M[13] + D[39]*M[14] + D[40]*M[15] + D[41]*M[16] + D[42]*M[17] + D[43]*M[18]; -#pragma omp atomic -L[5] += D[10]*M[0] + D[12]*M[1] + D[13]*M[2] + D[20]*M[3] + D[22]*M[4] + D[23]*M[5] + D[25]*M[6] + D[26]*M[7] + D[27]*M[8] + D[35]*M[9] + D[37]*M[10] + D[38]*M[11] + D[40]*M[12] + D[41]*M[13] + D[42]*M[14] + D[44]*M[15] + D[45]*M[16] + D[46]*M[17] + D[47]*M[18]; -#pragma omp atomic -L[6] += D[11]*M[0] + D[13]*M[1] + D[14]*M[2] + D[21]*M[3] + D[23]*M[4] + D[24]*M[5] + D[26]*M[6] + D[27]*M[7] + D[28]*M[8] + D[36]*M[9] + D[38]*M[10] + D[39]*M[11] + D[41]*M[12] + D[42]*M[13] + D[43]*M[14] + D[45]*M[15] + D[46]*M[16] + D[47]*M[17] + D[48]*M[18]; -#pragma omp atomic -L[7] += D[12]*M[0] + D[15]*M[1] + D[16]*M[2] + D[22]*M[3] + D[25]*M[4] + D[26]*M[5] + D[29]*M[6] + D[30]*M[7] + D[31]*M[8] + D[37]*M[9] + D[40]*M[10] + D[41]*M[11] + D[44]*M[12] + D[45]*M[13] + D[46]*M[14] + D[49]*M[15] + D[50]*M[16] + D[51]*M[17] + D[52]*M[18]; -#pragma omp atomic -L[8] += D[13]*M[0] + D[16]*M[1] + D[17]*M[2] + D[23]*M[3] + D[26]*M[4] + D[27]*M[5] + D[30]*M[6] + D[31]*M[7] + D[32]*M[8] + D[38]*M[9] + D[41]*M[10] + D[42]*M[11] + D[45]*M[12] + D[46]*M[13] + D[47]*M[14] + D[50]*M[15] + D[51]*M[16] + D[52]*M[17] + D[53]*M[18]; -#pragma omp atomic -L[9] += D[14]*M[0] + D[17]*M[1] + D[18]*M[2] + D[24]*M[3] + D[27]*M[4] + D[28]*M[5] + D[31]*M[6] + D[32]*M[7] + D[33]*M[8] + D[39]*M[9] + D[42]*M[10] + D[43]*M[11] + D[46]*M[12] + D[47]*M[13] + D[48]*M[14] + D[51]*M[15] + D[52]*M[16] + D[53]*M[17] + D[54]*M[18]; -#pragma omp atomic -L[10] += D[19]*M[0] + D[20]*M[1] + D[21]*M[2] + D[34]*M[3] + D[35]*M[4] + D[36]*M[5] + D[37]*M[6] + D[38]*M[7] + D[39]*M[8]; -#pragma omp atomic -L[11] += D[20]*M[0] + D[22]*M[1] + D[23]*M[2] + D[35]*M[3] + D[37]*M[4] + D[38]*M[5] + D[40]*M[6] + D[41]*M[7] + D[42]*M[8]; -#pragma omp atomic -L[12] += D[21]*M[0] + D[23]*M[1] + D[24]*M[2] + D[36]*M[3] + D[38]*M[4] + D[39]*M[5] + D[41]*M[6] + D[42]*M[7] + D[43]*M[8]; -#pragma omp atomic -L[13] += D[22]*M[0] + D[25]*M[1] + D[26]*M[2] + D[37]*M[3] + D[40]*M[4] + D[41]*M[5] + D[44]*M[6] + D[45]*M[7] + D[46]*M[8]; -#pragma omp atomic -L[14] += D[23]*M[0] + D[26]*M[1] + D[27]*M[2] + D[38]*M[3] + D[41]*M[4] + D[42]*M[5] + D[45]*M[6] + D[46]*M[7] + D[47]*M[8]; -#pragma omp atomic -L[15] += D[24]*M[0] + D[27]*M[1] + D[28]*M[2] + D[39]*M[3] + D[42]*M[4] + D[43]*M[5] + D[46]*M[6] + D[47]*M[7] + D[48]*M[8]; -#pragma omp atomic -L[16] += D[25]*M[0] + D[29]*M[1] + D[30]*M[2] + D[40]*M[3] + D[44]*M[4] + D[45]*M[5] + D[49]*M[6] + D[50]*M[7] + D[51]*M[8]; -#pragma omp atomic -L[17] += D[26]*M[0] + D[30]*M[1] + D[31]*M[2] + D[41]*M[3] + D[45]*M[4] + D[46]*M[5] + D[50]*M[6] + D[51]*M[7] + D[52]*M[8]; -#pragma omp atomic -L[18] += D[27]*M[0] + D[31]*M[1] + D[32]*M[2] + D[42]*M[3] + D[46]*M[4] + D[47]*M[5] + D[51]*M[6] + D[52]*M[7] + D[53]*M[8]; -#pragma omp atomic -L[19] += D[28]*M[0] + D[32]*M[1] + D[33]*M[2] + D[43]*M[3] + D[47]*M[4] + D[48]*M[5] + D[52]*M[6] + D[53]*M[7] + D[54]*M[8]; -#pragma omp atomic -L[20] += D[34]*M[0] + D[35]*M[1] + D[36]*M[2]; -#pragma omp atomic -L[21] += D[35]*M[0] + D[37]*M[1] + D[38]*M[2]; -#pragma omp atomic -L[22] += D[36]*M[0] + D[38]*M[1] + D[39]*M[2]; -#pragma omp atomic -L[23] += D[37]*M[0] + D[40]*M[1] + D[41]*M[2]; -#pragma omp atomic -L[24] += D[38]*M[0] + D[41]*M[1] + D[42]*M[2]; -#pragma omp atomic -L[25] += D[39]*M[0] + D[42]*M[1] + D[43]*M[2]; -#pragma omp atomic -L[26] += D[40]*M[0] + D[44]*M[1] + D[45]*M[2]; -#pragma omp atomic -L[27] += D[41]*M[0] + D[45]*M[1] + D[46]*M[2]; -#pragma omp atomic -L[28] += D[42]*M[0] + D[46]*M[1] + D[47]*M[2]; -#pragma omp atomic -L[29] += D[43]*M[0] + D[47]*M[1] + D[48]*M[2]; -#pragma omp atomic -L[30] += D[44]*M[0] + D[49]*M[1] + D[50]*M[2]; -#pragma omp atomic -L[31] += D[45]*M[0] + D[50]*M[1] + D[51]*M[2]; -#pragma omp atomic -L[32] += D[46]*M[0] + D[51]*M[1] + D[52]*M[2]; -#pragma omp atomic -L[33] += D[47]*M[0] + D[52]*M[1] + D[53]*M[2]; -#pragma omp atomic -L[34] += D[48]*M[0] + D[53]*M[1] + D[54]*M[2]; - -} - -void L2L_5(double x, double y, double z, double * L, double * Ls) { -double Lstmp0 = y*L[5]; -double Lstmp1 = z*L[6]; -double Lstmp2 = z*L[8]; -double Lstmp3 = z*L[14]; -double Lstmp4 = Lstmp3*y; -double Lstmp5 = pow(x, 2); -double Lstmp6 = (1.0/2.0)*Lstmp5; -double Lstmp7 = (1.0/6.0)*pow(x, 3); -double Lstmp8 = pow(y, 2); -double Lstmp9 = (1.0/2.0)*Lstmp8; -double Lstmp10 = (1.0/6.0)*pow(y, 3); -double Lstmp11 = pow(z, 2); -double Lstmp12 = (1.0/2.0)*Lstmp11; -double Lstmp13 = (1.0/6.0)*pow(z, 3); -double Lstmp14 = x*L[13]; -double Lstmp15 = x*L[26]; -double Lstmp16 = x*L[15]; -double Lstmp17 = x*L[29]; -double Lstmp18 = y*L[11]; -double Lstmp19 = z*L[12]; -double Lstmp20 = y*L[21]; -double Lstmp21 = z*L[22]; -double Lstmp22 = y*L[18]; -double Lstmp23 = y*L[33]; -double Lstmp24 = z*L[17]; -double Lstmp25 = z*L[31]; -double Lstmp26 = y*L[28]; -double Lstmp27 = Lstmp26*x; -double Lstmp28 = z*L[27]; -double Lstmp29 = Lstmp28*x; -double Lstmp30 = z*L[24]; -double Lstmp31 = Lstmp30*y; -double Lstmp32 = (1.0/4.0)*Lstmp5; -double Lstmp33 = x*L[23]; -double Lstmp34 = x*L[25]; -double Lstmp35 = y*L[13]; -double Lstmp36 = Lstmp28*y; -double Lstmp37 = x*L[28]; -double Lstmp38 = y*L[23]; -double Lstmp39 = y*L[32]; -double Lstmp40 = y*L[14]; -double Lstmp41 = z*L[15]; -double Lstmp42 = z*L[18]; -double Lstmp43 = z*L[28]; -double Lstmp44 = Lstmp43*y; -double Lstmp45 = x*L[27]; -double Lstmp46 = y*L[24]; -double Lstmp47 = z*L[25]; -double Lstmp48 = z*L[32]; -double Lstmp49 = y*L[26]; -double Lstmp50 = y*L[27]; -double Lstmp51 = z*L[29]; -double Lstmp52 = z*L[33]; -#pragma omp atomic -Ls[0] += Lstmp0*x + Lstmp1*x + Lstmp10*Lstmp15 + Lstmp10*Lstmp25 + Lstmp10*L[16] + Lstmp11*Lstmp32*L[25] + (1.0/4.0)*Lstmp11*Lstmp8*L[32] + Lstmp12*Lstmp16 + Lstmp12*Lstmp22 + Lstmp12*Lstmp27 + Lstmp12*L[9] + Lstmp13*Lstmp17 + Lstmp13*Lstmp23 + Lstmp13*L[19] + Lstmp14*Lstmp9 + Lstmp18*Lstmp6 + Lstmp19*Lstmp6 + Lstmp2*y + Lstmp20*Lstmp7 + Lstmp21*Lstmp7 + Lstmp24*Lstmp9 + Lstmp29*Lstmp9 + Lstmp31*Lstmp6 + Lstmp32*Lstmp8*L[23] + Lstmp4*x + Lstmp6*L[4] + Lstmp7*L[10] + Lstmp9*L[7] + (1.0/24.0)*pow(x, 4)*L[20] + x*L[1] + (1.0/24.0)*pow(y, 4)*L[30] + y*L[2] + (1.0/24.0)*pow(z, 4)*L[34] + z*L[3] + L[0]; -#pragma omp atomic -Ls[1] += Lstmp0 + Lstmp1 + Lstmp10*L[26] + Lstmp12*Lstmp26 + Lstmp12*Lstmp34 + Lstmp12*L[15] + Lstmp13*L[29] + Lstmp18*x + Lstmp19*x + Lstmp20*Lstmp6 + Lstmp21*Lstmp6 + Lstmp28*Lstmp9 + Lstmp31*x + Lstmp33*Lstmp9 + Lstmp4 + Lstmp6*L[10] + Lstmp7*L[20] + Lstmp9*L[13] + x*L[4] + L[1]; -#pragma omp atomic -Ls[2] += Lstmp10*L[30] + Lstmp12*Lstmp37 + Lstmp12*Lstmp39 + Lstmp12*L[18] + Lstmp13*L[33] + Lstmp15*Lstmp9 + Lstmp2 + Lstmp24*y + Lstmp25*Lstmp9 + Lstmp3*x + Lstmp30*Lstmp6 + Lstmp35*x + Lstmp36*x + Lstmp38*Lstmp6 + Lstmp6*L[11] + Lstmp7*L[21] + Lstmp9*L[16] + x*L[5] + y*L[7] + L[2]; -#pragma omp atomic -Ls[3] += Lstmp10*L[31] + Lstmp12*Lstmp17 + Lstmp12*Lstmp23 + Lstmp12*L[19] + Lstmp13*L[34] + Lstmp40*x + Lstmp41*x + Lstmp42*y + Lstmp44*x + Lstmp45*Lstmp9 + Lstmp46*Lstmp6 + Lstmp47*Lstmp6 + Lstmp48*Lstmp9 + Lstmp6*L[12] + Lstmp7*L[22] + Lstmp9*L[17] + x*L[6] + y*L[8] + z*L[9] + L[3]; -#pragma omp atomic -Ls[4] += Lstmp12*L[25] + Lstmp18 + Lstmp19 + Lstmp20*x + Lstmp21*x + Lstmp31 + Lstmp6*L[20] + Lstmp9*L[23] + x*L[10] + L[4]; -#pragma omp atomic -Ls[5] += Lstmp12*L[28] + Lstmp3 + Lstmp30*x + Lstmp35 + Lstmp36 + Lstmp38*x + Lstmp6*L[21] + Lstmp9*L[26] + x*L[11] + L[5]; -#pragma omp atomic -Ls[6] += Lstmp12*L[29] + Lstmp40 + Lstmp41 + Lstmp44 + Lstmp46*x + Lstmp47*x + Lstmp6*L[22] + Lstmp9*L[27] + x*L[12] + L[6]; -#pragma omp atomic -Ls[7] += Lstmp12*L[32] + Lstmp14 + Lstmp24 + Lstmp25*y + Lstmp29 + Lstmp49*x + Lstmp6*L[23] + Lstmp9*L[30] + y*L[16] + L[7]; -#pragma omp atomic -Ls[8] += Lstmp12*L[33] + Lstmp42 + Lstmp43*x + Lstmp48*y + Lstmp50*x + Lstmp6*L[24] + Lstmp9*L[31] + x*L[14] + y*L[17] + L[8]; -#pragma omp atomic -Ls[9] += Lstmp12*L[34] + Lstmp16 + Lstmp22 + Lstmp27 + Lstmp51*x + Lstmp52*y + Lstmp6*L[25] + Lstmp9*L[32] + z*L[19] + L[9]; -#pragma omp atomic -Ls[10] += Lstmp20 + Lstmp21 + x*L[20] + L[10]; -#pragma omp atomic -Ls[11] += Lstmp30 + Lstmp38 + x*L[21] + L[11]; -#pragma omp atomic -Ls[12] += Lstmp46 + Lstmp47 + x*L[22] + L[12]; -#pragma omp atomic -Ls[13] += Lstmp28 + Lstmp33 + Lstmp49 + L[13]; -#pragma omp atomic -Ls[14] += Lstmp43 + Lstmp50 + x*L[24] + L[14]; -#pragma omp atomic -Ls[15] += Lstmp26 + Lstmp34 + Lstmp51 + L[15]; -#pragma omp atomic -Ls[16] += Lstmp15 + Lstmp25 + y*L[30] + L[16]; -#pragma omp atomic -Ls[17] += Lstmp45 + Lstmp48 + y*L[31] + L[17]; -#pragma omp atomic -Ls[18] += Lstmp37 + Lstmp39 + Lstmp52 + L[18]; -#pragma omp atomic -Ls[19] += Lstmp17 + Lstmp23 + z*L[34] + L[19]; -#pragma omp atomic -Ls[20] += L[20]; -#pragma omp atomic -Ls[21] += L[21]; -#pragma omp atomic -Ls[22] += L[22]; -#pragma omp atomic -Ls[23] += L[23]; -#pragma omp atomic -Ls[24] += L[24]; -#pragma omp atomic -Ls[25] += L[25]; -#pragma omp atomic -Ls[26] += L[26]; -#pragma omp atomic -Ls[27] += L[27]; -#pragma omp atomic -Ls[28] += L[28]; -#pragma omp atomic -Ls[29] += L[29]; -#pragma omp atomic -Ls[30] += L[30]; -#pragma omp atomic -Ls[31] += L[31]; -#pragma omp atomic -Ls[32] += L[32]; -#pragma omp atomic -Ls[33] += L[33]; -#pragma omp atomic -Ls[34] += L[34]; - -} - -void L2P_5(double x, double y, double z, double * L, double * F) { -double Ftmp0 = x*y; -double Ftmp1 = x*z; -double Ftmp2 = y*z; -double Ftmp3 = Ftmp0*z; -double Ftmp4 = (1.0/2.0)*pow(x, 2); -double Ftmp5 = (1.0/6.0)*pow(x, 3); -double Ftmp6 = (1.0/2.0)*pow(y, 2); -double Ftmp7 = (1.0/6.0)*pow(y, 3); -double Ftmp8 = (1.0/2.0)*pow(z, 2); -double Ftmp9 = (1.0/6.0)*pow(z, 3); -double Ftmp10 = Ftmp6*x; -double Ftmp11 = Ftmp8*x; -double Ftmp12 = Ftmp4*y; -double Ftmp13 = Ftmp4*z; -double Ftmp14 = Ftmp8*y; -double Ftmp15 = Ftmp6*z; -#pragma omp atomic -F[0] += -Ftmp0*L[11] - Ftmp1*L[12] - Ftmp10*L[23] - Ftmp11*L[25] - Ftmp12*L[21] - Ftmp13*L[22] - Ftmp14*L[28] - Ftmp15*L[27] - Ftmp2*L[14] - Ftmp3*L[24] - Ftmp4*L[10] - Ftmp5*L[20] - Ftmp6*L[13] - Ftmp7*L[26] - Ftmp8*L[15] - Ftmp9*L[29] - x*L[4] - y*L[5] - z*L[6] - L[1]; -#pragma omp atomic -F[1] += -Ftmp0*L[13] - Ftmp1*L[14] - Ftmp10*L[26] - Ftmp11*L[28] - Ftmp12*L[23] - Ftmp13*L[24] - Ftmp14*L[32] - Ftmp15*L[31] - Ftmp2*L[17] - Ftmp3*L[27] - Ftmp4*L[11] - Ftmp5*L[21] - Ftmp6*L[16] - Ftmp7*L[30] - Ftmp8*L[18] - Ftmp9*L[33] - x*L[5] - y*L[7] - z*L[8] - L[2]; -#pragma omp atomic -F[2] += -Ftmp0*L[14] - Ftmp1*L[15] - Ftmp10*L[27] - Ftmp11*L[29] - Ftmp12*L[24] - Ftmp13*L[25] - Ftmp14*L[33] - Ftmp15*L[32] - Ftmp2*L[18] - Ftmp3*L[28] - Ftmp4*L[12] - Ftmp5*L[22] - Ftmp6*L[17] - Ftmp7*L[31] - Ftmp8*L[19] - Ftmp9*L[34] - x*L[6] - y*L[8] - z*L[9] - L[3]; - -} - -void M2P_5(double x, double y, double z, double * M, double * F) { -double R = sqrt(x*x + y*y + z*z); -double Ftmp0 = pow(R, -3); -double Ftmp1 = pow(R, -2); -double Ftmp2 = 3.0*Ftmp1; -double Ftmp3 = y*M[4]; -double Ftmp4 = Ftmp2*z; -double Ftmp5 = pow(R, -4); -double Ftmp6 = Ftmp5*z; -double Ftmp7 = 15.0*Ftmp6; -double Ftmp8 = y*M[13]; -double Ftmp9 = Ftmp2*x; -double Ftmp10 = Ftmp9*y; -double Ftmp11 = Ftmp4*M[2]; -double Ftmp12 = pow(x, 2); -double Ftmp13 = Ftmp1*Ftmp12; -double Ftmp14 = y*M[7]; -double Ftmp15 = Ftmp7*x; -double Ftmp16 = Ftmp12*Ftmp5; -double Ftmp17 = 15.0*Ftmp16; -double Ftmp18 = pow(R, -6); -double Ftmp19 = Ftmp12*Ftmp18; -double Ftmp20 = 105.0*Ftmp8; -double Ftmp21 = pow(y, 2); -double Ftmp22 = 15.0*Ftmp1; -double Ftmp23 = -Ftmp21*Ftmp22; -double Ftmp24 = Ftmp1*(Ftmp23 + 3.0); -double Ftmp25 = pow(z, 2); -double Ftmp26 = -Ftmp22*Ftmp25; -double Ftmp27 = Ftmp1*(Ftmp26 + 3.0); -double Ftmp28 = -15.0*Ftmp13; -double Ftmp29 = Ftmp1*(Ftmp28 + 9.0); -double Ftmp30 = -105.0*Ftmp13; -double Ftmp31 = Ftmp30 + 45.0; -double Ftmp32 = Ftmp31*Ftmp5; -double Ftmp33 = y*M[20]; -double Ftmp34 = Ftmp32*M[21]; -double Ftmp35 = Ftmp5*y; -double Ftmp36 = Ftmp1*Ftmp25; -double Ftmp37 = 3.0*M[27]; -double Ftmp38 = Ftmp37*(5.0 - 35.0*Ftmp36); -double Ftmp39 = 105.0*Ftmp1; -double Ftmp40 = -Ftmp21*Ftmp39; -double Ftmp41 = Ftmp40 + 45.0; -double Ftmp42 = Ftmp35*Ftmp41; -double Ftmp43 = 1.0*M[25]; -double Ftmp44 = 1.0*Ftmp6; -double Ftmp45 = Ftmp40 + 15.0; -double Ftmp46 = Ftmp45*M[26]; -double Ftmp47 = -Ftmp25*Ftmp39; -double Ftmp48 = Ftmp47 + 45.0; -double Ftmp49 = Ftmp44*Ftmp48; -double Ftmp50 = Ftmp24*M[6]; -double Ftmp51 = Ftmp27*M[8]; -double Ftmp52 = Ftmp32*x; -double Ftmp53 = Ftmp52*y; -double Ftmp54 = Ftmp42*x; -double Ftmp55 = Ftmp45*M[16]; -double Ftmp56 = Ftmp6*x; -double Ftmp57 = Ftmp52*z; -double Ftmp58 = Ftmp48*M[18]; -double Ftmp59 = y*z; -double Ftmp60 = Ftmp18*Ftmp59; -double Ftmp61 = 315.0*Ftmp1; -double Ftmp62 = -Ftmp25*Ftmp61; -double Ftmp63 = Ftmp62 + 105.0; -double Ftmp64 = 3.0*M[47]; -double Ftmp65 = Ftmp63*Ftmp64; -double Ftmp66 = -945.0*Ftmp13; -double Ftmp67 = Ftmp66 + 315.0; -double Ftmp68 = Ftmp67*M[38]; -double Ftmp69 = Ftmp1*Ftmp21; -double Ftmp70 = -945.0*Ftmp69; -double Ftmp71 = Ftmp70 + 315.0; -double Ftmp72 = Ftmp71*M[45]; -double Ftmp73 = 1.0*Ftmp60; -double Ftmp74 = Ftmp47 + 15.0; -double Ftmp75 = 1.0*Ftmp74*M[17]; -double Ftmp76 = 1.0*Ftmp16; -double Ftmp77 = Ftmp45*M[12]; -double Ftmp78 = Ftmp74*M[14]; -double Ftmp79 = Ftmp18*x; -double Ftmp80 = Ftmp79*y; -double Ftmp81 = Ftmp80*z; -double Ftmp82 = Ftmp71*M[30]; -double Ftmp83 = 1.0*Ftmp80; -double Ftmp84 = -945.0*Ftmp36; -double Ftmp85 = Ftmp84 + 315.0; -double Ftmp86 = Ftmp85*z*M[32]; -double Ftmp87 = Ftmp19*y; -double Ftmp88 = Ftmp37*(Ftmp62 + 35.0); -double Ftmp89 = Ftmp43*Ftmp71; -double Ftmp90 = Ftmp66 + 525.0; -double Ftmp91 = Ftmp19*Ftmp90; -double Ftmp92 = 1.0*Ftmp19; -double Ftmp93 = Ftmp92*z; -double Ftmp94 = Ftmp70 + 105.0; -double Ftmp95 = Ftmp94*M[26]; -double Ftmp96 = Ftmp85*M[28]; -double Ftmp97 = z*M[21]; -double Ftmp98 = -10395.0*Ftmp13; -double Ftmp99 = pow(R, -8); -double Ftmp100 = Ftmp99*M[38]; -double Ftmp101 = Ftmp12*Ftmp59; -double Ftmp102 = Ftmp101*Ftmp99; -double Ftmp103 = -3465.0*Ftmp36; -double Ftmp104 = Ftmp64*(Ftmp103 + 945.0); -double Ftmp105 = -10395.0*Ftmp69; -double Ftmp106 = 1.0*M[45]; -double Ftmp107 = Ftmp106*(Ftmp105 + 2835.0); -double Ftmp108 = pow(y, 4); -double Ftmp109 = 945.0*Ftmp5; -double Ftmp110 = Ftmp108*Ftmp109; -double Ftmp111 = 630.0*Ftmp1; -double Ftmp112 = Ftmp5*(Ftmp110 - Ftmp111*Ftmp21 + 45.0); -double Ftmp113 = pow(z, 4); -double Ftmp114 = Ftmp109*Ftmp113; -double Ftmp115 = Ftmp5*(-Ftmp111*Ftmp25 + Ftmp114 + 45.0); -double Ftmp116 = pow(x, 4); -double Ftmp117 = Ftmp109*Ftmp116; -double Ftmp118 = Ftmp5*(Ftmp117 - 1050.0*Ftmp13 + 225.0); -double Ftmp119 = Ftmp112*M[29]; -double Ftmp120 = Ftmp115*M[33]; -double Ftmp121 = 10395.0*Ftmp5; -double Ftmp122 = Ftmp113*Ftmp121; -double Ftmp123 = Ftmp122 - 5670.0*Ftmp36 + 315.0; -double Ftmp124 = Ftmp123*M[53]; -double Ftmp125 = Ftmp116*Ftmp121; -double Ftmp126 = Ftmp125 - 9450.0*Ftmp13 + 1575.0; -double Ftmp127 = Ftmp126*Ftmp80; -double Ftmp128 = Ftmp108*Ftmp121; -double Ftmp129 = Ftmp128 - 9450.0*Ftmp69 + 1575.0; -double Ftmp130 = Ftmp129*M[49]; -double Ftmp131 = Ftmp128 - 5670.0*Ftmp69 + 315.0; -double Ftmp132 = Ftmp131*M[50]; -double Ftmp133 = Ftmp79*z; -double Ftmp134 = Ftmp126*Ftmp133; -double Ftmp135 = Ftmp122 - 9450.0*Ftmp36 + 1575.0; -double Ftmp136 = Ftmp135*M[54]; -double Ftmp137 = Ftmp131*M[44]; -double Ftmp138 = Ftmp123*M[48]; -double Ftmp139 = Ftmp109*Ftmp21; -double Ftmp140 = Ftmp139*Ftmp25; -double Ftmp141 = Ftmp5*(Ftmp140 + Ftmp45 + Ftmp47); -double Ftmp142 = -Ftmp21*Ftmp61; -double Ftmp143 = Ftmp12*Ftmp139; -double Ftmp144 = Ftmp5*(Ftmp142 + Ftmp143 + Ftmp31); -double Ftmp145 = Ftmp12*Ftmp25; -double Ftmp146 = Ftmp109*Ftmp145; -double Ftmp147 = Ftmp5*(Ftmp146 + Ftmp31 + Ftmp62); -double Ftmp148 = Ftmp121*Ftmp145; -double Ftmp149 = -2835.0*Ftmp36; -double Ftmp150 = Ftmp148 + Ftmp149; -double Ftmp151 = Ftmp80*(Ftmp150 + Ftmp67); -double Ftmp152 = Ftmp121*Ftmp21; -double Ftmp153 = Ftmp152*Ftmp25; -double Ftmp154 = Ftmp149 + Ftmp153; -double Ftmp155 = Ftmp80*(Ftmp154 + Ftmp71); -double Ftmp156 = Ftmp12*Ftmp152; -double Ftmp157 = -2835.0*Ftmp69; -double Ftmp158 = Ftmp156 + Ftmp157; -double Ftmp159 = -2835.0*Ftmp13; -double Ftmp160 = Ftmp159 + 945.0; -double Ftmp161 = Ftmp80*(Ftmp158 + Ftmp160); -double Ftmp162 = Ftmp133*(Ftmp158 + Ftmp67); -double Ftmp163 = Ftmp133*(Ftmp153 + Ftmp157 + Ftmp85); -double Ftmp164 = Ftmp133*(Ftmp150 + Ftmp160); -double Ftmp165 = 4725.0*Ftmp1; -double Ftmp166 = -Ftmp165*Ftmp21; -double Ftmp167 = -Ftmp165*Ftmp25; -double Ftmp168 = x*M[13]; -double Ftmp169 = Ftmp21*Ftmp5; -double Ftmp170 = 15.0*x; -double Ftmp171 = Ftmp18*Ftmp21; -double Ftmp172 = Ftmp171*z; -double Ftmp173 = Ftmp1*(Ftmp28 + 3.0); -double Ftmp174 = Ftmp1*(Ftmp23 + 9.0); -double Ftmp175 = Ftmp30 + 15.0; -double Ftmp176 = Ftmp175*M[23]; -double Ftmp177 = Ftmp41*M[30]; -double Ftmp178 = Ftmp5*x; -double Ftmp179 = Ftmp173*M[3]; -double Ftmp180 = Ftmp175*M[11]; -double Ftmp181 = Ftmp6*y; -double Ftmp182 = Ftmp181*Ftmp41; -double Ftmp183 = Ftmp175*M[10]; -double Ftmp184 = 1.0*Ftmp133; -double Ftmp185 = 1.0*Ftmp35; -double Ftmp186 = Ftmp83*z; -double Ftmp187 = Ftmp171*x; -double Ftmp188 = Ftmp67*x; -double Ftmp189 = Ftmp70 + 525.0; -double Ftmp190 = Ftmp66 + 105.0; -double Ftmp191 = Ftmp190*M[23]; -double Ftmp192 = 1.0*Ftmp171; -double Ftmp193 = Ftmp100*x*(Ftmp98 + 2835.0); -double Ftmp194 = Ftmp21*z; -double Ftmp195 = Ftmp99*x; -double Ftmp196 = Ftmp194*Ftmp195; -double Ftmp197 = Ftmp5*(-Ftmp111*Ftmp12 + Ftmp117 + 45.0); -double Ftmp198 = Ftmp5*(Ftmp110 - 1050.0*Ftmp69 + 225.0); -double Ftmp199 = Ftmp197*M[19]; -double Ftmp200 = Ftmp125 - 5670.0*Ftmp13 + 315.0; -double Ftmp201 = Ftmp200*M[36]; -double Ftmp202 = Ftmp200*M[35]; -double Ftmp203 = Ftmp5*(Ftmp146 + Ftmp30 + Ftmp74); -double Ftmp204 = -315.0*Ftmp13; -double Ftmp205 = Ftmp5*(Ftmp143 + Ftmp204 + Ftmp41); -double Ftmp206 = Ftmp5*(Ftmp140 + Ftmp41 + Ftmp62); -double Ftmp207 = 1.0*M[46]; -double Ftmp208 = Ftmp60*(Ftmp156 + Ftmp159 + Ftmp71); -double Ftmp209 = Ftmp60*(Ftmp148 + Ftmp159 + Ftmp85); -double Ftmp210 = Ftmp60*(Ftmp154 + Ftmp157 + 945.0); -double Ftmp211 = -4725.0*Ftmp13; -double Ftmp212 = Ftmp25*Ftmp5; -double Ftmp213 = Ftmp18*Ftmp25; -double Ftmp214 = Ftmp213*x; -double Ftmp215 = Ftmp1*(Ftmp26 + 9.0); -double Ftmp216 = 1.0*Ftmp178; -double Ftmp217 = 1.0*Ftmp214; -double Ftmp218 = Ftmp84 + 525.0; -double Ftmp219 = Ftmp213*y; -double Ftmp220 = Ftmp25*y; -double Ftmp221 = Ftmp195*Ftmp220; -double Ftmp222 = Ftmp5*(Ftmp114 - 1050.0*Ftmp36 + 225.0); -double Ftmp223 = Ftmp5*(Ftmp143 + Ftmp30 + Ftmp45); -double Ftmp224 = Ftmp5*(Ftmp146 + Ftmp204 + Ftmp48); -double Ftmp225 = Ftmp5*(Ftmp140 + Ftmp142 + Ftmp48); -#pragma omp atomic -F[0] += Ftmp0*(-Ftmp10*M[1] + Ftmp100*Ftmp101*(Ftmp98 + 4725.0) + Ftmp102*Ftmp104 + Ftmp102*Ftmp107 - Ftmp11*x + Ftmp112*M[44] + Ftmp115*M[48] + Ftmp118*x*M[19] + Ftmp118*M[34] + Ftmp119*x + Ftmp120*x - Ftmp124*Ftmp83 - Ftmp127*M[35] - 3.0*Ftmp13*M[0] - Ftmp130*Ftmp80 - Ftmp132*Ftmp133 - Ftmp133*Ftmp136 - Ftmp134*M[36] - Ftmp137*Ftmp92 - Ftmp138*Ftmp92 + Ftmp14*Ftmp15 + Ftmp141*x*M[31] + Ftmp141*M[46] + Ftmp144*x*M[22] + Ftmp144*M[37] + Ftmp147*x*M[24] + Ftmp147*M[39] - Ftmp151*M[42] - Ftmp155*M[51] + Ftmp16*(Ftmp30 + 75.0)*M[9] - Ftmp161*M[40] - Ftmp162*M[41] - Ftmp163*M[52] - Ftmp164*M[43] + Ftmp17*Ftmp3 + Ftmp17*z*M[5] - Ftmp19*Ftmp20*z - Ftmp19*(Ftmp125 - 13230.0*Ftmp13 + 3675.0)*M[34] - Ftmp19*(Ftmp148 + Ftmp167 + Ftmp90)*M[39] - Ftmp19*(Ftmp156 + Ftmp166 + Ftmp90)*M[37] - Ftmp2*Ftmp3 - Ftmp24*M[12] - Ftmp27*M[14] - Ftmp29*x*M[3] - Ftmp29*M[9] + Ftmp32*Ftmp33 - Ftmp33*Ftmp91 + Ftmp34*z + Ftmp35*Ftmp38 + Ftmp35*Ftmp75*x - Ftmp4*M[5] + Ftmp42*Ftmp43 + Ftmp44*Ftmp46 + Ftmp49*M[28] - Ftmp50*x - Ftmp51*x + Ftmp53*M[10] + Ftmp54*M[15] + Ftmp55*Ftmp56 + Ftmp56*Ftmp58 + Ftmp57*M[11] - Ftmp60*Ftmp65 - Ftmp60*Ftmp68 - Ftmp67*Ftmp81*M[23] + Ftmp7*Ftmp8 - Ftmp72*Ftmp73 + Ftmp76*Ftmp77 + Ftmp76*Ftmp78 - Ftmp81*Ftmp82 - Ftmp83*Ftmp86 - Ftmp87*Ftmp88 - Ftmp87*Ftmp89 - Ftmp91*Ftmp97 - Ftmp92*(Ftmp153 + Ftmp84 + Ftmp94)*M[46] - Ftmp93*Ftmp95 - Ftmp93*Ftmp96 + 1.0*M[0]); -#pragma omp atomic -F[1] += Ftmp0*(-Ftmp10*M[0] + Ftmp104*Ftmp196 + Ftmp106*Ftmp196*(Ftmp105 + 4725.0) - Ftmp11*y + Ftmp115*M[53] + Ftmp120*y - Ftmp124*Ftmp192 - Ftmp127*M[34] - Ftmp129*Ftmp60*M[50] - Ftmp129*Ftmp83*M[44] - Ftmp133*Ftmp65 - Ftmp133*Ftmp68 - Ftmp136*Ftmp60 - Ftmp138*Ftmp83 + Ftmp15*y*M[5] - Ftmp151*M[39] - Ftmp155*Ftmp207 - Ftmp161*M[37] - 105.0*Ftmp168*Ftmp172 + Ftmp168*Ftmp7 + Ftmp169*Ftmp170*M[4] + Ftmp169*Ftmp183 + Ftmp169*Ftmp75 + Ftmp169*(Ftmp40 + 75.0)*M[15] - Ftmp171*Ftmp188*M[20] - Ftmp171*Ftmp202 - Ftmp171*(Ftmp128 - 13230.0*Ftmp69 + 3675.0)*M[49] - Ftmp171*(Ftmp148 + Ftmp190 + Ftmp84)*M[42] - Ftmp171*(Ftmp153 + Ftmp167 + Ftmp189)*M[51] - Ftmp171*(Ftmp156 + Ftmp189 + Ftmp211)*M[40] - Ftmp172*Ftmp189*M[30] - Ftmp172*Ftmp191 - Ftmp173*M[10] - Ftmp174*y*M[6] - Ftmp174*M[15] + Ftmp176*Ftmp6 + Ftmp177*Ftmp6 + Ftmp178*Ftmp38 + Ftmp178*Ftmp41*Ftmp43 - Ftmp179*y + Ftmp180*Ftmp181 + Ftmp181*Ftmp58 + Ftmp182*M[16] - Ftmp184*Ftmp72 + Ftmp185*Ftmp78*x - Ftmp186*Ftmp71*M[26] - Ftmp186*Ftmp96 - Ftmp187*Ftmp189*Ftmp43 - Ftmp187*Ftmp88 - Ftmp192*Ftmp86 + Ftmp193*Ftmp194 + Ftmp197*M[35] + Ftmp198*y*M[29] + Ftmp198*M[49] + Ftmp199*y - Ftmp201*Ftmp60 + Ftmp203*y*M[24] + Ftmp203*M[42] + Ftmp205*y*M[22] + Ftmp205*M[40] + Ftmp206*y*M[31] + Ftmp206*M[51] - Ftmp208*M[41] - Ftmp209*M[43] + Ftmp21*Ftmp7*M[7] - Ftmp210*M[52] - Ftmp27*M[17] - Ftmp4*M[7] + Ftmp49*M[32] - Ftmp51*y + Ftmp52*M[20] + Ftmp53*M[9] + 1.0*Ftmp54*M[12] - Ftmp67*Ftmp80*Ftmp97 - 3.0*Ftmp69*M[1] - Ftmp9*M[4] + 1.0*M[1]); -#pragma omp atomic -F[2] += Ftmp0*(Ftmp107*Ftmp221 + Ftmp112*M[50] + Ftmp119*z - Ftmp130*Ftmp60 - Ftmp132*Ftmp213 - Ftmp133*Ftmp33*Ftmp67 - Ftmp134*M[34] - Ftmp135*Ftmp184*M[48] - Ftmp135*Ftmp73*M[53] - Ftmp137*Ftmp184 - Ftmp14*Ftmp2 + 15.0*Ftmp14*Ftmp212 + Ftmp15*Ftmp3 - Ftmp162*M[37] - Ftmp163*Ftmp207 - Ftmp164*M[39] + 15.0*Ftmp168*Ftmp35 + Ftmp170*Ftmp212*M[5] - Ftmp173*M[11] + Ftmp176*Ftmp35 + Ftmp177*Ftmp35 - Ftmp179*z + Ftmp180*Ftmp212 + Ftmp181*Ftmp183 + Ftmp182*M[15] + Ftmp185*Ftmp48*M[32] - Ftmp188*Ftmp213*M[21] - Ftmp191*Ftmp219 + Ftmp193*Ftmp220 + Ftmp197*M[36] + Ftmp199*z - Ftmp20*Ftmp214 - Ftmp201*Ftmp213 - Ftmp202*Ftmp60 - Ftmp208*M[40] - Ftmp209*M[42] - Ftmp210*M[51] + Ftmp212*Ftmp55 + Ftmp212*(Ftmp47 + 75.0)*M[18] - Ftmp213*(Ftmp122 - 13230.0*Ftmp36 + 3675.0)*M[54] - Ftmp213*(Ftmp148 + Ftmp211 + Ftmp218)*M[43] - Ftmp213*(Ftmp153 + Ftmp166 + Ftmp218)*M[52] - Ftmp213*(Ftmp156 + Ftmp66 + Ftmp94)*M[41] - Ftmp215*z*M[8] - Ftmp215*M[18] + Ftmp216*Ftmp46 + Ftmp216*Ftmp48*M[28] - Ftmp217*Ftmp218*M[28] - Ftmp217*Ftmp95 - 1.0*Ftmp218*Ftmp219*M[32] - Ftmp219*Ftmp82 + Ftmp221*Ftmp64*(Ftmp103 + 1575.0) + Ftmp222*z*M[33] + Ftmp222*M[54] + Ftmp223*z*M[22] + Ftmp223*M[41] + Ftmp224*z*M[24] + Ftmp224*M[43] + Ftmp225*z*M[31] + Ftmp225*M[52] - Ftmp24*M[16] + Ftmp34*x - 3.0*Ftmp36*M[2] - Ftmp37*Ftmp63*Ftmp81 - Ftmp4*x*M[0] - Ftmp4*y*M[1] + Ftmp44*Ftmp77*x + Ftmp49*x*M[14] + Ftmp49*y*M[17] - Ftmp50*z + Ftmp57*M[9] - Ftmp65*Ftmp80 - Ftmp68*Ftmp80 - Ftmp72*Ftmp83 - Ftmp81*Ftmp89 - Ftmp9*M[5] + 1.0*M[2]); - -} - -void P2M_6(double x, double y, double z, double q, double * M) { -double Mtmp0 = q*x; -double Mtmp1 = q*y; -double Mtmp2 = q*z; -double Mtmp3 = pow(x, 2); -double Mtmp4 = (1.0/2.0)*q; -double Mtmp5 = Mtmp0*y; -double Mtmp6 = Mtmp0*z; -double Mtmp7 = pow(y, 2); -double Mtmp8 = Mtmp1*z; -double Mtmp9 = pow(z, 2); -double Mtmp10 = pow(x, 3); -double Mtmp11 = (1.0/6.0)*q; -double Mtmp12 = (1.0/2.0)*Mtmp3; -double Mtmp13 = (1.0/2.0)*Mtmp0; -double Mtmp14 = pow(y, 3); -double Mtmp15 = (1.0/2.0)*Mtmp7; -double Mtmp16 = (1.0/2.0)*Mtmp9; -double Mtmp17 = pow(z, 3); -double Mtmp18 = pow(x, 4); -double Mtmp19 = (1.0/24.0)*q; -double Mtmp20 = (1.0/6.0)*Mtmp10; -double Mtmp21 = Mtmp7*q; -double Mtmp22 = (1.0/4.0)*Mtmp3; -double Mtmp23 = Mtmp9*q; -double Mtmp24 = (1.0/6.0)*Mtmp0; -double Mtmp25 = pow(y, 4); -double Mtmp26 = (1.0/6.0)*Mtmp14; -double Mtmp27 = (1.0/4.0)*Mtmp9; -double Mtmp28 = (1.0/6.0)*Mtmp17; -double Mtmp29 = pow(z, 4); -double Mtmp30 = pow(x, 5); -double Mtmp31 = (1.0/120.0)*q; -double Mtmp32 = (1.0/24.0)*Mtmp18; -double Mtmp33 = (1.0/12.0)*Mtmp10; -double Mtmp34 = (1.0/12.0)*Mtmp14; -double Mtmp35 = Mtmp3*q; -double Mtmp36 = Mtmp2*Mtmp7; -double Mtmp37 = Mtmp1*Mtmp9; -double Mtmp38 = (1.0/12.0)*Mtmp17; -double Mtmp39 = (1.0/24.0)*Mtmp0; -double Mtmp40 = Mtmp0*Mtmp7; -double Mtmp41 = pow(y, 5); -double Mtmp42 = (1.0/24.0)*Mtmp25; -double Mtmp43 = (1.0/24.0)*Mtmp29; -double Mtmp44 = pow(z, 5); -double Mtmp45 = (1.0/720.0)*q; -double Mtmp46 = (1.0/120.0)*Mtmp30; -double Mtmp47 = (1.0/48.0)*Mtmp18; -double Mtmp48 = (1.0/36.0)*Mtmp10*q; -double Mtmp49 = (1.0/48.0)*Mtmp35; -double Mtmp50 = (1.0/120.0)*Mtmp0; -M[0] += -Mtmp0; -M[1] += -Mtmp1; -M[2] += -Mtmp2; -M[3] += Mtmp3*Mtmp4; -M[4] += Mtmp5; -M[5] += Mtmp6; -M[6] += Mtmp4*Mtmp7; -M[7] += Mtmp8; -M[8] += Mtmp4*Mtmp9; -M[9] += -Mtmp10*Mtmp11; -M[10] += -Mtmp1*Mtmp12; -M[11] += -Mtmp12*Mtmp2; -M[12] += -Mtmp13*Mtmp7; -M[13] += -Mtmp5*z; -M[14] += -Mtmp13*Mtmp9; -M[15] += -Mtmp11*Mtmp14; -M[16] += -Mtmp15*Mtmp2; -M[17] += -Mtmp1*Mtmp16; -M[18] += -Mtmp11*Mtmp17; -M[19] += Mtmp18*Mtmp19; -M[20] += Mtmp1*Mtmp20; -M[21] += Mtmp2*Mtmp20; -M[22] += Mtmp21*Mtmp22; -M[23] += Mtmp12*Mtmp8; -M[24] += Mtmp22*Mtmp23; -M[25] += Mtmp14*Mtmp24; -M[26] += Mtmp15*Mtmp6; -M[27] += Mtmp16*Mtmp5; -M[28] += Mtmp17*Mtmp24; -M[29] += Mtmp19*Mtmp25; -M[30] += Mtmp2*Mtmp26; -M[31] += Mtmp21*Mtmp27; -M[32] += Mtmp1*Mtmp28; -M[33] += Mtmp19*Mtmp29; -M[34] += -Mtmp30*Mtmp31; -M[35] += -Mtmp1*Mtmp32; -M[36] += -Mtmp2*Mtmp32; -M[37] += -Mtmp21*Mtmp33; -M[38] += -Mtmp20*Mtmp8; -M[39] += -Mtmp23*Mtmp33; -M[40] += -Mtmp34*Mtmp35; -M[41] += -Mtmp22*Mtmp36; -M[42] += -Mtmp22*Mtmp37; -M[43] += -Mtmp35*Mtmp38; -M[44] += -Mtmp25*Mtmp39; -M[45] += -Mtmp26*Mtmp6; -M[46] += -Mtmp27*Mtmp40; -M[47] += -Mtmp28*Mtmp5; -M[48] += -Mtmp29*Mtmp39; -M[49] += -Mtmp31*Mtmp41; -M[50] += -Mtmp2*Mtmp42; -M[51] += -Mtmp23*Mtmp34; -M[52] += -Mtmp21*Mtmp38; -M[53] += -Mtmp1*Mtmp43; -M[54] += -Mtmp31*Mtmp44; -M[55] += Mtmp45*pow(x, 6); -M[56] += Mtmp1*Mtmp46; -M[57] += Mtmp2*Mtmp46; -M[58] += Mtmp21*Mtmp47; -M[59] += Mtmp32*Mtmp8; -M[60] += Mtmp23*Mtmp47; -M[61] += Mtmp14*Mtmp48; -M[62] += Mtmp33*Mtmp36; -M[63] += Mtmp33*Mtmp37; -M[64] += Mtmp17*Mtmp48; -M[65] += Mtmp25*Mtmp49; -M[66] += Mtmp2*Mtmp3*Mtmp34; -M[67] += (1.0/8.0)*Mtmp21*Mtmp3*Mtmp9; -M[68] += Mtmp1*Mtmp3*Mtmp38; -M[69] += Mtmp29*Mtmp49; -M[70] += Mtmp41*Mtmp50; -M[71] += Mtmp42*Mtmp6; -M[72] += Mtmp0*Mtmp34*Mtmp9; -M[73] += Mtmp38*Mtmp40; -M[74] += Mtmp43*Mtmp5; -M[75] += Mtmp44*Mtmp50; -M[76] += Mtmp45*pow(y, 6); -M[77] += (1.0/120.0)*Mtmp2*Mtmp41; -M[78] += (1.0/48.0)*Mtmp23*Mtmp25; -M[79] += (1.0/36.0)*Mtmp14*Mtmp17*q; -M[80] += (1.0/48.0)*Mtmp21*Mtmp29; -M[81] += (1.0/120.0)*Mtmp1*Mtmp44; -M[82] += Mtmp45*pow(z, 6); - -} -void M2M_6(double x, double y, double z, double * M, double * Ms) { -double Mstmp0 = x*M[0]; -double Mstmp1 = x*M[1]; -double Mstmp2 = y*M[0]; -double Mstmp3 = x*M[2]; -double Mstmp4 = z*M[0]; -double Mstmp5 = y*M[1]; -double Mstmp6 = y*M[2]; -double Mstmp7 = z*M[1]; -double Mstmp8 = z*M[2]; -double Mstmp9 = x*M[3]; -double Mstmp10 = pow(x, 2); -double Mstmp11 = (1.0/2.0)*Mstmp10; -double Mstmp12 = x*M[4]; -double Mstmp13 = y*M[3]; -double Mstmp14 = Mstmp0*y; -double Mstmp15 = x*M[5]; -double Mstmp16 = z*M[3]; -double Mstmp17 = Mstmp0*z; -double Mstmp18 = x*M[6]; -double Mstmp19 = y*M[4]; -double Mstmp20 = Mstmp1*y; -double Mstmp21 = pow(y, 2); -double Mstmp22 = (1.0/2.0)*M[0]; -double Mstmp23 = x*M[7]; -double Mstmp24 = y*M[5]; -double Mstmp25 = z*M[4]; -double Mstmp26 = Mstmp3*y; -double Mstmp27 = Mstmp1*z; -double Mstmp28 = Mstmp2*z; -double Mstmp29 = x*M[8]; -double Mstmp30 = z*M[5]; -double Mstmp31 = Mstmp3*z; -double Mstmp32 = pow(z, 2); -double Mstmp33 = y*M[6]; -double Mstmp34 = (1.0/2.0)*Mstmp21; -double Mstmp35 = y*M[7]; -double Mstmp36 = z*M[6]; -double Mstmp37 = Mstmp5*z; -double Mstmp38 = y*M[8]; -double Mstmp39 = z*M[7]; -double Mstmp40 = Mstmp6*z; -double Mstmp41 = (1.0/2.0)*Mstmp32; -double Mstmp42 = z*M[8]; -double Mstmp43 = x*M[9]; -double Mstmp44 = pow(x, 3); -double Mstmp45 = (1.0/6.0)*Mstmp44; -double Mstmp46 = x*M[10]; -double Mstmp47 = y*M[9]; -double Mstmp48 = Mstmp9*y; -double Mstmp49 = x*M[11]; -double Mstmp50 = z*M[9]; -double Mstmp51 = Mstmp9*z; -double Mstmp52 = x*M[12]; -double Mstmp53 = y*M[10]; -double Mstmp54 = Mstmp12*y; -double Mstmp55 = x*M[13]; -double Mstmp56 = y*M[11]; -double Mstmp57 = z*M[10]; -double Mstmp58 = Mstmp15*y; -double Mstmp59 = Mstmp12*z; -double Mstmp60 = Mstmp13*z; -double Mstmp61 = x*M[14]; -double Mstmp62 = z*M[11]; -double Mstmp63 = Mstmp15*z; -double Mstmp64 = x*M[15]; -double Mstmp65 = y*M[12]; -double Mstmp66 = Mstmp18*y; -double Mstmp67 = pow(y, 3); -double Mstmp68 = (1.0/6.0)*M[0]; -double Mstmp69 = x*M[16]; -double Mstmp70 = y*M[13]; -double Mstmp71 = z*M[12]; -double Mstmp72 = Mstmp23*y; -double Mstmp73 = Mstmp18*z; -double Mstmp74 = Mstmp19*z; -double Mstmp75 = x*M[17]; -double Mstmp76 = y*M[14]; -double Mstmp77 = z*M[13]; -double Mstmp78 = Mstmp29*y; -double Mstmp79 = Mstmp23*z; -double Mstmp80 = Mstmp24*z; -double Mstmp81 = x*M[18]; -double Mstmp82 = z*M[14]; -double Mstmp83 = Mstmp29*z; -double Mstmp84 = pow(z, 3); -double Mstmp85 = y*M[15]; -double Mstmp86 = (1.0/6.0)*Mstmp67; -double Mstmp87 = y*M[16]; -double Mstmp88 = z*M[15]; -double Mstmp89 = Mstmp33*z; -double Mstmp90 = y*M[17]; -double Mstmp91 = z*M[16]; -double Mstmp92 = Mstmp35*z; -double Mstmp93 = y*M[18]; -double Mstmp94 = z*M[17]; -double Mstmp95 = Mstmp38*z; -double Mstmp96 = (1.0/6.0)*Mstmp84; -double Mstmp97 = z*M[18]; -double Mstmp98 = x*M[19]; -double Mstmp99 = (1.0/24.0)*pow(x, 4); -double Mstmp100 = x*M[20]; -double Mstmp101 = y*M[19]; -double Mstmp102 = Mstmp43*y; -double Mstmp103 = x*M[21]; -double Mstmp104 = x*M[22]; -double Mstmp105 = y*M[20]; -double Mstmp106 = Mstmp46*y; -double Mstmp107 = (1.0/4.0)*Mstmp10; -double Mstmp108 = Mstmp21*M[0]; -double Mstmp109 = x*M[23]; -double Mstmp110 = y*M[21]; -double Mstmp111 = Mstmp49*y; -double Mstmp112 = x*M[24]; -double Mstmp113 = Mstmp107*Mstmp32; -double Mstmp114 = x*M[25]; -double Mstmp115 = y*M[22]; -double Mstmp116 = Mstmp52*y; -double Mstmp117 = Mstmp107*Mstmp21; -double Mstmp118 = x*M[26]; -double Mstmp119 = y*M[23]; -double Mstmp120 = Mstmp55*y; -double Mstmp121 = x*M[27]; -double Mstmp122 = y*M[24]; -double Mstmp123 = Mstmp61*y; -double Mstmp124 = x*M[28]; -double Mstmp125 = x*M[29]; -double Mstmp126 = y*M[25]; -double Mstmp127 = Mstmp64*y; -double Mstmp128 = pow(y, 4); -double Mstmp129 = (1.0/24.0)*M[0]; -double Mstmp130 = x*M[30]; -double Mstmp131 = y*M[26]; -double Mstmp132 = Mstmp69*y; -double Mstmp133 = x*M[31]; -double Mstmp134 = y*M[27]; -double Mstmp135 = Mstmp75*y; -double Mstmp136 = (1.0/4.0)*Mstmp32; -double Mstmp137 = x*M[32]; -double Mstmp138 = y*M[28]; -double Mstmp139 = Mstmp81*y; -double Mstmp140 = x*M[33]; -double Mstmp141 = pow(z, 4); -double Mstmp142 = y*M[29]; -double Mstmp143 = (1.0/24.0)*Mstmp128; -double Mstmp144 = y*M[30]; -double Mstmp145 = y*M[31]; -double Mstmp146 = Mstmp136*Mstmp21; -double Mstmp147 = y*M[32]; -double Mstmp148 = y*M[33]; -double Mstmp149 = (1.0/24.0)*Mstmp141; -double Mstmp150 = (1.0/120.0)*pow(x, 5); -double Mstmp151 = (1.0/12.0)*Mstmp44; -double Mstmp152 = Mstmp151*Mstmp32; -double Mstmp153 = (1.0/12.0)*Mstmp10; -double Mstmp154 = Mstmp153*M[0]; -double Mstmp155 = Mstmp151*Mstmp21; -double Mstmp156 = Mstmp153*Mstmp67; -double Mstmp157 = Mstmp153*Mstmp84; -double Mstmp158 = pow(y, 5); -double Mstmp159 = (1.0/120.0)*M[0]; -double Mstmp160 = (1.0/12.0)*Mstmp32*Mstmp67; -double Mstmp161 = (1.0/12.0)*Mstmp84; -double Mstmp162 = pow(z, 5); -double Mstmp163 = (1.0/120.0)*Mstmp158; -double Mstmp164 = Mstmp161*Mstmp21; -double Mstmp165 = (1.0/120.0)*Mstmp162; -#pragma omp atomic -Ms[0] += M[0]; -#pragma omp atomic -Ms[1] += M[1]; -#pragma omp atomic -Ms[2] += M[2]; -#pragma omp atomic -Ms[3] += Mstmp0 + M[3]; -#pragma omp atomic -Ms[4] += Mstmp1 + Mstmp2 + M[4]; -#pragma omp atomic -Ms[5] += Mstmp3 + Mstmp4 + M[5]; -#pragma omp atomic -Ms[6] += Mstmp5 + M[6]; -#pragma omp atomic -Ms[7] += Mstmp6 + Mstmp7 + M[7]; -#pragma omp atomic -Ms[8] += Mstmp8 + M[8]; -#pragma omp atomic -Ms[9] += Mstmp11*M[0] + Mstmp9 + M[9]; -#pragma omp atomic -Ms[10] += Mstmp11*M[1] + Mstmp12 + Mstmp13 + Mstmp14 + M[10]; -#pragma omp atomic -Ms[11] += Mstmp11*M[2] + Mstmp15 + Mstmp16 + Mstmp17 + M[11]; -#pragma omp atomic -Ms[12] += Mstmp18 + Mstmp19 + Mstmp20 + Mstmp21*Mstmp22 + M[12]; -#pragma omp atomic -Ms[13] += Mstmp23 + Mstmp24 + Mstmp25 + Mstmp26 + Mstmp27 + Mstmp28 + M[13]; -#pragma omp atomic -Ms[14] += Mstmp22*Mstmp32 + Mstmp29 + Mstmp30 + Mstmp31 + M[14]; -#pragma omp atomic -Ms[15] += Mstmp33 + Mstmp34*M[1] + M[15]; -#pragma omp atomic -Ms[16] += Mstmp34*M[2] + Mstmp35 + Mstmp36 + Mstmp37 + M[16]; -#pragma omp atomic -Ms[17] += Mstmp38 + Mstmp39 + Mstmp40 + Mstmp41*M[1] + M[17]; -#pragma omp atomic -Ms[18] += Mstmp41*M[2] + Mstmp42 + M[18]; -#pragma omp atomic -Ms[19] += Mstmp11*M[3] + Mstmp43 + Mstmp45*M[0] + M[19]; -#pragma omp atomic -Ms[20] += Mstmp11*Mstmp2 + Mstmp11*M[4] + Mstmp45*M[1] + Mstmp46 + Mstmp47 + Mstmp48 + M[20]; -#pragma omp atomic -Ms[21] += Mstmp11*Mstmp4 + Mstmp11*M[5] + Mstmp45*M[2] + Mstmp49 + Mstmp50 + Mstmp51 + M[21]; -#pragma omp atomic -Ms[22] += Mstmp0*Mstmp34 + Mstmp11*Mstmp5 + Mstmp11*M[6] + Mstmp34*M[3] + Mstmp52 + Mstmp53 + Mstmp54 + M[22]; -#pragma omp atomic -Ms[23] += Mstmp11*Mstmp6 + Mstmp11*Mstmp7 + Mstmp11*M[7] + Mstmp14*z + Mstmp55 + Mstmp56 + Mstmp57 + Mstmp58 + Mstmp59 + Mstmp60 + M[23]; -#pragma omp atomic -Ms[24] += Mstmp0*Mstmp41 + Mstmp11*Mstmp8 + Mstmp11*M[8] + Mstmp41*M[3] + Mstmp61 + Mstmp62 + Mstmp63 + M[24]; -#pragma omp atomic -Ms[25] += Mstmp1*Mstmp34 + Mstmp34*M[4] + Mstmp64 + Mstmp65 + Mstmp66 + Mstmp67*Mstmp68 + M[25]; -#pragma omp atomic -Ms[26] += Mstmp20*z + Mstmp3*Mstmp34 + Mstmp34*Mstmp4 + Mstmp34*M[5] + Mstmp69 + Mstmp70 + Mstmp71 + Mstmp72 + Mstmp73 + Mstmp74 + M[26]; -#pragma omp atomic -Ms[27] += Mstmp1*Mstmp41 + Mstmp2*Mstmp41 + Mstmp26*z + Mstmp41*M[4] + Mstmp75 + Mstmp76 + Mstmp77 + Mstmp78 + Mstmp79 + Mstmp80 + M[27]; -#pragma omp atomic -Ms[28] += Mstmp3*Mstmp41 + Mstmp41*M[5] + Mstmp68*Mstmp84 + Mstmp81 + Mstmp82 + Mstmp83 + M[28]; -#pragma omp atomic -Ms[29] += Mstmp34*M[6] + Mstmp85 + Mstmp86*M[1] + M[29]; -#pragma omp atomic -Ms[30] += Mstmp34*Mstmp7 + Mstmp34*M[7] + Mstmp86*M[2] + Mstmp87 + Mstmp88 + Mstmp89 + M[30]; -#pragma omp atomic -Ms[31] += Mstmp34*Mstmp8 + Mstmp34*M[8] + Mstmp41*Mstmp5 + Mstmp41*M[6] + Mstmp90 + Mstmp91 + Mstmp92 + M[31]; -#pragma omp atomic -Ms[32] += Mstmp41*Mstmp6 + Mstmp41*M[7] + Mstmp93 + Mstmp94 + Mstmp95 + Mstmp96*M[1] + M[32]; -#pragma omp atomic -Ms[33] += Mstmp41*M[8] + Mstmp96*M[2] + Mstmp97 + M[33]; -#pragma omp atomic -Ms[34] += Mstmp11*M[9] + Mstmp45*M[3] + Mstmp98 + Mstmp99*M[0] + M[34]; -#pragma omp atomic -Ms[35] += Mstmp100 + Mstmp101 + Mstmp102 + Mstmp11*Mstmp13 + Mstmp11*M[10] + Mstmp2*Mstmp45 + Mstmp45*M[4] + Mstmp99*M[1] + M[35]; -#pragma omp atomic -Ms[36] += Mstmp103 + Mstmp11*Mstmp16 + Mstmp11*M[11] + Mstmp4*Mstmp45 + Mstmp43*z + Mstmp45*M[5] + Mstmp99*M[2] + z*M[19] + M[36]; -#pragma omp atomic -Ms[37] += Mstmp104 + Mstmp105 + Mstmp106 + Mstmp107*Mstmp108 + Mstmp11*Mstmp19 + Mstmp11*M[12] + Mstmp34*Mstmp9 + Mstmp34*M[9] + Mstmp45*Mstmp5 + Mstmp45*M[6] + M[37]; -#pragma omp atomic -Ms[38] += Mstmp109 + Mstmp11*Mstmp24 + Mstmp11*Mstmp25 + Mstmp11*Mstmp28 + Mstmp11*M[13] + Mstmp110 + Mstmp111 + Mstmp45*Mstmp6 + Mstmp45*Mstmp7 + Mstmp45*M[7] + Mstmp46*z + Mstmp47*z + Mstmp48*z + z*M[20] + M[38]; -#pragma omp atomic -Ms[39] += Mstmp11*Mstmp30 + Mstmp11*M[14] + Mstmp112 + Mstmp113*M[0] + Mstmp41*Mstmp9 + Mstmp41*M[9] + Mstmp45*Mstmp8 + Mstmp45*M[8] + Mstmp49*z + z*M[21] + M[39]; -#pragma omp atomic -Ms[40] += Mstmp0*Mstmp86 + Mstmp11*Mstmp33 + Mstmp11*M[15] + Mstmp114 + Mstmp115 + Mstmp116 + Mstmp117*M[1] + Mstmp12*Mstmp34 + Mstmp34*M[10] + Mstmp86*M[3] + M[40]; -#pragma omp atomic -Ms[41] += Mstmp11*Mstmp35 + Mstmp11*Mstmp36 + Mstmp11*Mstmp37 + Mstmp11*M[16] + Mstmp117*M[2] + Mstmp118 + Mstmp119 + Mstmp120 + Mstmp15*Mstmp34 + Mstmp16*Mstmp34 + Mstmp17*Mstmp34 + Mstmp34*M[11] + Mstmp52*z + Mstmp53*z + Mstmp54*z + z*M[22] + M[41]; -#pragma omp atomic -Ms[42] += Mstmp11*Mstmp38 + Mstmp11*Mstmp39 + Mstmp11*Mstmp40 + Mstmp11*M[17] + Mstmp113*M[1] + Mstmp12*Mstmp41 + Mstmp121 + Mstmp122 + Mstmp123 + Mstmp13*Mstmp41 + Mstmp14*Mstmp41 + Mstmp41*M[10] + Mstmp55*z + Mstmp56*z + Mstmp58*z + z*M[23] + M[42]; -#pragma omp atomic -Ms[43] += Mstmp0*Mstmp96 + Mstmp11*Mstmp42 + Mstmp11*M[18] + Mstmp113*M[2] + Mstmp124 + Mstmp15*Mstmp41 + Mstmp41*M[11] + Mstmp61*z + Mstmp96*M[3] + z*M[24] + M[43]; -#pragma omp atomic -Ms[44] += Mstmp1*Mstmp86 + Mstmp125 + Mstmp126 + Mstmp127 + Mstmp128*Mstmp129 + Mstmp18*Mstmp34 + Mstmp34*M[12] + Mstmp86*M[4] + M[44]; -#pragma omp atomic -Ms[45] += Mstmp130 + Mstmp131 + Mstmp132 + Mstmp23*Mstmp34 + Mstmp25*Mstmp34 + Mstmp27*Mstmp34 + Mstmp3*Mstmp86 + Mstmp34*M[13] + Mstmp4*Mstmp86 + Mstmp64*z + Mstmp65*z + Mstmp66*z + Mstmp86*M[5] + z*M[25] + M[45]; -#pragma omp atomic -Ms[46] += Mstmp108*Mstmp136 + Mstmp133 + Mstmp134 + Mstmp135 + Mstmp18*Mstmp41 + Mstmp19*Mstmp41 + Mstmp20*Mstmp41 + Mstmp29*Mstmp34 + Mstmp30*Mstmp34 + Mstmp31*Mstmp34 + Mstmp34*M[14] + Mstmp41*M[12] + Mstmp69*z + Mstmp70*z + Mstmp72*z + z*M[26] + M[46]; -#pragma omp atomic -Ms[47] += Mstmp1*Mstmp96 + Mstmp137 + Mstmp138 + Mstmp139 + Mstmp2*Mstmp96 + Mstmp23*Mstmp41 + Mstmp24*Mstmp41 + Mstmp26*Mstmp41 + Mstmp41*M[13] + Mstmp75*z + Mstmp76*z + Mstmp78*z + Mstmp96*M[4] + z*M[27] + M[47]; -#pragma omp atomic -Ms[48] += Mstmp129*Mstmp141 + Mstmp140 + Mstmp29*Mstmp41 + Mstmp3*Mstmp96 + Mstmp41*M[14] + Mstmp81*z + Mstmp96*M[5] + z*M[28] + M[48]; -#pragma omp atomic -Ms[49] += Mstmp142 + Mstmp143*M[1] + Mstmp34*M[15] + Mstmp86*M[6] + M[49]; -#pragma omp atomic -Ms[50] += Mstmp143*M[2] + Mstmp144 + Mstmp34*Mstmp36 + Mstmp34*M[16] + Mstmp7*Mstmp86 + Mstmp85*z + Mstmp86*M[7] + z*M[29] + M[50]; -#pragma omp atomic -Ms[51] += Mstmp145 + Mstmp146*M[1] + Mstmp33*Mstmp41 + Mstmp34*Mstmp39 + Mstmp34*M[17] + Mstmp41*M[15] + Mstmp8*Mstmp86 + Mstmp86*M[8] + Mstmp87*z + z*M[30] + M[51]; -#pragma omp atomic -Ms[52] += Mstmp146*M[2] + Mstmp147 + Mstmp34*Mstmp42 + Mstmp34*M[18] + Mstmp35*Mstmp41 + Mstmp41*M[16] + Mstmp5*Mstmp96 + Mstmp90*z + Mstmp96*M[6] + z*M[31] + M[52]; -#pragma omp atomic -Ms[53] += Mstmp148 + Mstmp149*M[1] + Mstmp38*Mstmp41 + Mstmp41*M[17] + Mstmp6*Mstmp96 + Mstmp93*z + Mstmp96*M[7] + z*M[32] + M[53]; -#pragma omp atomic -Ms[54] += Mstmp149*M[2] + Mstmp41*M[18] + Mstmp96*M[8] + z*M[33] + M[54]; -#pragma omp atomic -Ms[55] += Mstmp11*M[19] + Mstmp150*M[0] + Mstmp45*M[9] + Mstmp99*M[3] + x*M[34] + M[55]; -#pragma omp atomic -Ms[56] += Mstmp11*Mstmp47 + Mstmp11*M[20] + Mstmp13*Mstmp45 + Mstmp150*M[1] + Mstmp2*Mstmp99 + Mstmp45*M[10] + Mstmp98*y + Mstmp99*M[4] + x*M[35] + y*M[34] + M[56]; -#pragma omp atomic -Ms[57] += Mstmp11*Mstmp50 + Mstmp11*M[21] + Mstmp150*M[2] + Mstmp16*Mstmp45 + Mstmp4*Mstmp99 + Mstmp45*M[11] + Mstmp98*z + Mstmp99*M[5] + x*M[36] + z*M[34] + M[57]; -#pragma omp atomic -Ms[58] += Mstmp100*y + Mstmp108*Mstmp151 + Mstmp11*Mstmp53 + Mstmp11*M[22] + Mstmp117*M[3] + Mstmp19*Mstmp45 + Mstmp34*Mstmp43 + Mstmp34*M[19] + Mstmp45*M[12] + Mstmp5*Mstmp99 + Mstmp99*M[6] + x*M[37] + y*M[35] + M[58]; -#pragma omp atomic -Ms[59] += Mstmp100*z + Mstmp101*z + Mstmp102*z + Mstmp103*y + Mstmp11*Mstmp56 + Mstmp11*Mstmp57 + Mstmp11*Mstmp60 + Mstmp11*M[23] + Mstmp24*Mstmp45 + Mstmp25*Mstmp45 + Mstmp28*Mstmp45 + Mstmp45*M[13] + Mstmp6*Mstmp99 + Mstmp7*Mstmp99 + Mstmp99*M[7] + x*M[38] + y*M[36] + z*M[35] + M[59]; -#pragma omp atomic -Ms[60] += Mstmp103*z + Mstmp11*Mstmp62 + Mstmp11*M[24] + Mstmp113*M[3] + Mstmp152*M[0] + Mstmp30*Mstmp45 + Mstmp41*Mstmp43 + Mstmp41*M[19] + Mstmp45*M[14] + Mstmp8*Mstmp99 + Mstmp99*M[8] + x*M[39] + z*M[36] + M[60]; -#pragma omp atomic -Ms[61] += Mstmp104*y + Mstmp11*Mstmp65 + Mstmp11*M[25] + Mstmp117*M[4] + Mstmp154*Mstmp67 + Mstmp155*M[1] + Mstmp33*Mstmp45 + Mstmp34*Mstmp46 + Mstmp34*M[20] + Mstmp45*M[15] + Mstmp86*Mstmp9 + Mstmp86*M[9] + x*M[40] + y*M[37] + M[61]; -#pragma omp atomic -Ms[62] += Mstmp104*z + Mstmp105*z + Mstmp106*z + Mstmp109*y + Mstmp11*Mstmp70 + Mstmp11*Mstmp71 + Mstmp11*Mstmp74 + Mstmp11*M[26] + Mstmp117*Mstmp4 + Mstmp117*M[5] + Mstmp155*M[2] + Mstmp34*Mstmp49 + Mstmp34*Mstmp50 + Mstmp34*Mstmp51 + Mstmp34*M[21] + Mstmp35*Mstmp45 + Mstmp36*Mstmp45 + Mstmp37*Mstmp45 + Mstmp45*M[16] + x*M[41] + y*M[38] + z*M[37] + M[62]; -#pragma omp atomic -Ms[63] += Mstmp109*z + Mstmp11*Mstmp76 + Mstmp11*Mstmp77 + Mstmp11*Mstmp80 + Mstmp11*M[27] + Mstmp110*z + Mstmp111*z + Mstmp112*y + Mstmp113*Mstmp2 + Mstmp113*M[4] + Mstmp152*M[1] + Mstmp38*Mstmp45 + Mstmp39*Mstmp45 + Mstmp40*Mstmp45 + Mstmp41*Mstmp46 + Mstmp41*Mstmp47 + Mstmp41*Mstmp48 + Mstmp41*M[20] + Mstmp45*M[17] + x*M[42] + y*M[39] + z*M[38] + M[63]; -#pragma omp atomic -Ms[64] += Mstmp11*Mstmp82 + Mstmp11*M[28] + Mstmp112*z + Mstmp113*M[5] + Mstmp152*M[2] + Mstmp154*Mstmp84 + Mstmp41*Mstmp49 + Mstmp41*M[21] + Mstmp42*Mstmp45 + Mstmp45*M[18] + Mstmp9*Mstmp96 + Mstmp96*M[9] + x*M[43] + z*M[39] + M[64]; -#pragma omp atomic -Ms[65] += Mstmp0*Mstmp143 + Mstmp11*Mstmp85 + Mstmp11*M[29] + Mstmp114*y + Mstmp117*M[6] + Mstmp12*Mstmp86 + Mstmp143*M[3] + Mstmp156*M[1] + Mstmp34*Mstmp52 + Mstmp34*M[22] + Mstmp86*M[10] + x*M[44] + y*M[40] + M[65]; -#pragma omp atomic -Ms[66] += Mstmp11*Mstmp87 + Mstmp11*Mstmp88 + Mstmp11*Mstmp89 + Mstmp11*M[30] + Mstmp114*z + Mstmp115*z + Mstmp116*z + Mstmp117*Mstmp7 + Mstmp117*M[7] + Mstmp118*y + Mstmp15*Mstmp86 + Mstmp156*M[2] + Mstmp16*Mstmp86 + Mstmp17*Mstmp86 + Mstmp34*Mstmp55 + Mstmp34*Mstmp57 + Mstmp34*Mstmp59 + Mstmp34*M[23] + Mstmp86*M[11] + x*M[45] + y*M[41] + z*M[40] + M[66]; -#pragma omp atomic -Ms[67] += Mstmp0*Mstmp146 + Mstmp11*Mstmp90 + Mstmp11*Mstmp91 + Mstmp11*Mstmp92 + Mstmp11*M[31] + Mstmp113*Mstmp5 + Mstmp113*M[6] + Mstmp117*Mstmp8 + Mstmp117*M[8] + Mstmp118*z + Mstmp119*z + Mstmp120*z + Mstmp121*y + Mstmp146*M[3] + Mstmp34*Mstmp61 + Mstmp34*Mstmp62 + Mstmp34*Mstmp63 + Mstmp34*M[24] + Mstmp41*Mstmp52 + Mstmp41*Mstmp53 + Mstmp41*Mstmp54 + Mstmp41*M[22] + x*M[46] + y*M[42] + z*M[41] + M[67]; -#pragma omp atomic -Ms[68] += Mstmp11*Mstmp93 + Mstmp11*Mstmp94 + Mstmp11*Mstmp95 + Mstmp11*M[32] + Mstmp113*Mstmp6 + Mstmp113*M[7] + Mstmp12*Mstmp96 + Mstmp121*z + Mstmp122*z + Mstmp123*z + Mstmp124*y + Mstmp13*Mstmp96 + Mstmp14*Mstmp96 + Mstmp157*M[1] + Mstmp41*Mstmp55 + Mstmp41*Mstmp56 + Mstmp41*Mstmp58 + Mstmp41*M[23] + Mstmp96*M[10] + x*M[47] + y*M[43] + z*M[42] + M[68]; -#pragma omp atomic -Ms[69] += Mstmp0*Mstmp149 + Mstmp11*Mstmp97 + Mstmp11*M[33] + Mstmp113*M[8] + Mstmp124*z + Mstmp149*M[3] + Mstmp15*Mstmp96 + Mstmp157*M[2] + Mstmp41*Mstmp61 + Mstmp41*M[24] + Mstmp96*M[11] + x*M[48] + z*M[43] + M[69]; -#pragma omp atomic -Ms[70] += Mstmp1*Mstmp143 + Mstmp125*y + Mstmp143*M[4] + Mstmp158*Mstmp159 + Mstmp18*Mstmp86 + Mstmp34*Mstmp64 + Mstmp34*M[25] + Mstmp86*M[12] + x*M[49] + y*M[44] + M[70]; -#pragma omp atomic -Ms[71] += Mstmp125*z + Mstmp126*z + Mstmp127*z + Mstmp130*y + Mstmp143*Mstmp3 + Mstmp143*Mstmp4 + Mstmp143*M[5] + Mstmp23*Mstmp86 + Mstmp25*Mstmp86 + Mstmp27*Mstmp86 + Mstmp34*Mstmp69 + Mstmp34*Mstmp71 + Mstmp34*Mstmp73 + Mstmp34*M[26] + Mstmp86*M[13] + x*M[50] + y*M[45] + z*M[44] + M[71]; -#pragma omp atomic -Ms[72] += Mstmp1*Mstmp146 + Mstmp130*z + Mstmp131*z + Mstmp132*z + Mstmp133*y + Mstmp146*M[4] + Mstmp160*M[0] + Mstmp29*Mstmp86 + Mstmp30*Mstmp86 + Mstmp31*Mstmp86 + Mstmp34*Mstmp75 + Mstmp34*Mstmp77 + Mstmp34*Mstmp79 + Mstmp34*M[27] + Mstmp41*Mstmp64 + Mstmp41*Mstmp65 + Mstmp41*Mstmp66 + Mstmp41*M[25] + Mstmp86*M[14] + x*M[51] + y*M[46] + z*M[45] + M[72]; -#pragma omp atomic -Ms[73] += Mstmp108*Mstmp161 + Mstmp133*z + Mstmp134*z + Mstmp135*z + Mstmp137*y + Mstmp146*Mstmp3 + Mstmp146*M[5] + Mstmp18*Mstmp96 + Mstmp19*Mstmp96 + Mstmp20*Mstmp96 + Mstmp34*Mstmp81 + Mstmp34*Mstmp82 + Mstmp34*Mstmp83 + Mstmp34*M[28] + Mstmp41*Mstmp69 + Mstmp41*Mstmp70 + Mstmp41*Mstmp72 + Mstmp41*M[26] + Mstmp96*M[12] + x*M[52] + y*M[47] + z*M[46] + M[73]; -#pragma omp atomic -Ms[74] += Mstmp1*Mstmp149 + Mstmp137*z + Mstmp138*z + Mstmp139*z + Mstmp140*y + Mstmp149*Mstmp2 + Mstmp149*M[4] + Mstmp23*Mstmp96 + Mstmp24*Mstmp96 + Mstmp26*Mstmp96 + Mstmp41*Mstmp75 + Mstmp41*Mstmp76 + Mstmp41*Mstmp78 + Mstmp41*M[27] + Mstmp96*M[13] + x*M[53] + y*M[48] + z*M[47] + M[74]; -#pragma omp atomic -Ms[75] += Mstmp140*z + Mstmp149*Mstmp3 + Mstmp149*M[5] + Mstmp159*Mstmp162 + Mstmp29*Mstmp96 + Mstmp41*Mstmp81 + Mstmp41*M[28] + Mstmp96*M[14] + x*M[54] + z*M[48] + M[75]; -#pragma omp atomic -Ms[76] += Mstmp143*M[6] + Mstmp163*M[1] + Mstmp34*M[29] + Mstmp86*M[15] + y*M[49] + M[76]; -#pragma omp atomic -Ms[77] += Mstmp142*z + Mstmp143*Mstmp7 + Mstmp143*M[7] + Mstmp163*M[2] + Mstmp34*Mstmp88 + Mstmp34*M[30] + Mstmp36*Mstmp86 + Mstmp86*M[16] + y*M[50] + z*M[49] + M[77]; -#pragma omp atomic -Ms[78] += Mstmp143*Mstmp8 + Mstmp143*M[8] + Mstmp144*z + Mstmp146*M[6] + Mstmp160*M[1] + Mstmp34*Mstmp91 + Mstmp34*M[31] + Mstmp39*Mstmp86 + Mstmp41*Mstmp85 + Mstmp41*M[29] + Mstmp86*M[17] + y*M[51] + z*M[50] + M[78]; -#pragma omp atomic -Ms[79] += Mstmp145*z + Mstmp146*M[7] + Mstmp160*M[2] + Mstmp164*M[1] + Mstmp33*Mstmp96 + Mstmp34*Mstmp94 + Mstmp34*M[32] + Mstmp41*Mstmp87 + Mstmp41*M[30] + Mstmp42*Mstmp86 + Mstmp86*M[18] + Mstmp96*M[15] + y*M[52] + z*M[51] + M[79]; -#pragma omp atomic -Ms[80] += Mstmp146*M[8] + Mstmp147*z + Mstmp149*Mstmp5 + Mstmp149*M[6] + Mstmp164*M[2] + Mstmp34*Mstmp97 + Mstmp34*M[33] + Mstmp35*Mstmp96 + Mstmp41*Mstmp90 + Mstmp41*M[31] + Mstmp96*M[16] + y*M[53] + z*M[52] + M[80]; -#pragma omp atomic -Ms[81] += Mstmp148*z + Mstmp149*Mstmp6 + Mstmp149*M[7] + Mstmp165*M[1] + Mstmp38*Mstmp96 + Mstmp41*Mstmp93 + Mstmp41*M[32] + Mstmp96*M[17] + y*M[54] + z*M[53] + M[81]; -#pragma omp atomic -Ms[82] += Mstmp149*M[8] + Mstmp165*M[2] + Mstmp41*M[33] + Mstmp96*M[18] + z*M[54] + M[82]; - -} - -void M2L_6(double x, double y, double z, double * M, double * L) { -double R = sqrt(x*x + y*y + z*z); -double D[83]; -double Dtmp0 = pow(R, -3); -double Dtmp1 = 1.0*Dtmp0; -double Dtmp2 = pow(x, 2); -double Dtmp3 = pow(R, -2); -double Dtmp4 = 3.0*Dtmp3; -double Dtmp5 = pow(R, -5); -double Dtmp6 = Dtmp5*x; -double Dtmp7 = 3.0*Dtmp6; -double Dtmp8 = pow(y, 2); -double Dtmp9 = Dtmp5*y; -double Dtmp10 = 15.0*Dtmp3; -double Dtmp11 = -Dtmp10*Dtmp2; -double Dtmp12 = Dtmp11 + 3.0; -double Dtmp13 = Dtmp12*Dtmp5; -double Dtmp14 = -Dtmp10*Dtmp8; -double Dtmp15 = Dtmp14 + 3.0; -double Dtmp16 = pow(R, -7); -double Dtmp17 = Dtmp16*x; -double Dtmp18 = pow(x, 4); -double Dtmp19 = pow(R, -4); -double Dtmp20 = 105.0*Dtmp19; -double Dtmp21 = Dtmp2*Dtmp3; -double Dtmp22 = -105.0*Dtmp21; -double Dtmp23 = Dtmp22 + 45.0; -double Dtmp24 = Dtmp17*Dtmp23; -double Dtmp25 = Dtmp2*Dtmp8; -double Dtmp26 = Dtmp22 + 15.0; -double Dtmp27 = Dtmp16*y; -double Dtmp28 = Dtmp27*z; -double Dtmp29 = Dtmp3*Dtmp8; -double Dtmp30 = -105.0*Dtmp29; -double Dtmp31 = Dtmp30 + 45.0; -double Dtmp32 = 1.0*Dtmp17; -double Dtmp33 = pow(y, 4); -double Dtmp34 = 945.0*Dtmp19; -double Dtmp35 = Dtmp18*Dtmp34; -double Dtmp36 = 630.0*Dtmp21; -double Dtmp37 = Dtmp16*(Dtmp35 - Dtmp36 + 45.0); -double Dtmp38 = 315.0*Dtmp29; -double Dtmp39 = Dtmp25*Dtmp34; -double Dtmp40 = 315.0 - 945.0*Dtmp21; -double Dtmp41 = pow(R, -9); -double Dtmp42 = Dtmp41*y; -double Dtmp43 = Dtmp42*z; -double Dtmp44 = Dtmp43*x; -double Dtmp45 = 315.0*Dtmp21; -double Dtmp46 = Dtmp16*z; -double Dtmp47 = Dtmp33*Dtmp34; -double Dtmp48 = 630.0*Dtmp29; -double Dtmp49 = Dtmp47 - Dtmp48 + 45.0; -double Dtmp50 = 315.0 - 945.0*Dtmp29; -double Dtmp51 = 10395.0/pow(R, 6); -double Dtmp52 = Dtmp18*Dtmp19; -double Dtmp53 = 10395.0*Dtmp52; -double Dtmp54 = x*(-9450.0*Dtmp21 + Dtmp53 + 1575.0); -double Dtmp55 = Dtmp41*z; -double Dtmp56 = Dtmp19*Dtmp25; -double Dtmp57 = -5670.0*Dtmp56 - 45.0; -double Dtmp58 = -2835.0*Dtmp21; -double Dtmp59 = 10395.0*Dtmp56; -double Dtmp60 = -2835.0*Dtmp29 + Dtmp59; -double Dtmp61 = Dtmp42*x; -double Dtmp62 = Dtmp55*x; -double Dtmp63 = Dtmp19*Dtmp33; -double Dtmp64 = 10395.0*Dtmp63; -double Dtmp65 = -9450.0*Dtmp29 + Dtmp64 + 1575.0; -D[0] = -Dtmp1*x; -D[1] = -Dtmp1*y; -D[2] = -Dtmp1*z; -D[3] = Dtmp0*(Dtmp2*Dtmp4 - 1.0); -D[4] = Dtmp7*y; -D[5] = Dtmp7*z; -D[6] = Dtmp0*(Dtmp4*Dtmp8 - 1.0); -D[7] = 3.0*Dtmp9*z; -D[8] = -D[3] - D[6]; -D[9] = Dtmp6*(Dtmp11 + 9.0); -D[10] = Dtmp13*y; -D[11] = Dtmp13*z; -D[12] = 1.0*Dtmp15*Dtmp6; -D[13] = -15.0*Dtmp17*y*z; -D[14] = -D[9] - D[12]; -D[15] = Dtmp9*(Dtmp14 + 9.0); -D[16] = Dtmp15*Dtmp5*z; -D[17] = -D[10] - D[15]; -D[18] = -D[11] - D[16]; -D[19] = Dtmp5*(Dtmp18*Dtmp20 - 90.0*Dtmp21 + 9.0); -D[20] = -Dtmp24*y; -D[21] = -Dtmp24*z; -D[22] = Dtmp5*(Dtmp12 + Dtmp14 + Dtmp20*Dtmp25); -D[23] = -Dtmp26*Dtmp28; -D[24] = -D[19] - D[22]; -D[25] = -Dtmp31*Dtmp32*y; -D[26] = -Dtmp32*z*(Dtmp30 + 15.0); -D[27] = -D[20] - D[25]; -D[28] = -D[21] - D[26]; -D[29] = Dtmp5*(Dtmp20*Dtmp33 - 90.0*Dtmp29 + 9.0); -D[30] = -Dtmp28*Dtmp31; -D[31] = -D[22] - D[29]; -D[32] = -D[23] - D[30]; -D[33] = -D[24] - D[31]; -D[34] = -Dtmp17*(-1050.0*Dtmp21 + Dtmp35 + 225.0); -D[35] = -Dtmp37*y; -D[36] = -Dtmp37*z; -D[37] = -Dtmp17*(Dtmp23 - Dtmp38 + Dtmp39); -D[38] = Dtmp40*Dtmp44; -D[39] = -D[34] - D[37]; -D[40] = -Dtmp27*(Dtmp31 + Dtmp39 - Dtmp45); -D[41] = -Dtmp46*(Dtmp26 + Dtmp30 + Dtmp39); -D[42] = -D[35] - D[40]; -D[43] = -D[36] - D[41]; -D[44] = -Dtmp32*Dtmp49; -D[45] = 1.0*Dtmp44*Dtmp50; -D[46] = -D[37] - D[44]; -D[47] = -D[38] - D[45]; -D[48] = -D[39] - D[46]; -D[49] = -Dtmp27*(-1050.0*Dtmp29 + Dtmp47 + 225.0); -D[50] = -Dtmp46*Dtmp49; -D[51] = -D[40] - D[49]; -D[52] = -D[41] - D[50]; -D[53] = -D[42] - D[51]; -D[54] = -D[43] - D[52]; -D[55] = Dtmp16*(4725.0*Dtmp21 + Dtmp51*pow(x, 6) - 14175.0*Dtmp52 - 225.0); -D[56] = Dtmp42*Dtmp54; -D[57] = Dtmp54*Dtmp55; -D[58] = Dtmp16*(Dtmp18*Dtmp51*Dtmp8 - Dtmp35 + Dtmp36 + Dtmp38 + Dtmp57); -D[59] = Dtmp43*(-5670.0*Dtmp21 + Dtmp53 + 315.0); -D[60] = -D[55] - D[58]; -D[61] = Dtmp61*(Dtmp58 + Dtmp60 + 945.0); -D[62] = Dtmp62*(Dtmp40 + Dtmp60); -D[63] = -D[56] - D[61]; -D[64] = -D[57] - D[62]; -D[65] = Dtmp16*(Dtmp2*Dtmp33*Dtmp51 + Dtmp45 - Dtmp47 + Dtmp48 + Dtmp57); -D[66] = Dtmp43*(Dtmp50 + Dtmp58 + Dtmp59); -D[67] = -D[58] - D[65]; -D[68] = -D[59] - D[66]; -D[69] = -D[60] - D[67]; -D[70] = 1.0*Dtmp61*Dtmp65; -D[71] = 1.0*Dtmp62*(-5670.0*Dtmp29 + Dtmp64 + 315.0); -D[72] = -D[61] - D[70]; -D[73] = -D[62] - D[71]; -D[74] = -D[63] - D[72]; -D[75] = -D[64] - D[73]; -D[76] = Dtmp16*(4725.0*Dtmp29 + Dtmp51*pow(y, 6) - 14175.0*Dtmp63 - 225.0); -D[77] = Dtmp43*Dtmp65; -D[78] = -D[65] - D[76]; -D[79] = -D[66] - D[77]; -D[80] = -D[67] - D[78]; -D[81] = -D[68] - D[79]; -D[82] = -D[69] - D[80]; -#pragma omp atomic -L[0] += D[0]*M[0] + D[1]*M[1] + D[2]*M[2] + D[3]*M[3] + D[4]*M[4] + D[5]*M[5] + D[6]*M[6] + D[7]*M[7] + D[8]*M[8] + D[9]*M[9] + D[10]*M[10] + D[11]*M[11] + D[12]*M[12] + D[13]*M[13] + D[14]*M[14] + D[15]*M[15] + D[16]*M[16] + D[17]*M[17] + D[18]*M[18] + D[19]*M[19] + D[20]*M[20] + D[21]*M[21] + D[22]*M[22] + D[23]*M[23] + D[24]*M[24] + D[25]*M[25] + D[26]*M[26] + D[27]*M[27] + D[28]*M[28] + D[29]*M[29] + D[30]*M[30] + D[31]*M[31] + D[32]*M[32] + D[33]*M[33] + D[34]*M[34] + D[35]*M[35] + D[36]*M[36] + D[37]*M[37] + D[38]*M[38] + D[39]*M[39] + D[40]*M[40] + D[41]*M[41] + D[42]*M[42] + D[43]*M[43] + D[44]*M[44] + D[45]*M[45] + D[46]*M[46] + D[47]*M[47] + D[48]*M[48] + D[49]*M[49] + D[50]*M[50] + D[51]*M[51] + D[52]*M[52] + D[53]*M[53] + D[54]*M[54] + D[55]*M[55] + D[56]*M[56] + D[57]*M[57] + D[58]*M[58] + D[59]*M[59] + D[60]*M[60] + D[61]*M[61] + D[62]*M[62] + D[63]*M[63] + D[64]*M[64] + D[65]*M[65] + D[66]*M[66] + D[67]*M[67] + D[68]*M[68] + D[69]*M[69] + D[70]*M[70] + D[71]*M[71] + D[72]*M[72] + D[73]*M[73] + D[74]*M[74] + D[75]*M[75] + D[76]*M[76] + D[77]*M[77] + D[78]*M[78] + D[79]*M[79] + D[80]*M[80] + D[81]*M[81] + D[82]*M[82]; -#pragma omp atomic -L[1] += D[3]*M[0] + D[4]*M[1] + D[5]*M[2] + D[9]*M[3] + D[10]*M[4] + D[11]*M[5] + D[12]*M[6] + D[13]*M[7] + D[14]*M[8] + D[19]*M[9] + D[20]*M[10] + D[21]*M[11] + D[22]*M[12] + D[23]*M[13] + D[24]*M[14] + D[25]*M[15] + D[26]*M[16] + D[27]*M[17] + D[28]*M[18] + D[34]*M[19] + D[35]*M[20] + D[36]*M[21] + D[37]*M[22] + D[38]*M[23] + D[39]*M[24] + D[40]*M[25] + D[41]*M[26] + D[42]*M[27] + D[43]*M[28] + D[44]*M[29] + D[45]*M[30] + D[46]*M[31] + D[47]*M[32] + D[48]*M[33] + D[55]*M[34] + D[56]*M[35] + D[57]*M[36] + D[58]*M[37] + D[59]*M[38] + D[60]*M[39] + D[61]*M[40] + D[62]*M[41] + D[63]*M[42] + D[64]*M[43] + D[65]*M[44] + D[66]*M[45] + D[67]*M[46] + D[68]*M[47] + D[69]*M[48] + D[70]*M[49] + D[71]*M[50] + D[72]*M[51] + D[73]*M[52] + D[74]*M[53] + D[75]*M[54]; -#pragma omp atomic -L[2] += D[4]*M[0] + D[6]*M[1] + D[7]*M[2] + D[10]*M[3] + D[12]*M[4] + D[13]*M[5] + D[15]*M[6] + D[16]*M[7] + D[17]*M[8] + D[20]*M[9] + D[22]*M[10] + D[23]*M[11] + D[25]*M[12] + D[26]*M[13] + D[27]*M[14] + D[29]*M[15] + D[30]*M[16] + D[31]*M[17] + D[32]*M[18] + D[35]*M[19] + D[37]*M[20] + D[38]*M[21] + D[40]*M[22] + D[41]*M[23] + D[42]*M[24] + D[44]*M[25] + D[45]*M[26] + D[46]*M[27] + D[47]*M[28] + D[49]*M[29] + D[50]*M[30] + D[51]*M[31] + D[52]*M[32] + D[53]*M[33] + D[56]*M[34] + D[58]*M[35] + D[59]*M[36] + D[61]*M[37] + D[62]*M[38] + D[63]*M[39] + D[65]*M[40] + D[66]*M[41] + D[67]*M[42] + D[68]*M[43] + D[70]*M[44] + D[71]*M[45] + D[72]*M[46] + D[73]*M[47] + D[74]*M[48] + D[76]*M[49] + D[77]*M[50] + D[78]*M[51] + D[79]*M[52] + D[80]*M[53] + D[81]*M[54]; -#pragma omp atomic -L[3] += D[5]*M[0] + D[7]*M[1] + D[8]*M[2] + D[11]*M[3] + D[13]*M[4] + D[14]*M[5] + D[16]*M[6] + D[17]*M[7] + D[18]*M[8] + D[21]*M[9] + D[23]*M[10] + D[24]*M[11] + D[26]*M[12] + D[27]*M[13] + D[28]*M[14] + D[30]*M[15] + D[31]*M[16] + D[32]*M[17] + D[33]*M[18] + D[36]*M[19] + D[38]*M[20] + D[39]*M[21] + D[41]*M[22] + D[42]*M[23] + D[43]*M[24] + D[45]*M[25] + D[46]*M[26] + D[47]*M[27] + D[48]*M[28] + D[50]*M[29] + D[51]*M[30] + D[52]*M[31] + D[53]*M[32] + D[54]*M[33] + D[57]*M[34] + D[59]*M[35] + D[60]*M[36] + D[62]*M[37] + D[63]*M[38] + D[64]*M[39] + D[66]*M[40] + D[67]*M[41] + D[68]*M[42] + D[69]*M[43] + D[71]*M[44] + D[72]*M[45] + D[73]*M[46] + D[74]*M[47] + D[75]*M[48] + D[77]*M[49] + D[78]*M[50] + D[79]*M[51] + D[80]*M[52] + D[81]*M[53] + D[82]*M[54]; -#pragma omp atomic -L[4] += D[9]*M[0] + D[10]*M[1] + D[11]*M[2] + D[19]*M[3] + D[20]*M[4] + D[21]*M[5] + D[22]*M[6] + D[23]*M[7] + D[24]*M[8] + D[34]*M[9] + D[35]*M[10] + D[36]*M[11] + D[37]*M[12] + D[38]*M[13] + D[39]*M[14] + D[40]*M[15] + D[41]*M[16] + D[42]*M[17] + D[43]*M[18] + D[55]*M[19] + D[56]*M[20] + D[57]*M[21] + D[58]*M[22] + D[59]*M[23] + D[60]*M[24] + D[61]*M[25] + D[62]*M[26] + D[63]*M[27] + D[64]*M[28] + D[65]*M[29] + D[66]*M[30] + D[67]*M[31] + D[68]*M[32] + D[69]*M[33]; -#pragma omp atomic -L[5] += D[10]*M[0] + D[12]*M[1] + D[13]*M[2] + D[20]*M[3] + D[22]*M[4] + D[23]*M[5] + D[25]*M[6] + D[26]*M[7] + D[27]*M[8] + D[35]*M[9] + D[37]*M[10] + D[38]*M[11] + D[40]*M[12] + D[41]*M[13] + D[42]*M[14] + D[44]*M[15] + D[45]*M[16] + D[46]*M[17] + D[47]*M[18] + D[56]*M[19] + D[58]*M[20] + D[59]*M[21] + D[61]*M[22] + D[62]*M[23] + D[63]*M[24] + D[65]*M[25] + D[66]*M[26] + D[67]*M[27] + D[68]*M[28] + D[70]*M[29] + D[71]*M[30] + D[72]*M[31] + D[73]*M[32] + D[74]*M[33]; -#pragma omp atomic -L[6] += D[11]*M[0] + D[13]*M[1] + D[14]*M[2] + D[21]*M[3] + D[23]*M[4] + D[24]*M[5] + D[26]*M[6] + D[27]*M[7] + D[28]*M[8] + D[36]*M[9] + D[38]*M[10] + D[39]*M[11] + D[41]*M[12] + D[42]*M[13] + D[43]*M[14] + D[45]*M[15] + D[46]*M[16] + D[47]*M[17] + D[48]*M[18] + D[57]*M[19] + D[59]*M[20] + D[60]*M[21] + D[62]*M[22] + D[63]*M[23] + D[64]*M[24] + D[66]*M[25] + D[67]*M[26] + D[68]*M[27] + D[69]*M[28] + D[71]*M[29] + D[72]*M[30] + D[73]*M[31] + D[74]*M[32] + D[75]*M[33]; -#pragma omp atomic -L[7] += D[12]*M[0] + D[15]*M[1] + D[16]*M[2] + D[22]*M[3] + D[25]*M[4] + D[26]*M[5] + D[29]*M[6] + D[30]*M[7] + D[31]*M[8] + D[37]*M[9] + D[40]*M[10] + D[41]*M[11] + D[44]*M[12] + D[45]*M[13] + D[46]*M[14] + D[49]*M[15] + D[50]*M[16] + D[51]*M[17] + D[52]*M[18] + D[58]*M[19] + D[61]*M[20] + D[62]*M[21] + D[65]*M[22] + D[66]*M[23] + D[67]*M[24] + D[70]*M[25] + D[71]*M[26] + D[72]*M[27] + D[73]*M[28] + D[76]*M[29] + D[77]*M[30] + D[78]*M[31] + D[79]*M[32] + D[80]*M[33]; -#pragma omp atomic -L[8] += D[13]*M[0] + D[16]*M[1] + D[17]*M[2] + D[23]*M[3] + D[26]*M[4] + D[27]*M[5] + D[30]*M[6] + D[31]*M[7] + D[32]*M[8] + D[38]*M[9] + D[41]*M[10] + D[42]*M[11] + D[45]*M[12] + D[46]*M[13] + D[47]*M[14] + D[50]*M[15] + D[51]*M[16] + D[52]*M[17] + D[53]*M[18] + D[59]*M[19] + D[62]*M[20] + D[63]*M[21] + D[66]*M[22] + D[67]*M[23] + D[68]*M[24] + D[71]*M[25] + D[72]*M[26] + D[73]*M[27] + D[74]*M[28] + D[77]*M[29] + D[78]*M[30] + D[79]*M[31] + D[80]*M[32] + D[81]*M[33]; -#pragma omp atomic -L[9] += D[14]*M[0] + D[17]*M[1] + D[18]*M[2] + D[24]*M[3] + D[27]*M[4] + D[28]*M[5] + D[31]*M[6] + D[32]*M[7] + D[33]*M[8] + D[39]*M[9] + D[42]*M[10] + D[43]*M[11] + D[46]*M[12] + D[47]*M[13] + D[48]*M[14] + D[51]*M[15] + D[52]*M[16] + D[53]*M[17] + D[54]*M[18] + D[60]*M[19] + D[63]*M[20] + D[64]*M[21] + D[67]*M[22] + D[68]*M[23] + D[69]*M[24] + D[72]*M[25] + D[73]*M[26] + D[74]*M[27] + D[75]*M[28] + D[78]*M[29] + D[79]*M[30] + D[80]*M[31] + D[81]*M[32] + D[82]*M[33]; -#pragma omp atomic -L[10] += D[19]*M[0] + D[20]*M[1] + D[21]*M[2] + D[34]*M[3] + D[35]*M[4] + D[36]*M[5] + D[37]*M[6] + D[38]*M[7] + D[39]*M[8] + D[55]*M[9] + D[56]*M[10] + D[57]*M[11] + D[58]*M[12] + D[59]*M[13] + D[60]*M[14] + D[61]*M[15] + D[62]*M[16] + D[63]*M[17] + D[64]*M[18]; -#pragma omp atomic -L[11] += D[20]*M[0] + D[22]*M[1] + D[23]*M[2] + D[35]*M[3] + D[37]*M[4] + D[38]*M[5] + D[40]*M[6] + D[41]*M[7] + D[42]*M[8] + D[56]*M[9] + D[58]*M[10] + D[59]*M[11] + D[61]*M[12] + D[62]*M[13] + D[63]*M[14] + D[65]*M[15] + D[66]*M[16] + D[67]*M[17] + D[68]*M[18]; -#pragma omp atomic -L[12] += D[21]*M[0] + D[23]*M[1] + D[24]*M[2] + D[36]*M[3] + D[38]*M[4] + D[39]*M[5] + D[41]*M[6] + D[42]*M[7] + D[43]*M[8] + D[57]*M[9] + D[59]*M[10] + D[60]*M[11] + D[62]*M[12] + D[63]*M[13] + D[64]*M[14] + D[66]*M[15] + D[67]*M[16] + D[68]*M[17] + D[69]*M[18]; -#pragma omp atomic -L[13] += D[22]*M[0] + D[25]*M[1] + D[26]*M[2] + D[37]*M[3] + D[40]*M[4] + D[41]*M[5] + D[44]*M[6] + D[45]*M[7] + D[46]*M[8] + D[58]*M[9] + D[61]*M[10] + D[62]*M[11] + D[65]*M[12] + D[66]*M[13] + D[67]*M[14] + D[70]*M[15] + D[71]*M[16] + D[72]*M[17] + D[73]*M[18]; -#pragma omp atomic -L[14] += D[23]*M[0] + D[26]*M[1] + D[27]*M[2] + D[38]*M[3] + D[41]*M[4] + D[42]*M[5] + D[45]*M[6] + D[46]*M[7] + D[47]*M[8] + D[59]*M[9] + D[62]*M[10] + D[63]*M[11] + D[66]*M[12] + D[67]*M[13] + D[68]*M[14] + D[71]*M[15] + D[72]*M[16] + D[73]*M[17] + D[74]*M[18]; -#pragma omp atomic -L[15] += D[24]*M[0] + D[27]*M[1] + D[28]*M[2] + D[39]*M[3] + D[42]*M[4] + D[43]*M[5] + D[46]*M[6] + D[47]*M[7] + D[48]*M[8] + D[60]*M[9] + D[63]*M[10] + D[64]*M[11] + D[67]*M[12] + D[68]*M[13] + D[69]*M[14] + D[72]*M[15] + D[73]*M[16] + D[74]*M[17] + D[75]*M[18]; -#pragma omp atomic -L[16] += D[25]*M[0] + D[29]*M[1] + D[30]*M[2] + D[40]*M[3] + D[44]*M[4] + D[45]*M[5] + D[49]*M[6] + D[50]*M[7] + D[51]*M[8] + D[61]*M[9] + D[65]*M[10] + D[66]*M[11] + D[70]*M[12] + D[71]*M[13] + D[72]*M[14] + D[76]*M[15] + D[77]*M[16] + D[78]*M[17] + D[79]*M[18]; -#pragma omp atomic -L[17] += D[26]*M[0] + D[30]*M[1] + D[31]*M[2] + D[41]*M[3] + D[45]*M[4] + D[46]*M[5] + D[50]*M[6] + D[51]*M[7] + D[52]*M[8] + D[62]*M[9] + D[66]*M[10] + D[67]*M[11] + D[71]*M[12] + D[72]*M[13] + D[73]*M[14] + D[77]*M[15] + D[78]*M[16] + D[79]*M[17] + D[80]*M[18]; -#pragma omp atomic -L[18] += D[27]*M[0] + D[31]*M[1] + D[32]*M[2] + D[42]*M[3] + D[46]*M[4] + D[47]*M[5] + D[51]*M[6] + D[52]*M[7] + D[53]*M[8] + D[63]*M[9] + D[67]*M[10] + D[68]*M[11] + D[72]*M[12] + D[73]*M[13] + D[74]*M[14] + D[78]*M[15] + D[79]*M[16] + D[80]*M[17] + D[81]*M[18]; -#pragma omp atomic -L[19] += D[28]*M[0] + D[32]*M[1] + D[33]*M[2] + D[43]*M[3] + D[47]*M[4] + D[48]*M[5] + D[52]*M[6] + D[53]*M[7] + D[54]*M[8] + D[64]*M[9] + D[68]*M[10] + D[69]*M[11] + D[73]*M[12] + D[74]*M[13] + D[75]*M[14] + D[79]*M[15] + D[80]*M[16] + D[81]*M[17] + D[82]*M[18]; -#pragma omp atomic -L[20] += D[34]*M[0] + D[35]*M[1] + D[36]*M[2] + D[55]*M[3] + D[56]*M[4] + D[57]*M[5] + D[58]*M[6] + D[59]*M[7] + D[60]*M[8]; -#pragma omp atomic -L[21] += D[35]*M[0] + D[37]*M[1] + D[38]*M[2] + D[56]*M[3] + D[58]*M[4] + D[59]*M[5] + D[61]*M[6] + D[62]*M[7] + D[63]*M[8]; -#pragma omp atomic -L[22] += D[36]*M[0] + D[38]*M[1] + D[39]*M[2] + D[57]*M[3] + D[59]*M[4] + D[60]*M[5] + D[62]*M[6] + D[63]*M[7] + D[64]*M[8]; -#pragma omp atomic -L[23] += D[37]*M[0] + D[40]*M[1] + D[41]*M[2] + D[58]*M[3] + D[61]*M[4] + D[62]*M[5] + D[65]*M[6] + D[66]*M[7] + D[67]*M[8]; -#pragma omp atomic -L[24] += D[38]*M[0] + D[41]*M[1] + D[42]*M[2] + D[59]*M[3] + D[62]*M[4] + D[63]*M[5] + D[66]*M[6] + D[67]*M[7] + D[68]*M[8]; -#pragma omp atomic -L[25] += D[39]*M[0] + D[42]*M[1] + D[43]*M[2] + D[60]*M[3] + D[63]*M[4] + D[64]*M[5] + D[67]*M[6] + D[68]*M[7] + D[69]*M[8]; -#pragma omp atomic -L[26] += D[40]*M[0] + D[44]*M[1] + D[45]*M[2] + D[61]*M[3] + D[65]*M[4] + D[66]*M[5] + D[70]*M[6] + D[71]*M[7] + D[72]*M[8]; -#pragma omp atomic -L[27] += D[41]*M[0] + D[45]*M[1] + D[46]*M[2] + D[62]*M[3] + D[66]*M[4] + D[67]*M[5] + D[71]*M[6] + D[72]*M[7] + D[73]*M[8]; -#pragma omp atomic -L[28] += D[42]*M[0] + D[46]*M[1] + D[47]*M[2] + D[63]*M[3] + D[67]*M[4] + D[68]*M[5] + D[72]*M[6] + D[73]*M[7] + D[74]*M[8]; -#pragma omp atomic -L[29] += D[43]*M[0] + D[47]*M[1] + D[48]*M[2] + D[64]*M[3] + D[68]*M[4] + D[69]*M[5] + D[73]*M[6] + D[74]*M[7] + D[75]*M[8]; -#pragma omp atomic -L[30] += D[44]*M[0] + D[49]*M[1] + D[50]*M[2] + D[65]*M[3] + D[70]*M[4] + D[71]*M[5] + D[76]*M[6] + D[77]*M[7] + D[78]*M[8]; -#pragma omp atomic -L[31] += D[45]*M[0] + D[50]*M[1] + D[51]*M[2] + D[66]*M[3] + D[71]*M[4] + D[72]*M[5] + D[77]*M[6] + D[78]*M[7] + D[79]*M[8]; -#pragma omp atomic -L[32] += D[46]*M[0] + D[51]*M[1] + D[52]*M[2] + D[67]*M[3] + D[72]*M[4] + D[73]*M[5] + D[78]*M[6] + D[79]*M[7] + D[80]*M[8]; -#pragma omp atomic -L[33] += D[47]*M[0] + D[52]*M[1] + D[53]*M[2] + D[68]*M[3] + D[73]*M[4] + D[74]*M[5] + D[79]*M[6] + D[80]*M[7] + D[81]*M[8]; -#pragma omp atomic -L[34] += D[48]*M[0] + D[53]*M[1] + D[54]*M[2] + D[69]*M[3] + D[74]*M[4] + D[75]*M[5] + D[80]*M[6] + D[81]*M[7] + D[82]*M[8]; -#pragma omp atomic -L[35] += D[55]*M[0] + D[56]*M[1] + D[57]*M[2]; -#pragma omp atomic -L[36] += D[56]*M[0] + D[58]*M[1] + D[59]*M[2]; -#pragma omp atomic -L[37] += D[57]*M[0] + D[59]*M[1] + D[60]*M[2]; -#pragma omp atomic -L[38] += D[58]*M[0] + D[61]*M[1] + D[62]*M[2]; -#pragma omp atomic -L[39] += D[59]*M[0] + D[62]*M[1] + D[63]*M[2]; -#pragma omp atomic -L[40] += D[60]*M[0] + D[63]*M[1] + D[64]*M[2]; -#pragma omp atomic -L[41] += D[61]*M[0] + D[65]*M[1] + D[66]*M[2]; -#pragma omp atomic -L[42] += D[62]*M[0] + D[66]*M[1] + D[67]*M[2]; -#pragma omp atomic -L[43] += D[63]*M[0] + D[67]*M[1] + D[68]*M[2]; -#pragma omp atomic -L[44] += D[64]*M[0] + D[68]*M[1] + D[69]*M[2]; -#pragma omp atomic -L[45] += D[65]*M[0] + D[70]*M[1] + D[71]*M[2]; -#pragma omp atomic -L[46] += D[66]*M[0] + D[71]*M[1] + D[72]*M[2]; -#pragma omp atomic -L[47] += D[67]*M[0] + D[72]*M[1] + D[73]*M[2]; -#pragma omp atomic -L[48] += D[68]*M[0] + D[73]*M[1] + D[74]*M[2]; -#pragma omp atomic -L[49] += D[69]*M[0] + D[74]*M[1] + D[75]*M[2]; -#pragma omp atomic -L[50] += D[70]*M[0] + D[76]*M[1] + D[77]*M[2]; -#pragma omp atomic -L[51] += D[71]*M[0] + D[77]*M[1] + D[78]*M[2]; -#pragma omp atomic -L[52] += D[72]*M[0] + D[78]*M[1] + D[79]*M[2]; -#pragma omp atomic -L[53] += D[73]*M[0] + D[79]*M[1] + D[80]*M[2]; -#pragma omp atomic -L[54] += D[74]*M[0] + D[80]*M[1] + D[81]*M[2]; -#pragma omp atomic -L[55] += D[75]*M[0] + D[81]*M[1] + D[82]*M[2]; - -} - -void L2L_6(double x, double y, double z, double * L, double * Ls) { -double Lstmp0 = y*L[5]; -double Lstmp1 = z*L[6]; -double Lstmp2 = z*L[8]; -double Lstmp3 = z*L[14]; -double Lstmp4 = Lstmp3*y; -double Lstmp5 = pow(x, 2); -double Lstmp6 = (1.0/2.0)*Lstmp5; -double Lstmp7 = pow(x, 3); -double Lstmp8 = (1.0/6.0)*Lstmp7; -double Lstmp9 = (1.0/24.0)*pow(x, 4); -double Lstmp10 = pow(y, 2); -double Lstmp11 = (1.0/2.0)*Lstmp10; -double Lstmp12 = pow(y, 3); -double Lstmp13 = (1.0/6.0)*Lstmp12; -double Lstmp14 = (1.0/24.0)*pow(y, 4); -double Lstmp15 = pow(z, 2); -double Lstmp16 = (1.0/2.0)*Lstmp15; -double Lstmp17 = pow(z, 3); -double Lstmp18 = (1.0/6.0)*Lstmp17; -double Lstmp19 = (1.0/24.0)*pow(z, 4); -double Lstmp20 = x*L[13]; -double Lstmp21 = x*L[26]; -double Lstmp22 = x*L[45]; -double Lstmp23 = x*L[15]; -double Lstmp24 = x*L[29]; -double Lstmp25 = x*L[49]; -double Lstmp26 = y*L[11]; -double Lstmp27 = z*L[12]; -double Lstmp28 = y*L[21]; -double Lstmp29 = z*L[22]; -double Lstmp30 = y*L[36]; -double Lstmp31 = z*L[37]; -double Lstmp32 = y*L[18]; -double Lstmp33 = y*L[33]; -double Lstmp34 = y*L[54]; -double Lstmp35 = z*L[17]; -double Lstmp36 = z*L[31]; -double Lstmp37 = z*L[51]; -double Lstmp38 = y*L[28]; -double Lstmp39 = Lstmp38*x; -double Lstmp40 = y*L[48]; -double Lstmp41 = Lstmp40*x; -double Lstmp42 = z*L[27]; -double Lstmp43 = Lstmp42*x; -double Lstmp44 = z*L[46]; -double Lstmp45 = Lstmp44*x; -double Lstmp46 = z*L[24]; -double Lstmp47 = Lstmp46*y; -double Lstmp48 = z*L[39]; -double Lstmp49 = Lstmp48*y; -double Lstmp50 = (1.0/4.0)*Lstmp5; -double Lstmp51 = Lstmp10*Lstmp50; -double Lstmp52 = (1.0/12.0)*Lstmp5; -double Lstmp53 = Lstmp15*Lstmp50; -double Lstmp54 = (1.0/12.0)*Lstmp7; -double Lstmp55 = (1.0/4.0)*Lstmp10*Lstmp15; -double Lstmp56 = x*L[47]; -double Lstmp57 = y*L[43]; -double Lstmp58 = z*L[42]; -double Lstmp59 = x*L[23]; -double Lstmp60 = x*L[41]; -double Lstmp61 = x*L[25]; -double Lstmp62 = x*L[44]; -double Lstmp63 = Lstmp57*x; -double Lstmp64 = Lstmp58*x; -double Lstmp65 = y*L[13]; -double Lstmp66 = Lstmp42*y; -double Lstmp67 = x*L[28]; -double Lstmp68 = x*L[48]; -double Lstmp69 = y*L[23]; -double Lstmp70 = y*L[38]; -double Lstmp71 = y*L[32]; -double Lstmp72 = y*L[53]; -double Lstmp73 = y*L[47]; -double Lstmp74 = Lstmp73*x; -double Lstmp75 = Lstmp58*y; -double Lstmp76 = y*L[14]; -double Lstmp77 = z*L[15]; -double Lstmp78 = z*L[18]; -double Lstmp79 = z*L[28]; -double Lstmp80 = Lstmp79*y; -double Lstmp81 = x*L[27]; -double Lstmp82 = x*L[46]; -double Lstmp83 = y*L[24]; -double Lstmp84 = z*L[25]; -double Lstmp85 = y*L[39]; -double Lstmp86 = z*L[40]; -double Lstmp87 = z*L[32]; -double Lstmp88 = z*L[52]; -double Lstmp89 = z*L[47]; -double Lstmp90 = Lstmp89*x; -double Lstmp91 = z*L[43]; -double Lstmp92 = Lstmp91*y; -double Lstmp93 = x*L[38]; -double Lstmp94 = x*L[40]; -double Lstmp95 = x*L[43]; -double Lstmp96 = x*L[42]; -double Lstmp97 = y*L[26]; -double Lstmp98 = Lstmp44*y; -double Lstmp99 = y*L[41]; -double Lstmp100 = y*L[52]; -double Lstmp101 = y*L[27]; -double Lstmp102 = Lstmp89*y; -double Lstmp103 = y*L[42]; -double Lstmp104 = z*L[29]; -double Lstmp105 = z*L[33]; -double Lstmp106 = z*L[48]; -double Lstmp107 = Lstmp106*y; -double Lstmp108 = z*L[44]; -double Lstmp109 = z*L[53]; -double Lstmp110 = y*L[45]; -double Lstmp111 = y*L[46]; -double Lstmp112 = z*L[49]; -double Lstmp113 = z*L[54]; -#pragma omp atomic -Ls[0] += Lstmp0*x + Lstmp1*x + (1.0/12.0)*Lstmp10*Lstmp17*L[53] + Lstmp10*Lstmp54*L[38] + Lstmp11*Lstmp20 + Lstmp11*Lstmp35 + Lstmp11*Lstmp43 + Lstmp11*L[7] + (1.0/12.0)*Lstmp12*Lstmp15*L[52] + Lstmp12*Lstmp52*L[41] + Lstmp13*Lstmp21 + Lstmp13*Lstmp36 + Lstmp13*Lstmp45 + Lstmp13*L[16] + Lstmp14*Lstmp22 + Lstmp14*Lstmp37 + Lstmp14*L[30] + Lstmp15*Lstmp54*L[40] + Lstmp16*Lstmp23 + Lstmp16*Lstmp32 + Lstmp16*Lstmp39 + Lstmp16*L[9] + Lstmp17*Lstmp52*L[44] + Lstmp18*Lstmp24 + Lstmp18*Lstmp33 + Lstmp18*Lstmp41 + Lstmp18*L[19] + Lstmp19*Lstmp25 + Lstmp19*Lstmp34 + Lstmp19*L[34] + Lstmp2*y + Lstmp26*Lstmp6 + Lstmp27*Lstmp6 + Lstmp28*Lstmp8 + Lstmp29*Lstmp8 + Lstmp30*Lstmp9 + Lstmp31*Lstmp9 + Lstmp4*x + Lstmp47*Lstmp6 + Lstmp49*Lstmp8 + Lstmp51*Lstmp58 + Lstmp51*L[23] + Lstmp53*Lstmp57 + Lstmp53*L[25] + Lstmp55*Lstmp56 + Lstmp55*L[32] + Lstmp6*L[4] + Lstmp8*L[10] + Lstmp9*L[20] + (1.0/120.0)*pow(x, 5)*L[35] + x*L[1] + (1.0/120.0)*pow(y, 5)*L[50] + y*L[2] + (1.0/120.0)*pow(z, 5)*L[55] + z*L[3] + L[0]; -#pragma omp atomic -Ls[1] += Lstmp0 + Lstmp1 + Lstmp11*Lstmp42 + Lstmp11*Lstmp59 + Lstmp11*Lstmp64 + Lstmp11*L[13] + Lstmp13*Lstmp44 + Lstmp13*Lstmp60 + Lstmp13*L[26] + Lstmp14*L[45] + Lstmp16*Lstmp38 + Lstmp16*Lstmp61 + Lstmp16*Lstmp63 + Lstmp16*L[15] + Lstmp18*Lstmp40 + Lstmp18*Lstmp62 + Lstmp18*L[29] + Lstmp19*L[49] + Lstmp26*x + Lstmp27*x + Lstmp28*Lstmp6 + Lstmp29*Lstmp6 + Lstmp30*Lstmp8 + Lstmp31*Lstmp8 + Lstmp4 + Lstmp47*x + Lstmp49*Lstmp6 + Lstmp51*L[38] + Lstmp53*L[40] + Lstmp55*L[47] + Lstmp6*L[10] + Lstmp8*L[20] + Lstmp9*L[35] + x*L[4] + L[1]; -#pragma omp atomic -Ls[2] += Lstmp11*Lstmp21 + Lstmp11*Lstmp36 + Lstmp11*Lstmp45 + Lstmp11*L[16] + Lstmp13*Lstmp22 + Lstmp13*Lstmp37 + Lstmp13*L[30] + Lstmp14*L[50] + Lstmp16*Lstmp67 + Lstmp16*Lstmp71 + Lstmp16*Lstmp74 + Lstmp16*L[18] + Lstmp18*Lstmp68 + Lstmp18*Lstmp72 + Lstmp18*L[33] + Lstmp19*L[54] + Lstmp2 + Lstmp3*x + Lstmp35*y + Lstmp46*Lstmp6 + Lstmp48*Lstmp8 + Lstmp51*L[41] + Lstmp53*L[43] + Lstmp55*L[52] + Lstmp6*Lstmp69 + Lstmp6*Lstmp75 + Lstmp6*L[11] + Lstmp65*x + Lstmp66*x + Lstmp70*Lstmp8 + Lstmp8*L[21] + Lstmp9*L[36] + x*L[5] + y*L[7] + L[2]; -#pragma omp atomic -Ls[3] += Lstmp11*Lstmp81 + Lstmp11*Lstmp87 + Lstmp11*Lstmp90 + Lstmp11*L[17] + Lstmp13*Lstmp82 + Lstmp13*Lstmp88 + Lstmp13*L[31] + Lstmp14*L[51] + Lstmp16*Lstmp24 + Lstmp16*Lstmp33 + Lstmp16*Lstmp41 + Lstmp16*L[19] + Lstmp18*Lstmp25 + Lstmp18*Lstmp34 + Lstmp18*L[34] + Lstmp19*L[55] + Lstmp51*L[42] + Lstmp53*L[44] + Lstmp55*L[53] + Lstmp6*Lstmp83 + Lstmp6*Lstmp84 + Lstmp6*Lstmp92 + Lstmp6*L[12] + Lstmp76*x + Lstmp77*x + Lstmp78*y + Lstmp8*Lstmp85 + Lstmp8*Lstmp86 + Lstmp8*L[22] + Lstmp80*x + Lstmp9*L[37] + x*L[6] + y*L[8] + z*L[9] + L[3]; -#pragma omp atomic -Ls[4] += Lstmp11*Lstmp58 + Lstmp11*Lstmp93 + Lstmp11*L[23] + Lstmp13*L[41] + Lstmp16*Lstmp57 + Lstmp16*Lstmp94 + Lstmp16*L[25] + Lstmp18*L[44] + Lstmp26 + Lstmp27 + Lstmp28*x + Lstmp29*x + Lstmp30*Lstmp6 + Lstmp31*Lstmp6 + Lstmp47 + Lstmp49*x + Lstmp6*L[20] + Lstmp8*L[35] + x*L[10] + L[4]; -#pragma omp atomic -Ls[5] += Lstmp11*Lstmp44 + Lstmp11*Lstmp60 + Lstmp11*L[26] + Lstmp13*L[45] + Lstmp16*Lstmp73 + Lstmp16*Lstmp95 + Lstmp16*L[28] + Lstmp18*L[48] + Lstmp3 + Lstmp46*x + Lstmp48*Lstmp6 + Lstmp6*Lstmp70 + Lstmp6*L[21] + Lstmp65 + Lstmp66 + Lstmp69*x + Lstmp75*x + Lstmp8*L[36] + x*L[11] + L[5]; -#pragma omp atomic -Ls[6] += Lstmp11*Lstmp89 + Lstmp11*Lstmp96 + Lstmp11*L[27] + Lstmp13*L[46] + Lstmp16*Lstmp40 + Lstmp16*Lstmp62 + Lstmp16*L[29] + Lstmp18*L[49] + Lstmp6*Lstmp85 + Lstmp6*Lstmp86 + Lstmp6*L[22] + Lstmp76 + Lstmp77 + Lstmp8*L[37] + Lstmp80 + Lstmp83*x + Lstmp84*x + Lstmp92*x + x*L[12] + L[6]; -#pragma omp atomic -Ls[7] += Lstmp100*Lstmp16 + Lstmp11*Lstmp22 + Lstmp11*Lstmp37 + Lstmp11*L[30] + Lstmp13*L[50] + Lstmp16*Lstmp56 + Lstmp16*L[32] + Lstmp18*L[53] + Lstmp20 + Lstmp35 + Lstmp36*y + Lstmp43 + Lstmp58*Lstmp6 + Lstmp6*Lstmp99 + Lstmp6*L[23] + Lstmp8*L[38] + Lstmp97*x + Lstmp98*x + y*L[16] + L[7]; -#pragma omp atomic -Ls[8] += Lstmp101*x + Lstmp102*x + Lstmp103*Lstmp6 + Lstmp11*Lstmp82 + Lstmp11*Lstmp88 + Lstmp11*L[31] + Lstmp13*L[51] + Lstmp16*Lstmp68 + Lstmp16*Lstmp72 + Lstmp16*L[33] + Lstmp18*L[54] + Lstmp6*Lstmp91 + Lstmp6*L[24] + Lstmp78 + Lstmp79*x + Lstmp8*L[39] + Lstmp87*y + x*L[14] + y*L[17] + L[8]; -#pragma omp atomic -Ls[9] += Lstmp104*x + Lstmp105*y + Lstmp107*x + Lstmp108*Lstmp6 + Lstmp109*Lstmp11 + Lstmp11*Lstmp56 + Lstmp11*L[32] + Lstmp13*L[52] + Lstmp16*Lstmp25 + Lstmp16*Lstmp34 + Lstmp16*L[34] + Lstmp18*L[55] + Lstmp23 + Lstmp32 + Lstmp39 + Lstmp57*Lstmp6 + Lstmp6*L[25] + Lstmp8*L[40] + z*L[19] + L[9]; -#pragma omp atomic -Ls[10] += Lstmp11*L[38] + Lstmp16*L[40] + Lstmp28 + Lstmp29 + Lstmp30*x + Lstmp31*x + Lstmp49 + Lstmp6*L[35] + x*L[20] + L[10]; -#pragma omp atomic -Ls[11] += Lstmp11*L[41] + Lstmp16*L[43] + Lstmp46 + Lstmp48*x + Lstmp6*L[36] + Lstmp69 + Lstmp70*x + Lstmp75 + x*L[21] + L[11]; -#pragma omp atomic -Ls[12] += Lstmp11*L[42] + Lstmp16*L[44] + Lstmp6*L[37] + Lstmp83 + Lstmp84 + Lstmp85*x + Lstmp86*x + Lstmp92 + x*L[22] + L[12]; -#pragma omp atomic -Ls[13] += Lstmp11*L[45] + Lstmp16*L[47] + Lstmp42 + Lstmp59 + Lstmp6*L[38] + Lstmp64 + Lstmp97 + Lstmp98 + Lstmp99*x + L[13]; -#pragma omp atomic -Ls[14] += Lstmp101 + Lstmp102 + Lstmp103*x + Lstmp11*L[46] + Lstmp16*L[48] + Lstmp6*L[39] + Lstmp79 + Lstmp91*x + x*L[24] + L[14]; -#pragma omp atomic -Ls[15] += Lstmp104 + Lstmp107 + Lstmp108*x + Lstmp11*L[47] + Lstmp16*L[49] + Lstmp38 + Lstmp6*L[40] + Lstmp61 + Lstmp63 + L[15]; -#pragma omp atomic -Ls[16] += Lstmp11*L[50] + Lstmp110*x + Lstmp16*L[52] + Lstmp21 + Lstmp36 + Lstmp37*y + Lstmp45 + Lstmp6*L[41] + y*L[30] + L[16]; -#pragma omp atomic -Ls[17] += Lstmp11*L[51] + Lstmp111*x + Lstmp16*L[53] + Lstmp6*L[42] + Lstmp81 + Lstmp87 + Lstmp88*y + Lstmp90 + y*L[31] + L[17]; -#pragma omp atomic -Ls[18] += Lstmp105 + Lstmp106*x + Lstmp109*y + Lstmp11*L[52] + Lstmp16*L[54] + Lstmp6*L[43] + Lstmp67 + Lstmp71 + Lstmp74 + L[18]; -#pragma omp atomic -Ls[19] += Lstmp11*L[53] + Lstmp112*x + Lstmp113*y + Lstmp16*L[55] + Lstmp24 + Lstmp33 + Lstmp41 + Lstmp6*L[44] + z*L[34] + L[19]; -#pragma omp atomic -Ls[20] += Lstmp30 + Lstmp31 + x*L[35] + L[20]; -#pragma omp atomic -Ls[21] += Lstmp48 + Lstmp70 + x*L[36] + L[21]; -#pragma omp atomic -Ls[22] += Lstmp85 + Lstmp86 + x*L[37] + L[22]; -#pragma omp atomic -Ls[23] += Lstmp58 + Lstmp93 + Lstmp99 + L[23]; -#pragma omp atomic -Ls[24] += Lstmp103 + Lstmp91 + x*L[39] + L[24]; -#pragma omp atomic -Ls[25] += Lstmp108 + Lstmp57 + Lstmp94 + L[25]; -#pragma omp atomic -Ls[26] += Lstmp110 + Lstmp44 + Lstmp60 + L[26]; -#pragma omp atomic -Ls[27] += Lstmp111 + Lstmp89 + Lstmp96 + L[27]; -#pragma omp atomic -Ls[28] += Lstmp106 + Lstmp73 + Lstmp95 + L[28]; -#pragma omp atomic -Ls[29] += Lstmp112 + Lstmp40 + Lstmp62 + L[29]; -#pragma omp atomic -Ls[30] += Lstmp22 + Lstmp37 + y*L[50] + L[30]; -#pragma omp atomic -Ls[31] += Lstmp82 + Lstmp88 + y*L[51] + L[31]; -#pragma omp atomic -Ls[32] += Lstmp100 + Lstmp109 + Lstmp56 + L[32]; -#pragma omp atomic -Ls[33] += Lstmp113 + Lstmp68 + Lstmp72 + L[33]; -#pragma omp atomic -Ls[34] += Lstmp25 + Lstmp34 + z*L[55] + L[34]; -#pragma omp atomic -Ls[35] += L[35]; -#pragma omp atomic -Ls[36] += L[36]; -#pragma omp atomic -Ls[37] += L[37]; -#pragma omp atomic -Ls[38] += L[38]; -#pragma omp atomic -Ls[39] += L[39]; -#pragma omp atomic -Ls[40] += L[40]; -#pragma omp atomic -Ls[41] += L[41]; -#pragma omp atomic -Ls[42] += L[42]; -#pragma omp atomic -Ls[43] += L[43]; -#pragma omp atomic -Ls[44] += L[44]; -#pragma omp atomic -Ls[45] += L[45]; -#pragma omp atomic -Ls[46] += L[46]; -#pragma omp atomic -Ls[47] += L[47]; -#pragma omp atomic -Ls[48] += L[48]; -#pragma omp atomic -Ls[49] += L[49]; -#pragma omp atomic -Ls[50] += L[50]; -#pragma omp atomic -Ls[51] += L[51]; -#pragma omp atomic -Ls[52] += L[52]; -#pragma omp atomic -Ls[53] += L[53]; -#pragma omp atomic -Ls[54] += L[54]; -#pragma omp atomic -Ls[55] += L[55]; - -} - -void L2P_6(double x, double y, double z, double * L, double * F) { -double Ftmp0 = x*y; -double Ftmp1 = x*z; -double Ftmp2 = y*z; -double Ftmp3 = Ftmp0*z; -double Ftmp4 = pow(x, 2); -double Ftmp5 = (1.0/2.0)*Ftmp4; -double Ftmp6 = (1.0/6.0)*pow(x, 3); -double Ftmp7 = (1.0/24.0)*pow(x, 4); -double Ftmp8 = pow(y, 2); -double Ftmp9 = (1.0/2.0)*Ftmp8; -double Ftmp10 = (1.0/6.0)*pow(y, 3); -double Ftmp11 = (1.0/24.0)*pow(y, 4); -double Ftmp12 = pow(z, 2); -double Ftmp13 = (1.0/2.0)*Ftmp12; -double Ftmp14 = (1.0/6.0)*pow(z, 3); -double Ftmp15 = (1.0/24.0)*pow(z, 4); -double Ftmp16 = Ftmp9*x; -double Ftmp17 = Ftmp10*x; -double Ftmp18 = Ftmp13*x; -double Ftmp19 = Ftmp14*x; -double Ftmp20 = Ftmp5*y; -double Ftmp21 = Ftmp5*z; -double Ftmp22 = Ftmp6*y; -double Ftmp23 = Ftmp6*z; -double Ftmp24 = Ftmp13*y; -double Ftmp25 = Ftmp14*y; -double Ftmp26 = Ftmp9*z; -double Ftmp27 = Ftmp10*z; -double Ftmp28 = Ftmp0*Ftmp13; -double Ftmp29 = Ftmp1*Ftmp9; -double Ftmp30 = Ftmp2*Ftmp5; -double Ftmp31 = (1.0/4.0)*Ftmp4; -double Ftmp32 = Ftmp31*Ftmp8; -double Ftmp33 = Ftmp12*Ftmp31; -double Ftmp34 = (1.0/4.0)*Ftmp12*Ftmp8; -#pragma omp atomic -F[0] += -Ftmp0*L[11] - Ftmp1*L[12] - Ftmp10*L[26] - Ftmp11*L[45] - Ftmp13*L[15] - Ftmp14*L[29] - Ftmp15*L[49] - Ftmp16*L[23] - Ftmp17*L[41] - Ftmp18*L[25] - Ftmp19*L[44] - Ftmp2*L[14] - Ftmp20*L[21] - Ftmp21*L[22] - Ftmp22*L[36] - Ftmp23*L[37] - Ftmp24*L[28] - Ftmp25*L[48] - Ftmp26*L[27] - Ftmp27*L[46] - Ftmp28*L[43] - Ftmp29*L[42] - Ftmp3*L[24] - Ftmp30*L[39] - Ftmp32*L[38] - Ftmp33*L[40] - Ftmp34*L[47] - Ftmp5*L[10] - Ftmp6*L[20] - Ftmp7*L[35] - Ftmp9*L[13] - x*L[4] - y*L[5] - z*L[6] - L[1]; -#pragma omp atomic -F[1] += -Ftmp0*L[13] - Ftmp1*L[14] - Ftmp10*L[30] - Ftmp11*L[50] - Ftmp13*L[18] - Ftmp14*L[33] - Ftmp15*L[54] - Ftmp16*L[26] - Ftmp17*L[45] - Ftmp18*L[28] - Ftmp19*L[48] - Ftmp2*L[17] - Ftmp20*L[23] - Ftmp21*L[24] - Ftmp22*L[38] - Ftmp23*L[39] - Ftmp24*L[32] - Ftmp25*L[53] - Ftmp26*L[31] - Ftmp27*L[51] - Ftmp28*L[47] - Ftmp29*L[46] - Ftmp3*L[27] - Ftmp30*L[42] - Ftmp32*L[41] - Ftmp33*L[43] - Ftmp34*L[52] - Ftmp5*L[11] - Ftmp6*L[21] - Ftmp7*L[36] - Ftmp9*L[16] - x*L[5] - y*L[7] - z*L[8] - L[2]; -#pragma omp atomic -F[2] += -Ftmp0*L[14] - Ftmp1*L[15] - Ftmp10*L[31] - Ftmp11*L[51] - Ftmp13*L[19] - Ftmp14*L[34] - Ftmp15*L[55] - Ftmp16*L[27] - Ftmp17*L[46] - Ftmp18*L[29] - Ftmp19*L[49] - Ftmp2*L[18] - Ftmp20*L[24] - Ftmp21*L[25] - Ftmp22*L[39] - Ftmp23*L[40] - Ftmp24*L[33] - Ftmp25*L[54] - Ftmp26*L[32] - Ftmp27*L[52] - Ftmp28*L[48] - Ftmp29*L[47] - Ftmp3*L[28] - Ftmp30*L[43] - Ftmp32*L[42] - Ftmp33*L[44] - Ftmp34*L[53] - Ftmp5*L[12] - Ftmp6*L[22] - Ftmp7*L[37] - Ftmp9*L[17] - x*L[6] - y*L[8] - z*L[9] - L[3]; - -} - -void M2P_6(double x, double y, double z, double * M, double * F) { -double R = sqrt(x*x + y*y + z*z); -double Ftmp0 = pow(R, -3); -double Ftmp1 = pow(R, -2); -double Ftmp2 = 3.0*Ftmp1; -double Ftmp3 = y*M[4]; -double Ftmp4 = Ftmp2*z; -double Ftmp5 = pow(R, -4); -double Ftmp6 = Ftmp5*z; -double Ftmp7 = 15.0*Ftmp6; -double Ftmp8 = y*M[13]; -double Ftmp9 = Ftmp2*x; -double Ftmp10 = Ftmp9*y; -double Ftmp11 = Ftmp4*M[2]; -double Ftmp12 = pow(x, 2); -double Ftmp13 = Ftmp1*Ftmp12; -double Ftmp14 = y*M[7]; -double Ftmp15 = Ftmp7*x; -double Ftmp16 = Ftmp12*Ftmp5; -double Ftmp17 = 15.0*Ftmp16; -double Ftmp18 = pow(R, -6); -double Ftmp19 = Ftmp18*y; -double Ftmp20 = Ftmp19*z; -double Ftmp21 = 105.0*M[13]; -double Ftmp22 = pow(y, 2); -double Ftmp23 = 15.0*Ftmp1; -double Ftmp24 = -Ftmp22*Ftmp23; -double Ftmp25 = Ftmp1*(Ftmp24 + 3.0); -double Ftmp26 = pow(z, 2); -double Ftmp27 = -Ftmp23*Ftmp26; -double Ftmp28 = Ftmp1*(Ftmp27 + 3.0); -double Ftmp29 = -15.0*Ftmp13; -double Ftmp30 = Ftmp1*(Ftmp29 + 9.0); -double Ftmp31 = -105.0*Ftmp13; -double Ftmp32 = Ftmp31 + 45.0; -double Ftmp33 = Ftmp32*Ftmp5; -double Ftmp34 = y*M[20]; -double Ftmp35 = Ftmp33*M[21]; -double Ftmp36 = Ftmp5*y; -double Ftmp37 = Ftmp1*Ftmp26; -double Ftmp38 = 3.0*M[27]; -double Ftmp39 = Ftmp38*(5.0 - 35.0*Ftmp37); -double Ftmp40 = 105.0*Ftmp1; -double Ftmp41 = -Ftmp22*Ftmp40; -double Ftmp42 = Ftmp41 + 45.0; -double Ftmp43 = Ftmp36*Ftmp42; -double Ftmp44 = 1.0*M[25]; -double Ftmp45 = 1.0*Ftmp6; -double Ftmp46 = Ftmp41 + 15.0; -double Ftmp47 = Ftmp46*M[26]; -double Ftmp48 = -Ftmp26*Ftmp40; -double Ftmp49 = Ftmp48 + 45.0; -double Ftmp50 = Ftmp45*Ftmp49; -double Ftmp51 = Ftmp25*M[6]; -double Ftmp52 = Ftmp28*M[8]; -double Ftmp53 = Ftmp33*x; -double Ftmp54 = Ftmp53*y; -double Ftmp55 = Ftmp43*x; -double Ftmp56 = Ftmp46*M[16]; -double Ftmp57 = Ftmp6*x; -double Ftmp58 = Ftmp53*z; -double Ftmp59 = Ftmp49*M[18]; -double Ftmp60 = 315.0*Ftmp1; -double Ftmp61 = -Ftmp26*Ftmp60; -double Ftmp62 = Ftmp61 + 105.0; -double Ftmp63 = 3.0*M[47]; -double Ftmp64 = Ftmp62*Ftmp63; -double Ftmp65 = -945.0*Ftmp13; -double Ftmp66 = Ftmp65 + 315.0; -double Ftmp67 = Ftmp66*M[38]; -double Ftmp68 = 1.0*Ftmp19; -double Ftmp69 = Ftmp1*Ftmp22; -double Ftmp70 = -945.0*Ftmp69; -double Ftmp71 = Ftmp70 + 315.0; -double Ftmp72 = Ftmp71*M[45]; -double Ftmp73 = Ftmp48 + 15.0; -double Ftmp74 = 1.0*Ftmp73*M[17]; -double Ftmp75 = 1.0*Ftmp16; -double Ftmp76 = Ftmp46*M[12]; -double Ftmp77 = Ftmp73*M[14]; -double Ftmp78 = Ftmp18*x; -double Ftmp79 = Ftmp78*y; -double Ftmp80 = Ftmp79*z; -double Ftmp81 = Ftmp66*Ftmp80; -double Ftmp82 = Ftmp71*M[30]; -double Ftmp83 = -945.0*Ftmp37; -double Ftmp84 = Ftmp83 + 315.0; -double Ftmp85 = Ftmp84*M[32]; -double Ftmp86 = 1.0*Ftmp80; -double Ftmp87 = Ftmp12*Ftmp19; -double Ftmp88 = Ftmp38*(Ftmp61 + 35.0); -double Ftmp89 = Ftmp44*Ftmp71; -double Ftmp90 = Ftmp65 + 525.0; -double Ftmp91 = Ftmp12*Ftmp18; -double Ftmp92 = Ftmp18*z; -double Ftmp93 = 1.0*Ftmp92; -double Ftmp94 = Ftmp12*Ftmp93; -double Ftmp95 = Ftmp70 + 105.0; -double Ftmp96 = Ftmp95*M[26]; -double Ftmp97 = Ftmp84*M[28]; -double Ftmp98 = -10395.0*Ftmp13; -double Ftmp99 = Ftmp98 + 4725.0; -double Ftmp100 = pow(R, -8); -double Ftmp101 = Ftmp100*Ftmp12; -double Ftmp102 = Ftmp101*y; -double Ftmp103 = z*M[38]; -double Ftmp104 = -3465.0*Ftmp37; -double Ftmp105 = Ftmp63*z*(Ftmp104 + 945.0); -double Ftmp106 = -10395.0*Ftmp69; -double Ftmp107 = Ftmp106 + 2835.0; -double Ftmp108 = 1.0*Ftmp102; -double Ftmp109 = z*M[45]; -double Ftmp110 = pow(y, 4); -double Ftmp111 = 945.0*Ftmp5; -double Ftmp112 = Ftmp110*Ftmp111; -double Ftmp113 = 630.0*Ftmp1; -double Ftmp114 = Ftmp5*(Ftmp112 - Ftmp113*Ftmp22 + 45.0); -double Ftmp115 = pow(z, 4); -double Ftmp116 = Ftmp111*Ftmp115; -double Ftmp117 = Ftmp5*(-Ftmp113*Ftmp26 + Ftmp116 + 45.0); -double Ftmp118 = pow(x, 4); -double Ftmp119 = Ftmp111*Ftmp118; -double Ftmp120 = Ftmp5*(Ftmp119 - 1050.0*Ftmp13 + 225.0); -double Ftmp121 = Ftmp114*M[29]; -double Ftmp122 = Ftmp117*M[33]; -double Ftmp123 = Ftmp115*Ftmp5; -double Ftmp124 = 3.0*M[74]; -double Ftmp125 = Ftmp124*(3465.0*Ftmp123 - 1890.0*Ftmp37 + 105.0); -double Ftmp126 = Ftmp118*Ftmp5; -double Ftmp127 = 10395.0*Ftmp126; -double Ftmp128 = Ftmp127 - 9450.0*Ftmp13 + 1575.0; -double Ftmp129 = Ftmp128*M[56]; -double Ftmp130 = 10395.0*Ftmp5; -double Ftmp131 = Ftmp110*Ftmp130; -double Ftmp132 = Ftmp131 - 9450.0*Ftmp69 + 1575.0; -double Ftmp133 = Ftmp132*M[70]; -double Ftmp134 = 5670.0*Ftmp1; -double Ftmp135 = Ftmp131 - Ftmp134*Ftmp22 + 315.0; -double Ftmp136 = Ftmp135*M[71]; -double Ftmp137 = Ftmp128*M[57]; -double Ftmp138 = Ftmp115*Ftmp130; -double Ftmp139 = Ftmp138 - 9450.0*Ftmp37 + 1575.0; -double Ftmp140 = Ftmp139*Ftmp93; -double Ftmp141 = -Ftmp134*Ftmp26 + Ftmp138 + 315.0; -double Ftmp142 = 1.0*Ftmp141*M[53]; -double Ftmp143 = Ftmp128*Ftmp79; -double Ftmp144 = Ftmp132*M[49]; -double Ftmp145 = Ftmp135*M[50]; -double Ftmp146 = Ftmp78*z; -double Ftmp147 = Ftmp128*Ftmp146; -double Ftmp148 = Ftmp139*M[54]; -double Ftmp149 = 135135.0*Ftmp126; -double Ftmp150 = -103950.0*Ftmp13 + Ftmp149 + 14175.0; -double Ftmp151 = Ftmp100*x*y*z; -double Ftmp152 = Ftmp110*Ftmp5; -double Ftmp153 = 135135.0*Ftmp152; -double Ftmp154 = Ftmp153 - 103950.0*Ftmp69 + 14175.0; -double Ftmp155 = Ftmp154*M[77]; -double Ftmp156 = 1.0*Ftmp91; -double Ftmp157 = Ftmp135*M[44]; -double Ftmp158 = Ftmp141*M[48]; -double Ftmp159 = -145530.0*Ftmp13 + Ftmp149 + 33075.0; -double Ftmp160 = Ftmp101*z; -double Ftmp161 = 135135.0*Ftmp123; -double Ftmp162 = Ftmp161 - 103950.0*Ftmp37 + 14175.0; -double Ftmp163 = 1.0*M[81]; -double Ftmp164 = Ftmp162*Ftmp163; -double Ftmp165 = 45045.0*Ftmp123; -double Ftmp166 = Ftmp124*(Ftmp165 - 20790.0*Ftmp37 + 945.0); -double Ftmp167 = Ftmp154*M[70]; -double Ftmp168 = 1.0*Ftmp160; -double Ftmp169 = (Ftmp153 - 62370.0*Ftmp69 + 2835.0)*M[71]; -double Ftmp170 = Ftmp162*M[75]; -double Ftmp171 = 135135.0*Ftmp18; -double Ftmp172 = -Ftmp171*pow(y, 6); -double Ftmp173 = 155925.0*Ftmp5; -double Ftmp174 = 42525.0*Ftmp1; -double Ftmp175 = (Ftmp110*Ftmp173 + Ftmp172 - Ftmp174*Ftmp22 + 1575.0)*M[76]; -double Ftmp176 = -Ftmp171*pow(z, 6); -double Ftmp177 = (Ftmp115*Ftmp173 - Ftmp174*Ftmp26 + Ftmp176 + 1575.0)*M[82]; -double Ftmp178 = -Ftmp171*pow(x, 6); -double Ftmp179 = Ftmp111*Ftmp22; -double Ftmp180 = Ftmp179*Ftmp26; -double Ftmp181 = Ftmp5*(Ftmp180 + Ftmp46 + Ftmp48); -double Ftmp182 = -Ftmp22*Ftmp60; -double Ftmp183 = Ftmp12*Ftmp179; -double Ftmp184 = Ftmp5*(Ftmp182 + Ftmp183 + Ftmp32); -double Ftmp185 = Ftmp12*Ftmp26; -double Ftmp186 = Ftmp111*Ftmp185; -double Ftmp187 = Ftmp5*(Ftmp186 + Ftmp32 + Ftmp61); -double Ftmp188 = 2835.0*Ftmp1; -double Ftmp189 = -Ftmp188*Ftmp26; -double Ftmp190 = Ftmp130*Ftmp185; -double Ftmp191 = Ftmp189 + Ftmp190; -double Ftmp192 = Ftmp191 + Ftmp66; -double Ftmp193 = Ftmp192*M[63]; -double Ftmp194 = Ftmp130*Ftmp22; -double Ftmp195 = Ftmp194*Ftmp26; -double Ftmp196 = Ftmp189 + Ftmp195; -double Ftmp197 = Ftmp196 + Ftmp71; -double Ftmp198 = Ftmp197*M[72]; -double Ftmp199 = -Ftmp188*Ftmp22; -double Ftmp200 = Ftmp12*Ftmp194; -double Ftmp201 = Ftmp199 + Ftmp200; -double Ftmp202 = -2835.0*Ftmp13; -double Ftmp203 = Ftmp202 + 945.0; -double Ftmp204 = Ftmp201 + Ftmp203; -double Ftmp205 = Ftmp204*M[61]; -double Ftmp206 = Ftmp201 + Ftmp66; -double Ftmp207 = Ftmp206*M[62]; -double Ftmp208 = Ftmp195 + Ftmp199 + Ftmp84; -double Ftmp209 = Ftmp208*M[73]; -double Ftmp210 = Ftmp191 + Ftmp203; -double Ftmp211 = Ftmp210*M[64]; -double Ftmp212 = Ftmp192*Ftmp79; -double Ftmp213 = Ftmp197*Ftmp79; -double Ftmp214 = Ftmp204*Ftmp79; -double Ftmp215 = Ftmp146*Ftmp206; -double Ftmp216 = Ftmp146*Ftmp208; -double Ftmp217 = Ftmp146*Ftmp210; -double Ftmp218 = -31185.0*Ftmp13; -double Ftmp219 = Ftmp218 + 8505.0; -double Ftmp220 = Ftmp16*Ftmp22; -double Ftmp221 = 135135.0*Ftmp220; -double Ftmp222 = -31185.0*Ftmp69; -double Ftmp223 = Ftmp221 + Ftmp222; -double Ftmp224 = Ftmp151*(Ftmp219 + Ftmp223); -double Ftmp225 = Ftmp185*Ftmp5; -double Ftmp226 = 135135.0*Ftmp225; -double Ftmp227 = -31185.0*Ftmp37; -double Ftmp228 = Ftmp226 + Ftmp227; -double Ftmp229 = Ftmp151*(Ftmp219 + Ftmp228); -double Ftmp230 = Ftmp26*Ftmp5; -double Ftmp231 = Ftmp22*Ftmp230; -double Ftmp232 = 135135.0*Ftmp231; -double Ftmp233 = Ftmp227 + Ftmp232; -double Ftmp234 = Ftmp151*(Ftmp222 + Ftmp233 + 8505.0); -double Ftmp235 = 4725.0*Ftmp1; -double Ftmp236 = -Ftmp22*Ftmp235; -double Ftmp237 = -Ftmp235*Ftmp26; -double Ftmp238 = -51975.0*Ftmp37; -double Ftmp239 = Ftmp226 + Ftmp238; -double Ftmp240 = -51975.0*Ftmp69; -double Ftmp241 = Ftmp221 + Ftmp240; -double Ftmp242 = Ftmp218 + 14175.0; -double Ftmp243 = -10395.0*Ftmp37; -double Ftmp244 = Ftmp243 + 2835.0; -double Ftmp245 = Ftmp222 + Ftmp232; -double Ftmp246 = 62370.0*Ftmp22; -double Ftmp247 = Ftmp230*Ftmp246; -double Ftmp248 = Ftmp110*Ftmp171; -double Ftmp249 = -Ftmp248*Ftmp26; -double Ftmp250 = Ftmp189 + Ftmp247 + Ftmp249; -double Ftmp251 = Ftmp115*Ftmp171; -double Ftmp252 = -Ftmp22*Ftmp251; -double Ftmp253 = Ftmp247 + Ftmp252; -double Ftmp254 = Ftmp16*Ftmp246; -double Ftmp255 = -Ftmp12*Ftmp248; -double Ftmp256 = Ftmp254 + Ftmp255; -double Ftmp257 = 31185.0*Ftmp5; -double Ftmp258 = 17010.0*Ftmp1; -double Ftmp259 = Ftmp110*Ftmp257 - Ftmp22*Ftmp258; -double Ftmp260 = 62370.0*Ftmp225; -double Ftmp261 = -Ftmp12*Ftmp251; -double Ftmp262 = Ftmp260 + Ftmp261; -double Ftmp263 = Ftmp115*Ftmp257 - Ftmp258*Ftmp26; -double Ftmp264 = 14175.0*Ftmp1; -double Ftmp265 = -Ftmp22*Ftmp264; -double Ftmp266 = 103950.0*Ftmp220; -double Ftmp267 = Ftmp118*Ftmp171; -double Ftmp268 = -Ftmp22*Ftmp267; -double Ftmp269 = -Ftmp26*Ftmp264; -double Ftmp270 = 103950.0*Ftmp225; -double Ftmp271 = -Ftmp26*Ftmp267; -double Ftmp272 = Ftmp22*Ftmp257; -double Ftmp273 = -Ftmp171*Ftmp185*Ftmp22; -double Ftmp274 = x*M[13]; -double Ftmp275 = Ftmp22*Ftmp5; -double Ftmp276 = 15.0*x; -double Ftmp277 = Ftmp1*(Ftmp29 + 3.0); -double Ftmp278 = Ftmp1*(Ftmp24 + 9.0); -double Ftmp279 = Ftmp31 + 15.0; -double Ftmp280 = Ftmp279*M[23]; -double Ftmp281 = Ftmp42*M[30]; -double Ftmp282 = Ftmp5*x; -double Ftmp283 = Ftmp277*M[3]; -double Ftmp284 = Ftmp279*M[11]; -double Ftmp285 = Ftmp6*y; -double Ftmp286 = Ftmp285*Ftmp42; -double Ftmp287 = Ftmp279*M[10]; -double Ftmp288 = 1.0*Ftmp146; -double Ftmp289 = 1.0*Ftmp36; -double Ftmp290 = Ftmp22*Ftmp78; -double Ftmp291 = Ftmp66*Ftmp78; -double Ftmp292 = Ftmp70 + 525.0; -double Ftmp293 = Ftmp22*Ftmp92; -double Ftmp294 = Ftmp65 + 105.0; -double Ftmp295 = Ftmp294*M[23]; -double Ftmp296 = Ftmp98 + 2835.0; -double Ftmp297 = Ftmp100*Ftmp22; -double Ftmp298 = Ftmp297*x; -double Ftmp299 = Ftmp106 + 4725.0; -double Ftmp300 = 1.0*Ftmp298; -double Ftmp301 = Ftmp5*(-Ftmp113*Ftmp12 + Ftmp119 + 45.0); -double Ftmp302 = Ftmp5*(Ftmp112 - 1050.0*Ftmp69 + 225.0); -double Ftmp303 = Ftmp301*M[19]; -double Ftmp304 = 1.0*Ftmp78; -double Ftmp305 = Ftmp127 - 5670.0*Ftmp13 + 315.0; -double Ftmp306 = Ftmp305*M[59]; -double Ftmp307 = Ftmp132*M[77]; -double Ftmp308 = 1.0*Ftmp79; -double Ftmp309 = Ftmp305*M[36]; -double Ftmp310 = Ftmp150*M[57]; -double Ftmp311 = Ftmp18*Ftmp22; -double Ftmp312 = Ftmp305*M[35]; -double Ftmp313 = Ftmp150*M[56]; -double Ftmp314 = Ftmp297*z; -double Ftmp315 = (-62370.0*Ftmp13 + Ftmp149 + 2835.0)*M[59]; -double Ftmp316 = Ftmp153 - 145530.0*Ftmp69 + 33075.0; -double Ftmp317 = 1.0*Ftmp151; -double Ftmp318 = (Ftmp118*Ftmp173 - 42525.0*Ftmp13 + Ftmp178 + 1575.0)*M[55]; -double Ftmp319 = Ftmp5*(Ftmp186 + Ftmp31 + Ftmp73); -double Ftmp320 = -315.0*Ftmp13; -double Ftmp321 = Ftmp5*(Ftmp183 + Ftmp320 + Ftmp42); -double Ftmp322 = Ftmp5*(Ftmp180 + Ftmp42 + Ftmp61); -double Ftmp323 = Ftmp200 + Ftmp202; -double Ftmp324 = Ftmp323 + Ftmp71; -double Ftmp325 = Ftmp324*M[66]; -double Ftmp326 = Ftmp190 + Ftmp202; -double Ftmp327 = Ftmp326 + Ftmp84; -double Ftmp328 = Ftmp327*M[68]; -double Ftmp329 = Ftmp199 + 945.0; -double Ftmp330 = Ftmp196 + Ftmp329; -double Ftmp331 = Ftmp330*M[79]; -double Ftmp332 = 1.0*M[46]; -double Ftmp333 = Ftmp20*Ftmp324; -double Ftmp334 = Ftmp20*Ftmp327; -double Ftmp335 = Ftmp20*Ftmp330; -double Ftmp336 = -4725.0*Ftmp13; -double Ftmp337 = -51975.0*Ftmp13; -double Ftmp338 = Ftmp337 + 14175.0; -double Ftmp339 = 1.0*Ftmp234; -double Ftmp340 = Ftmp189 + Ftmp260 + Ftmp271; -double Ftmp341 = Ftmp254 + Ftmp268; -double Ftmp342 = 31185.0*Ftmp126 - 17010.0*Ftmp13; -double Ftmp343 = -14175.0*Ftmp13; -double Ftmp344 = 103950.0*Ftmp231; -double Ftmp345 = Ftmp1*(Ftmp27 + 9.0); -double Ftmp346 = 1.0*Ftmp282; -double Ftmp347 = Ftmp26*Ftmp304; -double Ftmp348 = Ftmp83 + 525.0; -double Ftmp349 = Ftmp19*Ftmp26; -double Ftmp350 = Ftmp100*Ftmp26; -double Ftmp351 = Ftmp350*x; -double Ftmp352 = Ftmp351*y; -double Ftmp353 = 1.0*Ftmp351; -double Ftmp354 = Ftmp5*(Ftmp116 - 1050.0*Ftmp37 + 225.0); -double Ftmp355 = Ftmp139*Ftmp68; -double Ftmp356 = Ftmp18*Ftmp26; -double Ftmp357 = Ftmp350*y; -double Ftmp358 = Ftmp161 - 145530.0*Ftmp37 + 33075.0; -double Ftmp359 = Ftmp5*(Ftmp183 + Ftmp31 + Ftmp46); -double Ftmp360 = Ftmp5*(Ftmp186 + Ftmp320 + Ftmp49); -double Ftmp361 = Ftmp5*(Ftmp180 + Ftmp182 + Ftmp49); -double Ftmp362 = Ftmp243 + 4725.0; -#pragma omp atomic -F[0] += Ftmp0*(-Ftmp10*M[1] + Ftmp102*Ftmp103*Ftmp99 + Ftmp102*Ftmp105 + Ftmp102*Ftmp159*M[56] + Ftmp102*Ftmp166 + Ftmp102*(Ftmp239 + Ftmp99)*M[63] + Ftmp102*(Ftmp241 + Ftmp242)*M[61] + Ftmp107*Ftmp108*Ftmp109 + Ftmp108*Ftmp167 + Ftmp108*(Ftmp107 + Ftmp233)*M[72] - Ftmp11*x + Ftmp114*M[44] + Ftmp117*M[48] - Ftmp12*Ftmp20*Ftmp21 - Ftmp12*Ftmp90*Ftmp92*M[21] + Ftmp120*x*M[19] + Ftmp120*M[34] + Ftmp121*x + Ftmp122*x - Ftmp125*Ftmp19 - Ftmp129*Ftmp19 - 3.0*Ftmp13*M[0] - Ftmp133*Ftmp68 - Ftmp136*Ftmp93 - Ftmp137*Ftmp92 + Ftmp14*Ftmp15 - Ftmp140*M[75] - Ftmp142*Ftmp79 - Ftmp143*M[35] - Ftmp144*Ftmp79 - Ftmp145*Ftmp146 - Ftmp146*Ftmp148 - Ftmp147*M[36] + Ftmp150*Ftmp151*M[59] + Ftmp151*Ftmp155 + Ftmp151*Ftmp164 - Ftmp156*Ftmp157 - Ftmp156*Ftmp158 - Ftmp156*(Ftmp195 + Ftmp83 + Ftmp95)*M[46] + Ftmp159*Ftmp160*M[57] + Ftmp16*(Ftmp31 + 75.0)*M[9] + Ftmp160*(Ftmp239 + Ftmp242)*M[64] + Ftmp160*(Ftmp241 + Ftmp99)*M[62] + Ftmp168*Ftmp169 + Ftmp168*Ftmp170 + Ftmp168*(Ftmp244 + Ftmp245)*M[73] + Ftmp17*Ftmp3 + Ftmp17*z*M[5] - Ftmp175*Ftmp78 - Ftmp177*Ftmp78 + Ftmp181*x*M[31] + Ftmp181*M[46] + Ftmp184*x*M[22] + Ftmp184*M[37] + Ftmp187*x*M[24] + Ftmp187*M[39] - Ftmp19*Ftmp193 - Ftmp19*Ftmp205 - Ftmp198*Ftmp68 - Ftmp2*Ftmp3 - Ftmp20*Ftmp64 - Ftmp20*Ftmp67 - Ftmp207*Ftmp92 - Ftmp209*Ftmp93 - Ftmp211*Ftmp92 - Ftmp212*M[42] - Ftmp213*M[51] - Ftmp214*M[40] - Ftmp215*M[41] - Ftmp216*M[52] - Ftmp217*M[43] + Ftmp224*M[66] + Ftmp229*M[68] + Ftmp234*M[79] - Ftmp25*M[12] - Ftmp28*M[14] - Ftmp30*x*M[3] - Ftmp30*M[9] + Ftmp33*Ftmp34 - Ftmp34*Ftmp90*Ftmp91 + Ftmp35*z + Ftmp36*Ftmp39 + Ftmp36*Ftmp74*x - Ftmp4*M[5] + Ftmp43*Ftmp44 + Ftmp45*Ftmp47 + Ftmp50*M[28] - Ftmp51*x - Ftmp52*x + Ftmp54*M[10] + Ftmp55*M[15] + Ftmp56*Ftmp57 + Ftmp57*Ftmp59 + Ftmp58*M[11] - Ftmp68*Ftmp72*z + Ftmp7*Ftmp8 + Ftmp75*Ftmp76 + Ftmp75*Ftmp77 - Ftmp78*(Ftmp135 + Ftmp250)*M[78] - Ftmp78*(Ftmp141 + Ftmp199 + Ftmp253)*M[80] - Ftmp78*(Ftmp203 + Ftmp256 + Ftmp259)*M[65] - Ftmp78*(Ftmp203 + Ftmp262 + Ftmp263)*M[69] - Ftmp78*(218295.0*Ftmp126 - 99225.0*Ftmp13 + Ftmp178 + 11025.0)*M[55] - Ftmp78*(Ftmp128 + Ftmp265 + Ftmp266 + Ftmp268)*M[58] - Ftmp78*(Ftmp128 + Ftmp269 + Ftmp270 + Ftmp271)*M[60] - Ftmp78*(Ftmp192 + Ftmp201 + Ftmp26*Ftmp272 + Ftmp273)*M[67] - Ftmp80*Ftmp82 - Ftmp81*M[23] - Ftmp85*Ftmp86 - Ftmp87*Ftmp88 - Ftmp87*Ftmp89 - Ftmp91*(Ftmp127 - 13230.0*Ftmp13 + 3675.0)*M[34] - Ftmp91*(Ftmp190 + Ftmp237 + Ftmp90)*M[39] - Ftmp91*(Ftmp200 + Ftmp236 + Ftmp90)*M[37] - Ftmp94*Ftmp96 - Ftmp94*Ftmp97 + 1.0*M[0]); -#pragma omp atomic -F[1] += Ftmp0*(-Ftmp10*M[0] + Ftmp103*Ftmp296*Ftmp298 + Ftmp105*Ftmp298 + Ftmp109*Ftmp299*Ftmp300 - Ftmp11*y + Ftmp117*M[53] + Ftmp122*y - Ftmp125*Ftmp78 - Ftmp129*Ftmp78 - Ftmp132*Ftmp20*M[50] - Ftmp132*Ftmp308*M[44] - Ftmp133*Ftmp304 - Ftmp140*M[81] - Ftmp142*Ftmp311 - Ftmp143*M[34] - Ftmp146*Ftmp21*Ftmp22 - Ftmp146*Ftmp64 - Ftmp146*Ftmp67 - Ftmp148*Ftmp20 + Ftmp15*y*M[5] + Ftmp151*Ftmp310 + Ftmp154*Ftmp317*M[71] - Ftmp158*Ftmp308 + Ftmp164*Ftmp314 + Ftmp166*Ftmp298 + Ftmp170*Ftmp317 - Ftmp177*Ftmp19 - Ftmp19*Ftmp318 - Ftmp19*(Ftmp305 + Ftmp340)*M[60] - Ftmp19*(Ftmp141 + Ftmp202 + Ftmp262)*M[69] - Ftmp19*(Ftmp253 + Ftmp263 + Ftmp329)*M[80] - Ftmp19*(Ftmp329 + Ftmp341 + Ftmp342)*M[58] - Ftmp19*(Ftmp132 + Ftmp249 + Ftmp269 + Ftmp344)*M[78] - Ftmp19*(Ftmp132 + Ftmp255 + Ftmp266 + Ftmp343)*M[65] - Ftmp19*(218295.0*Ftmp152 + Ftmp172 - 99225.0*Ftmp69 + 11025.0)*M[76] - Ftmp19*(Ftmp185*Ftmp257 + Ftmp197 + Ftmp273 + Ftmp323)*M[67] - Ftmp193*Ftmp78 - Ftmp198*Ftmp304 - Ftmp20*Ftmp309 - Ftmp205*Ftmp78 - Ftmp212*M[39] - Ftmp213*Ftmp332 - Ftmp214*M[37] - Ftmp22*Ftmp291*M[20] + Ftmp22*Ftmp7*M[7] - Ftmp22*Ftmp85*Ftmp93 + Ftmp224*M[62] + Ftmp229*M[64] + Ftmp274*Ftmp7 + Ftmp275*Ftmp276*M[4] + Ftmp275*Ftmp287 + Ftmp275*Ftmp74 + Ftmp275*(Ftmp41 + 75.0)*M[15] - Ftmp277*M[10] - Ftmp278*y*M[6] - Ftmp278*M[15] - Ftmp28*M[17] + Ftmp280*Ftmp6 + Ftmp281*Ftmp6 + Ftmp282*Ftmp39 + Ftmp282*Ftmp42*Ftmp44 - Ftmp283*y + Ftmp284*Ftmp285 + Ftmp285*Ftmp59 + Ftmp286*M[16] - Ftmp288*Ftmp72 + Ftmp289*Ftmp77*x - Ftmp290*Ftmp292*Ftmp44 - Ftmp290*Ftmp88 - Ftmp292*Ftmp293*M[30] - Ftmp293*Ftmp295 + Ftmp298*Ftmp313 + Ftmp298*(Ftmp223 + Ftmp338)*M[61] + Ftmp298*(Ftmp228 + Ftmp296)*M[63] + Ftmp300*Ftmp316*M[70] + Ftmp300*(Ftmp232 + Ftmp238 + Ftmp299)*M[72] + Ftmp301*M[35] + Ftmp302*y*M[29] + Ftmp302*M[49] + Ftmp303*y - Ftmp306*Ftmp92 - Ftmp307*Ftmp92 - Ftmp311*Ftmp312 - Ftmp311*(Ftmp131 - 13230.0*Ftmp69 + 3675.0)*M[49] - Ftmp311*(Ftmp190 + Ftmp294 + Ftmp83)*M[42] - Ftmp311*(Ftmp195 + Ftmp237 + Ftmp292)*M[51] - Ftmp311*(Ftmp200 + Ftmp292 + Ftmp336)*M[40] + Ftmp314*Ftmp315 + Ftmp314*Ftmp316*M[77] + Ftmp314*(Ftmp218 + Ftmp226 + Ftmp244)*M[68] + Ftmp314*(Ftmp221 + Ftmp299 + Ftmp337)*M[66] + Ftmp314*(Ftmp238 + Ftmp245 + 14175.0)*M[79] + Ftmp319*y*M[24] + Ftmp319*M[42] + Ftmp321*y*M[22] + Ftmp321*M[40] + Ftmp322*y*M[31] + Ftmp322*M[51] - Ftmp325*Ftmp92 - Ftmp328*Ftmp92 - Ftmp331*Ftmp92 - Ftmp333*M[41] - Ftmp334*M[43] - Ftmp335*M[52] + Ftmp339*M[73] - Ftmp4*M[7] + Ftmp50*M[32] - Ftmp52*y + Ftmp53*M[20] + Ftmp54*M[9] + 1.0*Ftmp55*M[12] - 3.0*Ftmp69*M[1] - Ftmp71*Ftmp86*M[26] - Ftmp81*M[21] - Ftmp86*Ftmp97 - Ftmp9*M[4] + 1.0*M[1]); -#pragma omp atomic -F[2] += Ftmp0*(Ftmp107*Ftmp353*y*M[45] + Ftmp114*M[50] + Ftmp121*z + Ftmp124*Ftmp151*(Ftmp165 - 34650.0*Ftmp37 + 4725.0) - Ftmp136*Ftmp304 - Ftmp137*Ftmp78 - Ftmp139*Ftmp288*M[48] - Ftmp139*Ftmp304*M[75] - Ftmp14*Ftmp2 + 15.0*Ftmp14*Ftmp230 - Ftmp144*Ftmp20 - Ftmp145*Ftmp356 - Ftmp146*Ftmp34*Ftmp66 - Ftmp147*M[34] + Ftmp15*Ftmp3 + Ftmp151*Ftmp313 + Ftmp155*Ftmp357 - Ftmp157*Ftmp288 + Ftmp163*Ftmp357*Ftmp358 + Ftmp167*Ftmp317 + Ftmp169*Ftmp353 - Ftmp175*Ftmp92 - Ftmp19*Ftmp306 - Ftmp19*Ftmp307 - Ftmp19*Ftmp325 - Ftmp19*Ftmp328 - Ftmp19*Ftmp331 - Ftmp20*Ftmp312 - Ftmp207*Ftmp78 - Ftmp209*Ftmp304 - Ftmp211*Ftmp78 - Ftmp215*M[37] - Ftmp216*Ftmp332 - Ftmp217*M[39] + Ftmp224*M[61] + Ftmp229*M[63] + Ftmp230*Ftmp276*M[5] + Ftmp230*Ftmp284 + Ftmp230*Ftmp56 + Ftmp230*(Ftmp48 + 75.0)*M[18] - Ftmp25*M[16] - Ftmp26*Ftmp291*M[21] - Ftmp26*Ftmp348*Ftmp68*M[32] - 105.0*Ftmp26*Ftmp78*Ftmp8 + 15.0*Ftmp274*Ftmp36 - Ftmp277*M[11] + Ftmp280*Ftmp36 + Ftmp281*Ftmp36 - Ftmp283*z + Ftmp285*Ftmp287 + Ftmp286*M[15] + Ftmp289*Ftmp49*M[32] - Ftmp295*Ftmp349 + Ftmp296*Ftmp352*M[38] + Ftmp301*M[36] + Ftmp303*z - Ftmp308*Ftmp72 - Ftmp309*Ftmp356 + Ftmp310*Ftmp351 + Ftmp315*Ftmp357 - Ftmp318*Ftmp92 - Ftmp333*M[40] - Ftmp334*M[42] - Ftmp335*M[51] + Ftmp339*M[72] - Ftmp345*z*M[8] - Ftmp345*M[18] + Ftmp346*Ftmp47 + Ftmp346*Ftmp49*M[28] - Ftmp347*Ftmp348*M[28] - Ftmp347*Ftmp96 - Ftmp349*Ftmp82 + Ftmp35*x + Ftmp351*(Ftmp223 + Ftmp296)*M[62] + Ftmp351*(Ftmp228 + Ftmp338)*M[64] + Ftmp352*Ftmp63*(Ftmp104 + 1575.0) + Ftmp353*Ftmp358*M[75] + Ftmp353*(Ftmp232 + Ftmp240 + Ftmp362)*M[73] + Ftmp354*z*M[33] + Ftmp354*M[54] - Ftmp355*z*M[53] - Ftmp355*M[81] - Ftmp356*(Ftmp138 - 13230.0*Ftmp37 + 3675.0)*M[54] - Ftmp356*(Ftmp190 + Ftmp336 + Ftmp348)*M[43] - Ftmp356*(Ftmp195 + Ftmp236 + Ftmp348)*M[52] - Ftmp356*(Ftmp200 + Ftmp65 + Ftmp95)*M[41] + Ftmp357*(Ftmp107 + Ftmp218 + Ftmp221)*M[66] + Ftmp357*(Ftmp226 + Ftmp337 + Ftmp362)*M[68] + Ftmp357*(Ftmp233 + Ftmp240 + 14175.0)*M[79] + Ftmp359*z*M[22] + Ftmp359*M[41] + Ftmp360*z*M[24] + Ftmp360*M[43] + Ftmp361*z*M[31] + Ftmp361*M[52] - 3.0*Ftmp37*M[2] - Ftmp38*Ftmp62*Ftmp80 - Ftmp4*x*M[0] - Ftmp4*y*M[1] + Ftmp45*Ftmp76*x + Ftmp50*x*M[14] + Ftmp50*y*M[17] - Ftmp51*z + Ftmp58*M[9] - Ftmp64*Ftmp79 - Ftmp67*Ftmp79 - Ftmp80*Ftmp89 - Ftmp9*M[5] - Ftmp92*(Ftmp135 + Ftmp202 + Ftmp256)*M[65] - Ftmp92*(Ftmp199 + Ftmp305 + Ftmp341)*M[58] - Ftmp92*(Ftmp250 + Ftmp259 + 945.0)*M[78] - Ftmp92*(Ftmp340 + Ftmp342 + 945.0)*M[60] - Ftmp92*(218295.0*Ftmp123 + Ftmp176 - 99225.0*Ftmp37 + 11025.0)*M[82] - Ftmp92*(Ftmp139 + Ftmp252 + Ftmp265 + Ftmp344)*M[80] - Ftmp92*(Ftmp139 + Ftmp261 + Ftmp270 + Ftmp343)*M[69] - Ftmp92*(Ftmp12*Ftmp272 + Ftmp208 + Ftmp273 + Ftmp326)*M[67] + 1.0*M[2]); - -} - -void P2M_7(double x, double y, double z, double q, double * M) { -double Mtmp0 = q*x; -double Mtmp1 = q*y; -double Mtmp2 = q*z; -double Mtmp3 = pow(x, 2); -double Mtmp4 = (1.0/2.0)*q; -double Mtmp5 = Mtmp0*y; -double Mtmp6 = Mtmp0*z; -double Mtmp7 = pow(y, 2); -double Mtmp8 = Mtmp1*z; -double Mtmp9 = pow(z, 2); -double Mtmp10 = pow(x, 3); -double Mtmp11 = (1.0/6.0)*q; -double Mtmp12 = (1.0/2.0)*Mtmp3; -double Mtmp13 = (1.0/2.0)*Mtmp0; -double Mtmp14 = pow(y, 3); -double Mtmp15 = (1.0/2.0)*Mtmp7; -double Mtmp16 = (1.0/2.0)*Mtmp9; -double Mtmp17 = pow(z, 3); -double Mtmp18 = pow(x, 4); -double Mtmp19 = (1.0/24.0)*q; -double Mtmp20 = (1.0/6.0)*Mtmp10; -double Mtmp21 = Mtmp7*q; -double Mtmp22 = (1.0/4.0)*Mtmp3; -double Mtmp23 = Mtmp9*q; -double Mtmp24 = (1.0/6.0)*Mtmp0; -double Mtmp25 = pow(y, 4); -double Mtmp26 = (1.0/6.0)*Mtmp14; -double Mtmp27 = (1.0/4.0)*Mtmp9; -double Mtmp28 = (1.0/6.0)*Mtmp17; -double Mtmp29 = pow(z, 4); -double Mtmp30 = pow(x, 5); -double Mtmp31 = (1.0/120.0)*q; -double Mtmp32 = (1.0/24.0)*Mtmp18; -double Mtmp33 = (1.0/12.0)*Mtmp10; -double Mtmp34 = (1.0/12.0)*Mtmp14; -double Mtmp35 = Mtmp3*q; -double Mtmp36 = Mtmp2*Mtmp7; -double Mtmp37 = Mtmp1*Mtmp9; -double Mtmp38 = (1.0/12.0)*Mtmp17; -double Mtmp39 = (1.0/24.0)*Mtmp0; -double Mtmp40 = Mtmp0*Mtmp7; -double Mtmp41 = pow(y, 5); -double Mtmp42 = (1.0/24.0)*Mtmp25; -double Mtmp43 = (1.0/24.0)*Mtmp29; -double Mtmp44 = pow(z, 5); -double Mtmp45 = pow(x, 6); -double Mtmp46 = (1.0/720.0)*q; -double Mtmp47 = (1.0/120.0)*Mtmp30; -double Mtmp48 = (1.0/48.0)*Mtmp18; -double Mtmp49 = Mtmp14*q; -double Mtmp50 = (1.0/36.0)*Mtmp10; -double Mtmp51 = Mtmp17*q; -double Mtmp52 = (1.0/48.0)*Mtmp35; -double Mtmp53 = Mtmp2*Mtmp3; -double Mtmp54 = Mtmp3*Mtmp9; -double Mtmp55 = Mtmp1*Mtmp3; -double Mtmp56 = (1.0/120.0)*Mtmp0; -double Mtmp57 = Mtmp0*Mtmp9; -double Mtmp58 = pow(y, 6); -double Mtmp59 = (1.0/120.0)*Mtmp41; -double Mtmp60 = (1.0/48.0)*Mtmp25; -double Mtmp61 = (1.0/36.0)*Mtmp17; -double Mtmp62 = (1.0/48.0)*Mtmp29; -double Mtmp63 = (1.0/120.0)*Mtmp44; -double Mtmp64 = pow(z, 6); -double Mtmp65 = (1.0/5040.0)*q; -double Mtmp66 = (1.0/720.0)*Mtmp45; -double Mtmp67 = (1.0/240.0)*Mtmp30; -double Mtmp68 = (1.0/144.0)*Mtmp18; -double Mtmp69 = (1.0/144.0)*Mtmp25; -double Mtmp70 = Mtmp10*q; -double Mtmp71 = Mtmp19*Mtmp7; -double Mtmp72 = (1.0/144.0)*Mtmp29; -double Mtmp73 = (1.0/240.0)*Mtmp35; -double Mtmp74 = (1.0/720.0)*Mtmp0; -M[0] += -Mtmp0; -M[1] += -Mtmp1; -M[2] += -Mtmp2; -M[3] += Mtmp3*Mtmp4; -M[4] += Mtmp5; -M[5] += Mtmp6; -M[6] += Mtmp4*Mtmp7; -M[7] += Mtmp8; -M[8] += Mtmp4*Mtmp9; -M[9] += -Mtmp10*Mtmp11; -M[10] += -Mtmp1*Mtmp12; -M[11] += -Mtmp12*Mtmp2; -M[12] += -Mtmp13*Mtmp7; -M[13] += -Mtmp5*z; -M[14] += -Mtmp13*Mtmp9; -M[15] += -Mtmp11*Mtmp14; -M[16] += -Mtmp15*Mtmp2; -M[17] += -Mtmp1*Mtmp16; -M[18] += -Mtmp11*Mtmp17; -M[19] += Mtmp18*Mtmp19; -M[20] += Mtmp1*Mtmp20; -M[21] += Mtmp2*Mtmp20; -M[22] += Mtmp21*Mtmp22; -M[23] += Mtmp12*Mtmp8; -M[24] += Mtmp22*Mtmp23; -M[25] += Mtmp14*Mtmp24; -M[26] += Mtmp15*Mtmp6; -M[27] += Mtmp16*Mtmp5; -M[28] += Mtmp17*Mtmp24; -M[29] += Mtmp19*Mtmp25; -M[30] += Mtmp2*Mtmp26; -M[31] += Mtmp21*Mtmp27; -M[32] += Mtmp1*Mtmp28; -M[33] += Mtmp19*Mtmp29; -M[34] += -Mtmp30*Mtmp31; -M[35] += -Mtmp1*Mtmp32; -M[36] += -Mtmp2*Mtmp32; -M[37] += -Mtmp21*Mtmp33; -M[38] += -Mtmp20*Mtmp8; -M[39] += -Mtmp23*Mtmp33; -M[40] += -Mtmp34*Mtmp35; -M[41] += -Mtmp22*Mtmp36; -M[42] += -Mtmp22*Mtmp37; -M[43] += -Mtmp35*Mtmp38; -M[44] += -Mtmp25*Mtmp39; -M[45] += -Mtmp26*Mtmp6; -M[46] += -Mtmp27*Mtmp40; -M[47] += -Mtmp28*Mtmp5; -M[48] += -Mtmp29*Mtmp39; -M[49] += -Mtmp31*Mtmp41; -M[50] += -Mtmp2*Mtmp42; -M[51] += -Mtmp23*Mtmp34; -M[52] += -Mtmp21*Mtmp38; -M[53] += -Mtmp1*Mtmp43; -M[54] += -Mtmp31*Mtmp44; -M[55] += Mtmp45*Mtmp46; -M[56] += Mtmp1*Mtmp47; -M[57] += Mtmp2*Mtmp47; -M[58] += Mtmp21*Mtmp48; -M[59] += Mtmp32*Mtmp8; -M[60] += Mtmp23*Mtmp48; -M[61] += Mtmp49*Mtmp50; -M[62] += Mtmp33*Mtmp36; -M[63] += Mtmp33*Mtmp37; -M[64] += Mtmp50*Mtmp51; -M[65] += Mtmp25*Mtmp52; -M[66] += Mtmp34*Mtmp53; -M[67] += (1.0/8.0)*Mtmp21*Mtmp54; -M[68] += Mtmp38*Mtmp55; -M[69] += Mtmp29*Mtmp52; -M[70] += Mtmp41*Mtmp56; -M[71] += Mtmp42*Mtmp6; -M[72] += Mtmp34*Mtmp57; -M[73] += Mtmp38*Mtmp40; -M[74] += Mtmp43*Mtmp5; -M[75] += Mtmp44*Mtmp56; -M[76] += Mtmp46*Mtmp58; -M[77] += Mtmp2*Mtmp59; -M[78] += Mtmp23*Mtmp60; -M[79] += Mtmp49*Mtmp61; -M[80] += Mtmp21*Mtmp62; -M[81] += Mtmp1*Mtmp63; -M[82] += Mtmp46*Mtmp64; -M[83] += -Mtmp65*pow(x, 7); -M[84] += -Mtmp1*Mtmp66; -M[85] += -Mtmp2*Mtmp66; -M[86] += -Mtmp21*Mtmp67; -M[87] += -Mtmp47*Mtmp8; -M[88] += -Mtmp23*Mtmp67; -M[89] += -Mtmp49*Mtmp68; -M[90] += -Mtmp36*Mtmp48; -M[91] += -Mtmp37*Mtmp48; -M[92] += -Mtmp51*Mtmp68; -M[93] += -Mtmp69*Mtmp70; -M[94] += -Mtmp14*Mtmp2*Mtmp50; -M[95] += -Mtmp10*Mtmp71*Mtmp9; -M[96] += -Mtmp1*Mtmp17*Mtmp50; -M[97] += -Mtmp70*Mtmp72; -M[98] += -Mtmp41*Mtmp73; -M[99] += -Mtmp53*Mtmp60; -M[100] += -Mtmp14*Mtmp19*Mtmp54; -M[101] += -Mtmp17*Mtmp3*Mtmp71; -M[102] += -Mtmp55*Mtmp62; -M[103] += -Mtmp44*Mtmp73; -M[104] += -Mtmp58*Mtmp74; -M[105] += -Mtmp59*Mtmp6; -M[106] += -Mtmp57*Mtmp60; -M[107] += -Mtmp0*Mtmp14*Mtmp61; -M[108] += -Mtmp40*Mtmp62; -M[109] += -Mtmp5*Mtmp63; -M[110] += -Mtmp64*Mtmp74; -M[111] += -Mtmp65*pow(y, 7); -M[112] += -1.0/720.0*Mtmp2*Mtmp58; -M[113] += -1.0/240.0*Mtmp23*Mtmp41; -M[114] += -Mtmp51*Mtmp69; -M[115] += -Mtmp49*Mtmp72; -M[116] += -1.0/240.0*Mtmp21*Mtmp44; -M[117] += -1.0/720.0*Mtmp1*Mtmp64; -M[118] += -Mtmp65*pow(z, 7); - -} -void M2M_7(double x, double y, double z, double * M, double * Ms) { -double Mstmp0 = x*M[0]; -double Mstmp1 = x*M[1]; -double Mstmp2 = y*M[0]; -double Mstmp3 = x*M[2]; -double Mstmp4 = z*M[0]; -double Mstmp5 = y*M[1]; -double Mstmp6 = y*M[2]; -double Mstmp7 = z*M[1]; -double Mstmp8 = z*M[2]; -double Mstmp9 = x*M[3]; -double Mstmp10 = pow(x, 2); -double Mstmp11 = (1.0/2.0)*Mstmp10; -double Mstmp12 = x*M[4]; -double Mstmp13 = y*M[3]; -double Mstmp14 = Mstmp0*y; -double Mstmp15 = x*M[5]; -double Mstmp16 = z*M[3]; -double Mstmp17 = Mstmp0*z; -double Mstmp18 = x*M[6]; -double Mstmp19 = y*M[4]; -double Mstmp20 = Mstmp1*y; -double Mstmp21 = pow(y, 2); -double Mstmp22 = (1.0/2.0)*M[0]; -double Mstmp23 = x*M[7]; -double Mstmp24 = y*M[5]; -double Mstmp25 = z*M[4]; -double Mstmp26 = Mstmp3*y; -double Mstmp27 = Mstmp1*z; -double Mstmp28 = Mstmp2*z; -double Mstmp29 = x*M[8]; -double Mstmp30 = z*M[5]; -double Mstmp31 = Mstmp3*z; -double Mstmp32 = pow(z, 2); -double Mstmp33 = y*M[6]; -double Mstmp34 = (1.0/2.0)*Mstmp21; -double Mstmp35 = y*M[7]; -double Mstmp36 = z*M[6]; -double Mstmp37 = Mstmp5*z; -double Mstmp38 = y*M[8]; -double Mstmp39 = z*M[7]; -double Mstmp40 = Mstmp6*z; -double Mstmp41 = (1.0/2.0)*Mstmp32; -double Mstmp42 = z*M[8]; -double Mstmp43 = x*M[9]; -double Mstmp44 = pow(x, 3); -double Mstmp45 = (1.0/6.0)*Mstmp44; -double Mstmp46 = x*M[10]; -double Mstmp47 = y*M[9]; -double Mstmp48 = Mstmp9*y; -double Mstmp49 = x*M[11]; -double Mstmp50 = z*M[9]; -double Mstmp51 = Mstmp9*z; -double Mstmp52 = x*M[12]; -double Mstmp53 = y*M[10]; -double Mstmp54 = Mstmp12*y; -double Mstmp55 = x*M[13]; -double Mstmp56 = y*M[11]; -double Mstmp57 = z*M[10]; -double Mstmp58 = Mstmp15*y; -double Mstmp59 = Mstmp12*z; -double Mstmp60 = Mstmp13*z; -double Mstmp61 = x*M[14]; -double Mstmp62 = z*M[11]; -double Mstmp63 = Mstmp15*z; -double Mstmp64 = x*M[15]; -double Mstmp65 = y*M[12]; -double Mstmp66 = Mstmp18*y; -double Mstmp67 = pow(y, 3); -double Mstmp68 = (1.0/6.0)*M[0]; -double Mstmp69 = x*M[16]; -double Mstmp70 = y*M[13]; -double Mstmp71 = z*M[12]; -double Mstmp72 = Mstmp23*y; -double Mstmp73 = Mstmp18*z; -double Mstmp74 = Mstmp19*z; -double Mstmp75 = x*M[17]; -double Mstmp76 = y*M[14]; -double Mstmp77 = z*M[13]; -double Mstmp78 = Mstmp29*y; -double Mstmp79 = Mstmp23*z; -double Mstmp80 = Mstmp24*z; -double Mstmp81 = x*M[18]; -double Mstmp82 = z*M[14]; -double Mstmp83 = Mstmp29*z; -double Mstmp84 = pow(z, 3); -double Mstmp85 = y*M[15]; -double Mstmp86 = (1.0/6.0)*Mstmp67; -double Mstmp87 = y*M[16]; -double Mstmp88 = z*M[15]; -double Mstmp89 = Mstmp33*z; -double Mstmp90 = y*M[17]; -double Mstmp91 = z*M[16]; -double Mstmp92 = Mstmp35*z; -double Mstmp93 = y*M[18]; -double Mstmp94 = z*M[17]; -double Mstmp95 = Mstmp38*z; -double Mstmp96 = (1.0/6.0)*Mstmp84; -double Mstmp97 = z*M[18]; -double Mstmp98 = x*M[19]; -double Mstmp99 = pow(x, 4); -double Mstmp100 = (1.0/24.0)*Mstmp99; -double Mstmp101 = x*M[20]; -double Mstmp102 = y*M[19]; -double Mstmp103 = Mstmp43*y; -double Mstmp104 = x*M[21]; -double Mstmp105 = z*M[19]; -double Mstmp106 = Mstmp43*z; -double Mstmp107 = x*M[22]; -double Mstmp108 = y*M[20]; -double Mstmp109 = Mstmp46*y; -double Mstmp110 = (1.0/4.0)*Mstmp10; -double Mstmp111 = Mstmp21*M[0]; -double Mstmp112 = x*M[23]; -double Mstmp113 = y*M[21]; -double Mstmp114 = z*M[20]; -double Mstmp115 = Mstmp49*y; -double Mstmp116 = Mstmp46*z; -double Mstmp117 = Mstmp47*z; -double Mstmp118 = x*M[24]; -double Mstmp119 = z*M[21]; -double Mstmp120 = Mstmp49*z; -double Mstmp121 = Mstmp110*Mstmp32; -double Mstmp122 = x*M[25]; -double Mstmp123 = y*M[22]; -double Mstmp124 = Mstmp52*y; -double Mstmp125 = Mstmp110*Mstmp21; -double Mstmp126 = x*M[26]; -double Mstmp127 = y*M[23]; -double Mstmp128 = z*M[22]; -double Mstmp129 = Mstmp55*y; -double Mstmp130 = Mstmp52*z; -double Mstmp131 = Mstmp53*z; -double Mstmp132 = x*M[27]; -double Mstmp133 = y*M[24]; -double Mstmp134 = z*M[23]; -double Mstmp135 = Mstmp61*y; -double Mstmp136 = Mstmp55*z; -double Mstmp137 = Mstmp56*z; -double Mstmp138 = x*M[28]; -double Mstmp139 = z*M[24]; -double Mstmp140 = Mstmp61*z; -double Mstmp141 = x*M[29]; -double Mstmp142 = y*M[25]; -double Mstmp143 = Mstmp64*y; -double Mstmp144 = pow(y, 4); -double Mstmp145 = (1.0/24.0)*M[0]; -double Mstmp146 = x*M[30]; -double Mstmp147 = y*M[26]; -double Mstmp148 = z*M[25]; -double Mstmp149 = Mstmp69*y; -double Mstmp150 = Mstmp64*z; -double Mstmp151 = Mstmp65*z; -double Mstmp152 = x*M[31]; -double Mstmp153 = y*M[27]; -double Mstmp154 = z*M[26]; -double Mstmp155 = Mstmp75*y; -double Mstmp156 = Mstmp69*z; -double Mstmp157 = Mstmp70*z; -double Mstmp158 = (1.0/4.0)*Mstmp32; -double Mstmp159 = x*M[32]; -double Mstmp160 = y*M[28]; -double Mstmp161 = z*M[27]; -double Mstmp162 = Mstmp81*y; -double Mstmp163 = Mstmp75*z; -double Mstmp164 = Mstmp76*z; -double Mstmp165 = x*M[33]; -double Mstmp166 = z*M[28]; -double Mstmp167 = Mstmp81*z; -double Mstmp168 = pow(z, 4); -double Mstmp169 = y*M[29]; -double Mstmp170 = (1.0/24.0)*Mstmp144; -double Mstmp171 = y*M[30]; -double Mstmp172 = z*M[29]; -double Mstmp173 = Mstmp85*z; -double Mstmp174 = y*M[31]; -double Mstmp175 = z*M[30]; -double Mstmp176 = Mstmp87*z; -double Mstmp177 = Mstmp158*Mstmp21; -double Mstmp178 = y*M[32]; -double Mstmp179 = z*M[31]; -double Mstmp180 = Mstmp90*z; -double Mstmp181 = y*M[33]; -double Mstmp182 = z*M[32]; -double Mstmp183 = Mstmp93*z; -double Mstmp184 = (1.0/24.0)*Mstmp168; -double Mstmp185 = z*M[33]; -double Mstmp186 = x*M[34]; -double Mstmp187 = (1.0/120.0)*pow(x, 5); -double Mstmp188 = x*M[35]; -double Mstmp189 = y*M[34]; -double Mstmp190 = Mstmp98*y; -double Mstmp191 = x*M[36]; -double Mstmp192 = x*M[37]; -double Mstmp193 = y*M[35]; -double Mstmp194 = Mstmp101*y; -double Mstmp195 = (1.0/12.0)*Mstmp44; -double Mstmp196 = x*M[38]; -double Mstmp197 = y*M[36]; -double Mstmp198 = Mstmp104*y; -double Mstmp199 = x*M[39]; -double Mstmp200 = Mstmp195*Mstmp32; -double Mstmp201 = x*M[40]; -double Mstmp202 = y*M[37]; -double Mstmp203 = Mstmp107*y; -double Mstmp204 = (1.0/12.0)*Mstmp10; -double Mstmp205 = Mstmp67*M[0]; -double Mstmp206 = Mstmp195*Mstmp21; -double Mstmp207 = x*M[41]; -double Mstmp208 = y*M[38]; -double Mstmp209 = Mstmp112*y; -double Mstmp210 = x*M[42]; -double Mstmp211 = y*M[39]; -double Mstmp212 = Mstmp118*y; -double Mstmp213 = x*M[43]; -double Mstmp214 = Mstmp204*Mstmp84; -double Mstmp215 = x*M[44]; -double Mstmp216 = y*M[40]; -double Mstmp217 = Mstmp122*y; -double Mstmp218 = Mstmp204*Mstmp67; -double Mstmp219 = x*M[45]; -double Mstmp220 = y*M[41]; -double Mstmp221 = Mstmp126*y; -double Mstmp222 = x*M[46]; -double Mstmp223 = y*M[42]; -double Mstmp224 = Mstmp132*y; -double Mstmp225 = x*M[47]; -double Mstmp226 = y*M[43]; -double Mstmp227 = Mstmp138*y; -double Mstmp228 = x*M[48]; -double Mstmp229 = x*M[49]; -double Mstmp230 = y*M[44]; -double Mstmp231 = Mstmp141*y; -double Mstmp232 = pow(y, 5); -double Mstmp233 = (1.0/120.0)*M[0]; -double Mstmp234 = x*M[50]; -double Mstmp235 = y*M[45]; -double Mstmp236 = Mstmp146*y; -double Mstmp237 = x*M[51]; -double Mstmp238 = y*M[46]; -double Mstmp239 = Mstmp152*y; -double Mstmp240 = (1.0/12.0)*Mstmp32; -double Mstmp241 = x*M[52]; -double Mstmp242 = y*M[47]; -double Mstmp243 = Mstmp159*y; -double Mstmp244 = (1.0/12.0)*Mstmp84; -double Mstmp245 = x*M[53]; -double Mstmp246 = y*M[48]; -double Mstmp247 = Mstmp165*y; -double Mstmp248 = x*M[54]; -double Mstmp249 = pow(z, 5); -double Mstmp250 = y*M[49]; -double Mstmp251 = (1.0/120.0)*Mstmp232; -double Mstmp252 = y*M[50]; -double Mstmp253 = y*M[51]; -double Mstmp254 = Mstmp240*Mstmp67; -double Mstmp255 = y*M[52]; -double Mstmp256 = Mstmp21*Mstmp244; -double Mstmp257 = y*M[53]; -double Mstmp258 = y*M[54]; -double Mstmp259 = (1.0/120.0)*Mstmp249; -double Mstmp260 = (1.0/720.0)*pow(x, 6); -double Mstmp261 = (1.0/48.0)*Mstmp99; -double Mstmp262 = Mstmp261*Mstmp32; -double Mstmp263 = (1.0/36.0)*Mstmp44; -double Mstmp264 = Mstmp21*Mstmp261; -double Mstmp265 = Mstmp263*Mstmp84; -double Mstmp266 = (1.0/48.0)*Mstmp10; -double Mstmp267 = Mstmp266*M[0]; -double Mstmp268 = Mstmp263*Mstmp67; -double Mstmp269 = (1.0/8.0)*Mstmp10*Mstmp32; -double Mstmp270 = Mstmp144*Mstmp266; -double Mstmp271 = Mstmp21*Mstmp269; -double Mstmp272 = Mstmp168*Mstmp266; -double Mstmp273 = pow(y, 6); -double Mstmp274 = (1.0/720.0)*M[0]; -double Mstmp275 = (1.0/48.0)*Mstmp144*Mstmp32; -double Mstmp276 = (1.0/36.0)*Mstmp84; -double Mstmp277 = (1.0/48.0)*Mstmp168; -double Mstmp278 = pow(z, 6); -double Mstmp279 = (1.0/720.0)*Mstmp273; -double Mstmp280 = Mstmp276*Mstmp67; -double Mstmp281 = Mstmp21*Mstmp277; -double Mstmp282 = (1.0/720.0)*Mstmp278; -#pragma omp atomic -Ms[0] += M[0]; -#pragma omp atomic -Ms[1] += M[1]; -#pragma omp atomic -Ms[2] += M[2]; -#pragma omp atomic -Ms[3] += Mstmp0 + M[3]; -#pragma omp atomic -Ms[4] += Mstmp1 + Mstmp2 + M[4]; -#pragma omp atomic -Ms[5] += Mstmp3 + Mstmp4 + M[5]; -#pragma omp atomic -Ms[6] += Mstmp5 + M[6]; -#pragma omp atomic -Ms[7] += Mstmp6 + Mstmp7 + M[7]; -#pragma omp atomic -Ms[8] += Mstmp8 + M[8]; -#pragma omp atomic -Ms[9] += Mstmp11*M[0] + Mstmp9 + M[9]; -#pragma omp atomic -Ms[10] += Mstmp11*M[1] + Mstmp12 + Mstmp13 + Mstmp14 + M[10]; -#pragma omp atomic -Ms[11] += Mstmp11*M[2] + Mstmp15 + Mstmp16 + Mstmp17 + M[11]; -#pragma omp atomic -Ms[12] += Mstmp18 + Mstmp19 + Mstmp20 + Mstmp21*Mstmp22 + M[12]; -#pragma omp atomic -Ms[13] += Mstmp23 + Mstmp24 + Mstmp25 + Mstmp26 + Mstmp27 + Mstmp28 + M[13]; -#pragma omp atomic -Ms[14] += Mstmp22*Mstmp32 + Mstmp29 + Mstmp30 + Mstmp31 + M[14]; -#pragma omp atomic -Ms[15] += Mstmp33 + Mstmp34*M[1] + M[15]; -#pragma omp atomic -Ms[16] += Mstmp34*M[2] + Mstmp35 + Mstmp36 + Mstmp37 + M[16]; -#pragma omp atomic -Ms[17] += Mstmp38 + Mstmp39 + Mstmp40 + Mstmp41*M[1] + M[17]; -#pragma omp atomic -Ms[18] += Mstmp41*M[2] + Mstmp42 + M[18]; -#pragma omp atomic -Ms[19] += Mstmp11*M[3] + Mstmp43 + Mstmp45*M[0] + M[19]; -#pragma omp atomic -Ms[20] += Mstmp11*Mstmp2 + Mstmp11*M[4] + Mstmp45*M[1] + Mstmp46 + Mstmp47 + Mstmp48 + M[20]; -#pragma omp atomic -Ms[21] += Mstmp11*Mstmp4 + Mstmp11*M[5] + Mstmp45*M[2] + Mstmp49 + Mstmp50 + Mstmp51 + M[21]; -#pragma omp atomic -Ms[22] += Mstmp0*Mstmp34 + Mstmp11*Mstmp5 + Mstmp11*M[6] + Mstmp34*M[3] + Mstmp52 + Mstmp53 + Mstmp54 + M[22]; -#pragma omp atomic -Ms[23] += Mstmp11*Mstmp6 + Mstmp11*Mstmp7 + Mstmp11*M[7] + Mstmp14*z + Mstmp55 + Mstmp56 + Mstmp57 + Mstmp58 + Mstmp59 + Mstmp60 + M[23]; -#pragma omp atomic -Ms[24] += Mstmp0*Mstmp41 + Mstmp11*Mstmp8 + Mstmp11*M[8] + Mstmp41*M[3] + Mstmp61 + Mstmp62 + Mstmp63 + M[24]; -#pragma omp atomic -Ms[25] += Mstmp1*Mstmp34 + Mstmp34*M[4] + Mstmp64 + Mstmp65 + Mstmp66 + Mstmp67*Mstmp68 + M[25]; -#pragma omp atomic -Ms[26] += Mstmp20*z + Mstmp3*Mstmp34 + Mstmp34*Mstmp4 + Mstmp34*M[5] + Mstmp69 + Mstmp70 + Mstmp71 + Mstmp72 + Mstmp73 + Mstmp74 + M[26]; -#pragma omp atomic -Ms[27] += Mstmp1*Mstmp41 + Mstmp2*Mstmp41 + Mstmp26*z + Mstmp41*M[4] + Mstmp75 + Mstmp76 + Mstmp77 + Mstmp78 + Mstmp79 + Mstmp80 + M[27]; -#pragma omp atomic -Ms[28] += Mstmp3*Mstmp41 + Mstmp41*M[5] + Mstmp68*Mstmp84 + Mstmp81 + Mstmp82 + Mstmp83 + M[28]; -#pragma omp atomic -Ms[29] += Mstmp34*M[6] + Mstmp85 + Mstmp86*M[1] + M[29]; -#pragma omp atomic -Ms[30] += Mstmp34*Mstmp7 + Mstmp34*M[7] + Mstmp86*M[2] + Mstmp87 + Mstmp88 + Mstmp89 + M[30]; -#pragma omp atomic -Ms[31] += Mstmp34*Mstmp8 + Mstmp34*M[8] + Mstmp41*Mstmp5 + Mstmp41*M[6] + Mstmp90 + Mstmp91 + Mstmp92 + M[31]; -#pragma omp atomic -Ms[32] += Mstmp41*Mstmp6 + Mstmp41*M[7] + Mstmp93 + Mstmp94 + Mstmp95 + Mstmp96*M[1] + M[32]; -#pragma omp atomic -Ms[33] += Mstmp41*M[8] + Mstmp96*M[2] + Mstmp97 + M[33]; -#pragma omp atomic -Ms[34] += Mstmp100*M[0] + Mstmp11*M[9] + Mstmp45*M[3] + Mstmp98 + M[34]; -#pragma omp atomic -Ms[35] += Mstmp100*M[1] + Mstmp101 + Mstmp102 + Mstmp103 + Mstmp11*Mstmp13 + Mstmp11*M[10] + Mstmp2*Mstmp45 + Mstmp45*M[4] + M[35]; -#pragma omp atomic -Ms[36] += Mstmp100*M[2] + Mstmp104 + Mstmp105 + Mstmp106 + Mstmp11*Mstmp16 + Mstmp11*M[11] + Mstmp4*Mstmp45 + Mstmp45*M[5] + M[36]; -#pragma omp atomic -Ms[37] += Mstmp107 + Mstmp108 + Mstmp109 + Mstmp11*Mstmp19 + Mstmp11*M[12] + Mstmp110*Mstmp111 + Mstmp34*Mstmp9 + Mstmp34*M[9] + Mstmp45*Mstmp5 + Mstmp45*M[6] + M[37]; -#pragma omp atomic -Ms[38] += Mstmp11*Mstmp24 + Mstmp11*Mstmp25 + Mstmp11*Mstmp28 + Mstmp11*M[13] + Mstmp112 + Mstmp113 + Mstmp114 + Mstmp115 + Mstmp116 + Mstmp117 + Mstmp45*Mstmp6 + Mstmp45*Mstmp7 + Mstmp45*M[7] + Mstmp48*z + M[38]; -#pragma omp atomic -Ms[39] += Mstmp11*Mstmp30 + Mstmp11*M[14] + Mstmp118 + Mstmp119 + Mstmp120 + Mstmp121*M[0] + Mstmp41*Mstmp9 + Mstmp41*M[9] + Mstmp45*Mstmp8 + Mstmp45*M[8] + M[39]; -#pragma omp atomic -Ms[40] += Mstmp0*Mstmp86 + Mstmp11*Mstmp33 + Mstmp11*M[15] + Mstmp12*Mstmp34 + Mstmp122 + Mstmp123 + Mstmp124 + Mstmp125*M[1] + Mstmp34*M[10] + Mstmp86*M[3] + M[40]; -#pragma omp atomic -Ms[41] += Mstmp11*Mstmp35 + Mstmp11*Mstmp36 + Mstmp11*Mstmp37 + Mstmp11*M[16] + Mstmp125*M[2] + Mstmp126 + Mstmp127 + Mstmp128 + Mstmp129 + Mstmp130 + Mstmp131 + Mstmp15*Mstmp34 + Mstmp16*Mstmp34 + Mstmp17*Mstmp34 + Mstmp34*M[11] + Mstmp54*z + M[41]; -#pragma omp atomic -Ms[42] += Mstmp11*Mstmp38 + Mstmp11*Mstmp39 + Mstmp11*Mstmp40 + Mstmp11*M[17] + Mstmp12*Mstmp41 + Mstmp121*M[1] + Mstmp13*Mstmp41 + Mstmp132 + Mstmp133 + Mstmp134 + Mstmp135 + Mstmp136 + Mstmp137 + Mstmp14*Mstmp41 + Mstmp41*M[10] + Mstmp58*z + M[42]; -#pragma omp atomic -Ms[43] += Mstmp0*Mstmp96 + Mstmp11*Mstmp42 + Mstmp11*M[18] + Mstmp121*M[2] + Mstmp138 + Mstmp139 + Mstmp140 + Mstmp15*Mstmp41 + Mstmp41*M[11] + Mstmp96*M[3] + M[43]; -#pragma omp atomic -Ms[44] += Mstmp1*Mstmp86 + Mstmp141 + Mstmp142 + Mstmp143 + Mstmp144*Mstmp145 + Mstmp18*Mstmp34 + Mstmp34*M[12] + Mstmp86*M[4] + M[44]; -#pragma omp atomic -Ms[45] += Mstmp146 + Mstmp147 + Mstmp148 + Mstmp149 + Mstmp150 + Mstmp151 + Mstmp23*Mstmp34 + Mstmp25*Mstmp34 + Mstmp27*Mstmp34 + Mstmp3*Mstmp86 + Mstmp34*M[13] + Mstmp4*Mstmp86 + Mstmp66*z + Mstmp86*M[5] + M[45]; -#pragma omp atomic -Ms[46] += Mstmp111*Mstmp158 + Mstmp152 + Mstmp153 + Mstmp154 + Mstmp155 + Mstmp156 + Mstmp157 + Mstmp18*Mstmp41 + Mstmp19*Mstmp41 + Mstmp20*Mstmp41 + Mstmp29*Mstmp34 + Mstmp30*Mstmp34 + Mstmp31*Mstmp34 + Mstmp34*M[14] + Mstmp41*M[12] + Mstmp72*z + M[46]; -#pragma omp atomic -Ms[47] += Mstmp1*Mstmp96 + Mstmp159 + Mstmp160 + Mstmp161 + Mstmp162 + Mstmp163 + Mstmp164 + Mstmp2*Mstmp96 + Mstmp23*Mstmp41 + Mstmp24*Mstmp41 + Mstmp26*Mstmp41 + Mstmp41*M[13] + Mstmp78*z + Mstmp96*M[4] + M[47]; -#pragma omp atomic -Ms[48] += Mstmp145*Mstmp168 + Mstmp165 + Mstmp166 + Mstmp167 + Mstmp29*Mstmp41 + Mstmp3*Mstmp96 + Mstmp41*M[14] + Mstmp96*M[5] + M[48]; -#pragma omp atomic -Ms[49] += Mstmp169 + Mstmp170*M[1] + Mstmp34*M[15] + Mstmp86*M[6] + M[49]; -#pragma omp atomic -Ms[50] += Mstmp170*M[2] + Mstmp171 + Mstmp172 + Mstmp173 + Mstmp34*Mstmp36 + Mstmp34*M[16] + Mstmp7*Mstmp86 + Mstmp86*M[7] + M[50]; -#pragma omp atomic -Ms[51] += Mstmp174 + Mstmp175 + Mstmp176 + Mstmp177*M[1] + Mstmp33*Mstmp41 + Mstmp34*Mstmp39 + Mstmp34*M[17] + Mstmp41*M[15] + Mstmp8*Mstmp86 + Mstmp86*M[8] + M[51]; -#pragma omp atomic -Ms[52] += Mstmp177*M[2] + Mstmp178 + Mstmp179 + Mstmp180 + Mstmp34*Mstmp42 + Mstmp34*M[18] + Mstmp35*Mstmp41 + Mstmp41*M[16] + Mstmp5*Mstmp96 + Mstmp96*M[6] + M[52]; -#pragma omp atomic -Ms[53] += Mstmp181 + Mstmp182 + Mstmp183 + Mstmp184*M[1] + Mstmp38*Mstmp41 + Mstmp41*M[17] + Mstmp6*Mstmp96 + Mstmp96*M[7] + M[53]; -#pragma omp atomic -Ms[54] += Mstmp184*M[2] + Mstmp185 + Mstmp41*M[18] + Mstmp96*M[8] + M[54]; -#pragma omp atomic -Ms[55] += Mstmp100*M[3] + Mstmp11*M[19] + Mstmp186 + Mstmp187*M[0] + Mstmp45*M[9] + M[55]; -#pragma omp atomic -Ms[56] += Mstmp100*Mstmp2 + Mstmp100*M[4] + Mstmp11*Mstmp47 + Mstmp11*M[20] + Mstmp13*Mstmp45 + Mstmp187*M[1] + Mstmp188 + Mstmp189 + Mstmp190 + Mstmp45*M[10] + M[56]; -#pragma omp atomic -Ms[57] += Mstmp100*Mstmp4 + Mstmp100*M[5] + Mstmp11*Mstmp50 + Mstmp11*M[21] + Mstmp16*Mstmp45 + Mstmp187*M[2] + Mstmp191 + Mstmp45*M[11] + Mstmp98*z + z*M[34] + M[57]; -#pragma omp atomic -Ms[58] += Mstmp100*Mstmp5 + Mstmp100*M[6] + Mstmp11*Mstmp53 + Mstmp11*M[22] + Mstmp111*Mstmp195 + Mstmp125*M[3] + Mstmp19*Mstmp45 + Mstmp192 + Mstmp193 + Mstmp194 + Mstmp34*Mstmp43 + Mstmp34*M[19] + Mstmp45*M[12] + M[58]; -#pragma omp atomic -Ms[59] += Mstmp100*Mstmp6 + Mstmp100*Mstmp7 + Mstmp100*M[7] + Mstmp101*z + Mstmp102*z + Mstmp103*z + Mstmp11*Mstmp56 + Mstmp11*Mstmp57 + Mstmp11*Mstmp60 + Mstmp11*M[23] + Mstmp196 + Mstmp197 + Mstmp198 + Mstmp24*Mstmp45 + Mstmp25*Mstmp45 + Mstmp28*Mstmp45 + Mstmp45*M[13] + z*M[35] + M[59]; -#pragma omp atomic -Ms[60] += Mstmp100*Mstmp8 + Mstmp100*M[8] + Mstmp104*z + Mstmp11*Mstmp62 + Mstmp11*M[24] + Mstmp121*M[3] + Mstmp199 + Mstmp200*M[0] + Mstmp30*Mstmp45 + Mstmp41*Mstmp43 + Mstmp41*M[19] + Mstmp45*M[14] + z*M[36] + M[60]; -#pragma omp atomic -Ms[61] += Mstmp11*Mstmp65 + Mstmp11*M[25] + Mstmp125*M[4] + Mstmp201 + Mstmp202 + Mstmp203 + Mstmp204*Mstmp205 + Mstmp206*M[1] + Mstmp33*Mstmp45 + Mstmp34*Mstmp46 + Mstmp34*M[20] + Mstmp45*M[15] + Mstmp86*Mstmp9 + Mstmp86*M[9] + M[61]; -#pragma omp atomic -Ms[62] += Mstmp107*z + Mstmp108*z + Mstmp109*z + Mstmp11*Mstmp70 + Mstmp11*Mstmp71 + Mstmp11*Mstmp74 + Mstmp11*M[26] + Mstmp125*Mstmp4 + Mstmp125*M[5] + Mstmp206*M[2] + Mstmp207 + Mstmp208 + Mstmp209 + Mstmp34*Mstmp49 + Mstmp34*Mstmp50 + Mstmp34*Mstmp51 + Mstmp34*M[21] + Mstmp35*Mstmp45 + Mstmp36*Mstmp45 + Mstmp37*Mstmp45 + Mstmp45*M[16] + z*M[37] + M[62]; -#pragma omp atomic -Ms[63] += Mstmp11*Mstmp76 + Mstmp11*Mstmp77 + Mstmp11*Mstmp80 + Mstmp11*M[27] + Mstmp112*z + Mstmp113*z + Mstmp115*z + Mstmp121*Mstmp2 + Mstmp121*M[4] + Mstmp200*M[1] + Mstmp210 + Mstmp211 + Mstmp212 + Mstmp38*Mstmp45 + Mstmp39*Mstmp45 + Mstmp40*Mstmp45 + Mstmp41*Mstmp46 + Mstmp41*Mstmp47 + Mstmp41*Mstmp48 + Mstmp41*M[20] + Mstmp45*M[17] + z*M[38] + M[63]; -#pragma omp atomic -Ms[64] += Mstmp11*Mstmp82 + Mstmp11*M[28] + Mstmp118*z + Mstmp121*M[5] + Mstmp200*M[2] + Mstmp213 + Mstmp214*M[0] + Mstmp41*Mstmp49 + Mstmp41*M[21] + Mstmp42*Mstmp45 + Mstmp45*M[18] + Mstmp9*Mstmp96 + Mstmp96*M[9] + z*M[39] + M[64]; -#pragma omp atomic -Ms[65] += Mstmp0*Mstmp170 + Mstmp11*Mstmp85 + Mstmp11*M[29] + Mstmp12*Mstmp86 + Mstmp125*M[6] + Mstmp170*M[3] + Mstmp215 + Mstmp216 + Mstmp217 + Mstmp218*M[1] + Mstmp34*Mstmp52 + Mstmp34*M[22] + Mstmp86*M[10] + M[65]; -#pragma omp atomic -Ms[66] += Mstmp11*Mstmp87 + Mstmp11*Mstmp88 + Mstmp11*Mstmp89 + Mstmp11*M[30] + Mstmp122*z + Mstmp123*z + Mstmp124*z + Mstmp125*Mstmp7 + Mstmp125*M[7] + Mstmp15*Mstmp86 + Mstmp16*Mstmp86 + Mstmp17*Mstmp86 + Mstmp218*M[2] + Mstmp219 + Mstmp220 + Mstmp221 + Mstmp34*Mstmp55 + Mstmp34*Mstmp57 + Mstmp34*Mstmp59 + Mstmp34*M[23] + Mstmp86*M[11] + z*M[40] + M[66]; -#pragma omp atomic -Ms[67] += Mstmp0*Mstmp177 + Mstmp11*Mstmp90 + Mstmp11*Mstmp91 + Mstmp11*Mstmp92 + Mstmp11*M[31] + Mstmp121*Mstmp5 + Mstmp121*M[6] + Mstmp125*Mstmp8 + Mstmp125*M[8] + Mstmp126*z + Mstmp127*z + Mstmp129*z + Mstmp177*M[3] + Mstmp222 + Mstmp223 + Mstmp224 + Mstmp34*Mstmp61 + Mstmp34*Mstmp62 + Mstmp34*Mstmp63 + Mstmp34*M[24] + Mstmp41*Mstmp52 + Mstmp41*Mstmp53 + Mstmp41*Mstmp54 + Mstmp41*M[22] + z*M[41] + M[67]; -#pragma omp atomic -Ms[68] += Mstmp11*Mstmp93 + Mstmp11*Mstmp94 + Mstmp11*Mstmp95 + Mstmp11*M[32] + Mstmp12*Mstmp96 + Mstmp121*Mstmp6 + Mstmp121*M[7] + Mstmp13*Mstmp96 + Mstmp132*z + Mstmp133*z + Mstmp135*z + Mstmp14*Mstmp96 + Mstmp214*M[1] + Mstmp225 + Mstmp226 + Mstmp227 + Mstmp41*Mstmp55 + Mstmp41*Mstmp56 + Mstmp41*Mstmp58 + Mstmp41*M[23] + Mstmp96*M[10] + z*M[42] + M[68]; -#pragma omp atomic -Ms[69] += Mstmp0*Mstmp184 + Mstmp11*Mstmp97 + Mstmp11*M[33] + Mstmp121*M[8] + Mstmp138*z + Mstmp15*Mstmp96 + Mstmp184*M[3] + Mstmp214*M[2] + Mstmp228 + Mstmp41*Mstmp61 + Mstmp41*M[24] + Mstmp96*M[11] + z*M[43] + M[69]; -#pragma omp atomic -Ms[70] += Mstmp1*Mstmp170 + Mstmp170*M[4] + Mstmp18*Mstmp86 + Mstmp229 + Mstmp230 + Mstmp231 + Mstmp232*Mstmp233 + Mstmp34*Mstmp64 + Mstmp34*M[25] + Mstmp86*M[12] + M[70]; -#pragma omp atomic -Ms[71] += Mstmp141*z + Mstmp142*z + Mstmp143*z + Mstmp170*Mstmp3 + Mstmp170*Mstmp4 + Mstmp170*M[5] + Mstmp23*Mstmp86 + Mstmp234 + Mstmp235 + Mstmp236 + Mstmp25*Mstmp86 + Mstmp27*Mstmp86 + Mstmp34*Mstmp69 + Mstmp34*Mstmp71 + Mstmp34*Mstmp73 + Mstmp34*M[26] + Mstmp86*M[13] + z*M[44] + M[71]; -#pragma omp atomic -Ms[72] += Mstmp1*Mstmp177 + Mstmp146*z + Mstmp147*z + Mstmp149*z + Mstmp177*M[4] + Mstmp205*Mstmp240 + Mstmp237 + Mstmp238 + Mstmp239 + Mstmp29*Mstmp86 + Mstmp30*Mstmp86 + Mstmp31*Mstmp86 + Mstmp34*Mstmp75 + Mstmp34*Mstmp77 + Mstmp34*Mstmp79 + Mstmp34*M[27] + Mstmp41*Mstmp64 + Mstmp41*Mstmp65 + Mstmp41*Mstmp66 + Mstmp41*M[25] + Mstmp86*M[14] + z*M[45] + M[72]; -#pragma omp atomic -Ms[73] += Mstmp111*Mstmp244 + Mstmp152*z + Mstmp153*z + Mstmp155*z + Mstmp177*Mstmp3 + Mstmp177*M[5] + Mstmp18*Mstmp96 + Mstmp19*Mstmp96 + Mstmp20*Mstmp96 + Mstmp241 + Mstmp242 + Mstmp243 + Mstmp34*Mstmp81 + Mstmp34*Mstmp82 + Mstmp34*Mstmp83 + Mstmp34*M[28] + Mstmp41*Mstmp69 + Mstmp41*Mstmp70 + Mstmp41*Mstmp72 + Mstmp41*M[26] + Mstmp96*M[12] + z*M[46] + M[73]; -#pragma omp atomic -Ms[74] += Mstmp1*Mstmp184 + Mstmp159*z + Mstmp160*z + Mstmp162*z + Mstmp184*Mstmp2 + Mstmp184*M[4] + Mstmp23*Mstmp96 + Mstmp24*Mstmp96 + Mstmp245 + Mstmp246 + Mstmp247 + Mstmp26*Mstmp96 + Mstmp41*Mstmp75 + Mstmp41*Mstmp76 + Mstmp41*Mstmp78 + Mstmp41*M[27] + Mstmp96*M[13] + z*M[47] + M[74]; -#pragma omp atomic -Ms[75] += Mstmp165*z + Mstmp184*Mstmp3 + Mstmp184*M[5] + Mstmp233*Mstmp249 + Mstmp248 + Mstmp29*Mstmp96 + Mstmp41*Mstmp81 + Mstmp41*M[28] + Mstmp96*M[14] + z*M[48] + M[75]; -#pragma omp atomic -Ms[76] += Mstmp170*M[6] + Mstmp250 + Mstmp251*M[1] + Mstmp34*M[29] + Mstmp86*M[15] + M[76]; -#pragma omp atomic -Ms[77] += Mstmp169*z + Mstmp170*Mstmp7 + Mstmp170*M[7] + Mstmp251*M[2] + Mstmp252 + Mstmp34*Mstmp88 + Mstmp34*M[30] + Mstmp36*Mstmp86 + Mstmp86*M[16] + z*M[49] + M[77]; -#pragma omp atomic -Ms[78] += Mstmp170*Mstmp8 + Mstmp170*M[8] + Mstmp171*z + Mstmp177*M[6] + Mstmp253 + Mstmp254*M[1] + Mstmp34*Mstmp91 + Mstmp34*M[31] + Mstmp39*Mstmp86 + Mstmp41*Mstmp85 + Mstmp41*M[29] + Mstmp86*M[17] + z*M[50] + M[78]; -#pragma omp atomic -Ms[79] += Mstmp174*z + Mstmp177*M[7] + Mstmp254*M[2] + Mstmp255 + Mstmp256*M[1] + Mstmp33*Mstmp96 + Mstmp34*Mstmp94 + Mstmp34*M[32] + Mstmp41*Mstmp87 + Mstmp41*M[30] + Mstmp42*Mstmp86 + Mstmp86*M[18] + Mstmp96*M[15] + z*M[51] + M[79]; -#pragma omp atomic -Ms[80] += Mstmp177*M[8] + Mstmp178*z + Mstmp184*Mstmp5 + Mstmp184*M[6] + Mstmp256*M[2] + Mstmp257 + Mstmp34*Mstmp97 + Mstmp34*M[33] + Mstmp35*Mstmp96 + Mstmp41*Mstmp90 + Mstmp41*M[31] + Mstmp96*M[16] + z*M[52] + M[80]; -#pragma omp atomic -Ms[81] += Mstmp181*z + Mstmp184*Mstmp6 + Mstmp184*M[7] + Mstmp258 + Mstmp259*M[1] + Mstmp38*Mstmp96 + Mstmp41*Mstmp93 + Mstmp41*M[32] + Mstmp96*M[17] + z*M[53] + M[81]; -#pragma omp atomic -Ms[82] += Mstmp184*M[8] + Mstmp259*M[2] + Mstmp41*M[33] + Mstmp96*M[18] + z*M[54] + M[82]; -#pragma omp atomic -Ms[83] += Mstmp100*M[9] + Mstmp11*M[34] + Mstmp187*M[3] + Mstmp260*M[0] + Mstmp45*M[19] + x*M[55] + M[83]; -#pragma omp atomic -Ms[84] += Mstmp100*Mstmp13 + Mstmp100*M[10] + Mstmp102*Mstmp11 + Mstmp11*M[35] + Mstmp186*y + Mstmp187*Mstmp2 + Mstmp187*M[4] + Mstmp260*M[1] + Mstmp45*Mstmp47 + Mstmp45*M[20] + x*M[56] + y*M[55] + M[84]; -#pragma omp atomic -Ms[85] += Mstmp100*Mstmp16 + Mstmp100*M[11] + Mstmp105*Mstmp11 + Mstmp11*M[36] + Mstmp186*z + Mstmp187*Mstmp4 + Mstmp187*M[5] + Mstmp260*M[2] + Mstmp45*Mstmp50 + Mstmp45*M[21] + x*M[57] + z*M[55] + M[85]; -#pragma omp atomic -Ms[86] += Mstmp100*Mstmp19 + Mstmp100*M[12] + Mstmp108*Mstmp11 + Mstmp11*M[37] + Mstmp111*Mstmp261 + Mstmp125*M[9] + Mstmp187*Mstmp5 + Mstmp187*M[6] + Mstmp188*y + Mstmp206*M[3] + Mstmp34*Mstmp98 + Mstmp34*M[34] + Mstmp45*Mstmp53 + Mstmp45*M[22] + x*M[58] + y*M[56] + M[86]; -#pragma omp atomic -Ms[87] += Mstmp100*Mstmp24 + Mstmp100*Mstmp25 + Mstmp100*Mstmp28 + Mstmp100*M[13] + Mstmp11*Mstmp113 + Mstmp11*Mstmp114 + Mstmp11*Mstmp117 + Mstmp11*M[38] + Mstmp187*Mstmp6 + Mstmp187*Mstmp7 + Mstmp187*M[7] + Mstmp188*z + Mstmp189*z + Mstmp190*z + Mstmp191*y + Mstmp45*Mstmp56 + Mstmp45*Mstmp57 + Mstmp45*Mstmp60 + Mstmp45*M[23] + x*M[59] + y*M[57] + z*M[56] + M[87]; -#pragma omp atomic -Ms[88] += Mstmp100*Mstmp30 + Mstmp100*M[14] + Mstmp11*Mstmp119 + Mstmp11*M[39] + Mstmp121*M[9] + Mstmp187*Mstmp8 + Mstmp187*M[8] + Mstmp191*z + Mstmp200*M[3] + Mstmp262*M[0] + Mstmp41*Mstmp98 + Mstmp41*M[34] + Mstmp45*Mstmp62 + Mstmp45*M[24] + x*M[60] + z*M[57] + M[88]; -#pragma omp atomic -Ms[89] += Mstmp100*Mstmp33 + Mstmp100*M[15] + Mstmp101*Mstmp34 + Mstmp11*Mstmp123 + Mstmp11*M[40] + Mstmp125*M[10] + Mstmp192*y + Mstmp205*Mstmp263 + Mstmp206*M[4] + Mstmp218*M[3] + Mstmp264*M[1] + Mstmp34*M[35] + Mstmp43*Mstmp86 + Mstmp45*Mstmp65 + Mstmp45*M[25] + Mstmp86*M[19] + x*M[61] + y*M[58] + M[89]; -#pragma omp atomic -Ms[90] += Mstmp100*Mstmp35 + Mstmp100*Mstmp36 + Mstmp100*Mstmp37 + Mstmp100*M[16] + Mstmp104*Mstmp34 + Mstmp105*Mstmp34 + Mstmp106*Mstmp34 + Mstmp11*Mstmp127 + Mstmp11*Mstmp128 + Mstmp11*Mstmp131 + Mstmp11*M[41] + Mstmp125*Mstmp16 + Mstmp125*M[11] + Mstmp192*z + Mstmp193*z + Mstmp194*z + Mstmp196*y + Mstmp206*Mstmp4 + Mstmp206*M[5] + Mstmp264*M[2] + Mstmp34*M[36] + Mstmp45*Mstmp70 + Mstmp45*Mstmp71 + Mstmp45*Mstmp74 + Mstmp45*M[26] + x*M[62] + y*M[59] + z*M[58] + M[90]; -#pragma omp atomic -Ms[91] += Mstmp100*Mstmp38 + Mstmp100*Mstmp39 + Mstmp100*Mstmp40 + Mstmp100*M[17] + Mstmp101*Mstmp41 + Mstmp102*Mstmp41 + Mstmp103*Mstmp41 + Mstmp11*Mstmp133 + Mstmp11*Mstmp134 + Mstmp11*Mstmp137 + Mstmp11*M[42] + Mstmp121*Mstmp13 + Mstmp121*M[10] + Mstmp196*z + Mstmp197*z + Mstmp198*z + Mstmp199*y + Mstmp2*Mstmp200 + Mstmp200*M[4] + Mstmp262*M[1] + Mstmp41*M[35] + Mstmp45*Mstmp76 + Mstmp45*Mstmp77 + Mstmp45*Mstmp80 + Mstmp45*M[27] + x*M[63] + y*M[60] + z*M[59] + M[91]; -#pragma omp atomic -Ms[92] += Mstmp100*Mstmp42 + Mstmp100*M[18] + Mstmp104*Mstmp41 + Mstmp11*Mstmp139 + Mstmp11*M[43] + Mstmp121*M[11] + Mstmp199*z + Mstmp200*M[5] + Mstmp214*M[3] + Mstmp262*M[2] + Mstmp265*M[0] + Mstmp41*M[36] + Mstmp43*Mstmp96 + Mstmp45*Mstmp82 + Mstmp45*M[28] + Mstmp96*M[19] + x*M[64] + z*M[60] + M[92]; -#pragma omp atomic -Ms[93] += Mstmp107*Mstmp34 + Mstmp11*Mstmp142 + Mstmp11*M[44] + Mstmp125*M[12] + Mstmp144*Mstmp267 + Mstmp170*Mstmp9 + Mstmp170*M[9] + Mstmp201*y + Mstmp206*M[6] + Mstmp218*M[4] + Mstmp268*M[1] + Mstmp34*M[37] + Mstmp45*Mstmp85 + Mstmp45*M[29] + Mstmp46*Mstmp86 + Mstmp86*M[20] + x*M[65] + y*M[61] + M[93]; -#pragma omp atomic -Ms[94] += Mstmp11*Mstmp147 + Mstmp11*Mstmp148 + Mstmp11*Mstmp151 + Mstmp11*M[45] + Mstmp112*Mstmp34 + Mstmp114*Mstmp34 + Mstmp116*Mstmp34 + Mstmp125*Mstmp25 + Mstmp125*M[13] + Mstmp201*z + Mstmp202*z + Mstmp203*z + Mstmp206*Mstmp7 + Mstmp206*M[7] + Mstmp207*y + Mstmp218*Mstmp4 + Mstmp218*M[5] + Mstmp268*M[2] + Mstmp34*M[38] + Mstmp45*Mstmp87 + Mstmp45*Mstmp88 + Mstmp45*Mstmp89 + Mstmp45*M[30] + Mstmp49*Mstmp86 + Mstmp50*Mstmp86 + Mstmp51*Mstmp86 + Mstmp86*M[21] + x*M[66] + y*M[62] + z*M[61] + M[94]; -#pragma omp atomic -Ms[95] += Mstmp107*Mstmp41 + Mstmp108*Mstmp41 + Mstmp109*Mstmp41 + Mstmp11*Mstmp153 + Mstmp11*Mstmp154 + Mstmp11*Mstmp157 + Mstmp11*M[46] + Mstmp111*Mstmp269 + Mstmp118*Mstmp34 + Mstmp119*Mstmp34 + Mstmp120*Mstmp34 + Mstmp121*Mstmp19 + Mstmp121*M[12] + Mstmp125*Mstmp30 + Mstmp125*M[14] + Mstmp177*Mstmp9 + Mstmp177*M[9] + Mstmp200*Mstmp5 + Mstmp200*M[6] + Mstmp206*Mstmp8 + Mstmp206*M[8] + Mstmp207*z + Mstmp208*z + Mstmp209*z + Mstmp210*y + Mstmp34*M[39] + Mstmp41*M[37] + Mstmp45*Mstmp90 + Mstmp45*Mstmp91 + Mstmp45*Mstmp92 + Mstmp45*M[31] + x*M[67] + y*M[63] + z*M[62] + M[95]; -#pragma omp atomic -Ms[96] += Mstmp11*Mstmp160 + Mstmp11*Mstmp161 + Mstmp11*Mstmp164 + Mstmp11*M[47] + Mstmp112*Mstmp41 + Mstmp113*Mstmp41 + Mstmp115*Mstmp41 + Mstmp121*Mstmp24 + Mstmp121*M[13] + Mstmp2*Mstmp214 + Mstmp200*Mstmp6 + Mstmp200*M[7] + Mstmp210*z + Mstmp211*z + Mstmp212*z + Mstmp213*y + Mstmp214*M[4] + Mstmp265*M[1] + Mstmp41*M[38] + Mstmp45*Mstmp93 + Mstmp45*Mstmp94 + Mstmp45*Mstmp95 + Mstmp45*M[32] + Mstmp46*Mstmp96 + Mstmp47*Mstmp96 + Mstmp48*Mstmp96 + Mstmp96*M[20] + x*M[68] + y*M[64] + z*M[63] + M[96]; -#pragma omp atomic -Ms[97] += Mstmp11*Mstmp166 + Mstmp11*M[48] + Mstmp118*Mstmp41 + Mstmp121*M[14] + Mstmp168*Mstmp267 + Mstmp184*Mstmp9 + Mstmp184*M[9] + Mstmp200*M[8] + Mstmp213*z + Mstmp214*M[5] + Mstmp265*M[2] + Mstmp41*M[39] + Mstmp45*Mstmp97 + Mstmp45*M[33] + Mstmp49*Mstmp96 + Mstmp96*M[21] + x*M[69] + z*M[64] + M[97]; -#pragma omp atomic -Ms[98] += Mstmp0*Mstmp251 + Mstmp11*Mstmp169 + Mstmp11*M[49] + Mstmp12*Mstmp170 + Mstmp122*Mstmp34 + Mstmp125*M[15] + Mstmp170*M[10] + Mstmp215*y + Mstmp218*M[6] + Mstmp251*M[3] + Mstmp270*M[1] + Mstmp34*M[40] + Mstmp52*Mstmp86 + Mstmp86*M[22] + x*M[70] + y*M[65] + M[98]; -#pragma omp atomic -Ms[99] += Mstmp11*Mstmp171 + Mstmp11*Mstmp172 + Mstmp11*Mstmp173 + Mstmp11*M[50] + Mstmp125*Mstmp36 + Mstmp125*M[16] + Mstmp126*Mstmp34 + Mstmp128*Mstmp34 + Mstmp130*Mstmp34 + Mstmp15*Mstmp170 + Mstmp16*Mstmp170 + Mstmp17*Mstmp170 + Mstmp170*M[11] + Mstmp215*z + Mstmp216*z + Mstmp217*z + Mstmp218*Mstmp7 + Mstmp218*M[7] + Mstmp219*y + Mstmp270*M[2] + Mstmp34*M[41] + Mstmp55*Mstmp86 + Mstmp57*Mstmp86 + Mstmp59*Mstmp86 + Mstmp86*M[23] + x*M[71] + y*M[66] + z*M[65] + M[99]; -#pragma omp atomic -Ms[100] += Mstmp0*Mstmp254 + Mstmp11*Mstmp174 + Mstmp11*Mstmp175 + Mstmp11*Mstmp176 + Mstmp11*M[51] + Mstmp12*Mstmp177 + Mstmp121*Mstmp33 + Mstmp121*M[15] + Mstmp122*Mstmp41 + Mstmp123*Mstmp41 + Mstmp124*Mstmp41 + Mstmp125*Mstmp39 + Mstmp125*M[17] + Mstmp132*Mstmp34 + Mstmp134*Mstmp34 + Mstmp136*Mstmp34 + Mstmp177*M[10] + Mstmp218*Mstmp8 + Mstmp218*M[8] + Mstmp219*z + Mstmp220*z + Mstmp221*z + Mstmp222*y + Mstmp254*M[3] + Mstmp271*M[1] + Mstmp34*M[42] + Mstmp41*M[40] + Mstmp61*Mstmp86 + Mstmp62*Mstmp86 + Mstmp63*Mstmp86 + Mstmp86*M[24] + x*M[72] + y*M[67] + z*M[66] + M[100]; -#pragma omp atomic -Ms[101] += Mstmp0*Mstmp256 + Mstmp11*Mstmp178 + Mstmp11*Mstmp179 + Mstmp11*Mstmp180 + Mstmp11*M[52] + Mstmp121*Mstmp35 + Mstmp121*M[16] + Mstmp125*Mstmp42 + Mstmp125*M[18] + Mstmp126*Mstmp41 + Mstmp127*Mstmp41 + Mstmp129*Mstmp41 + Mstmp138*Mstmp34 + Mstmp139*Mstmp34 + Mstmp140*Mstmp34 + Mstmp15*Mstmp177 + Mstmp177*M[11] + Mstmp214*Mstmp5 + Mstmp214*M[6] + Mstmp222*z + Mstmp223*z + Mstmp224*z + Mstmp225*y + Mstmp256*M[3] + Mstmp271*M[2] + Mstmp34*M[43] + Mstmp41*M[41] + Mstmp52*Mstmp96 + Mstmp53*Mstmp96 + Mstmp54*Mstmp96 + Mstmp96*M[22] + x*M[73] + y*M[68] + z*M[67] + M[101]; -#pragma omp atomic -Ms[102] += Mstmp11*Mstmp181 + Mstmp11*Mstmp182 + Mstmp11*Mstmp183 + Mstmp11*M[53] + Mstmp12*Mstmp184 + Mstmp121*Mstmp38 + Mstmp121*M[17] + Mstmp13*Mstmp184 + Mstmp132*Mstmp41 + Mstmp133*Mstmp41 + Mstmp135*Mstmp41 + Mstmp14*Mstmp184 + Mstmp184*M[10] + Mstmp214*Mstmp6 + Mstmp214*M[7] + Mstmp225*z + Mstmp226*z + Mstmp227*z + Mstmp228*y + Mstmp272*M[1] + Mstmp41*M[42] + Mstmp55*Mstmp96 + Mstmp56*Mstmp96 + Mstmp58*Mstmp96 + Mstmp96*M[23] + x*M[74] + y*M[69] + z*M[68] + M[102]; -#pragma omp atomic -Ms[103] += Mstmp0*Mstmp259 + Mstmp11*Mstmp185 + Mstmp11*M[54] + Mstmp121*M[18] + Mstmp138*Mstmp41 + Mstmp15*Mstmp184 + Mstmp184*M[11] + Mstmp214*M[8] + Mstmp228*z + Mstmp259*M[3] + Mstmp272*M[2] + Mstmp41*M[43] + Mstmp61*Mstmp96 + Mstmp96*M[24] + x*M[75] + z*M[69] + M[103]; -#pragma omp atomic -Ms[104] += Mstmp1*Mstmp251 + Mstmp141*Mstmp34 + Mstmp170*Mstmp18 + Mstmp170*M[12] + Mstmp229*y + Mstmp251*M[4] + Mstmp273*Mstmp274 + Mstmp34*M[44] + Mstmp64*Mstmp86 + Mstmp86*M[25] + x*M[76] + y*M[70] + M[104]; -#pragma omp atomic -Ms[105] += Mstmp146*Mstmp34 + Mstmp148*Mstmp34 + Mstmp150*Mstmp34 + Mstmp170*Mstmp23 + Mstmp170*Mstmp25 + Mstmp170*Mstmp27 + Mstmp170*M[13] + Mstmp229*z + Mstmp230*z + Mstmp231*z + Mstmp234*y + Mstmp251*Mstmp3 + Mstmp251*Mstmp4 + Mstmp251*M[5] + Mstmp34*M[45] + Mstmp69*Mstmp86 + Mstmp71*Mstmp86 + Mstmp73*Mstmp86 + Mstmp86*M[26] + x*M[77] + y*M[71] + z*M[70] + M[105]; -#pragma omp atomic -Ms[106] += Mstmp1*Mstmp254 + Mstmp141*Mstmp41 + Mstmp142*Mstmp41 + Mstmp143*Mstmp41 + Mstmp152*Mstmp34 + Mstmp154*Mstmp34 + Mstmp156*Mstmp34 + Mstmp170*Mstmp29 + Mstmp170*Mstmp30 + Mstmp170*Mstmp31 + Mstmp170*M[14] + Mstmp177*Mstmp18 + Mstmp177*M[12] + Mstmp234*z + Mstmp235*z + Mstmp236*z + Mstmp237*y + Mstmp254*M[4] + Mstmp275*M[0] + Mstmp34*M[46] + Mstmp41*M[44] + Mstmp75*Mstmp86 + Mstmp77*Mstmp86 + Mstmp79*Mstmp86 + Mstmp86*M[27] + x*M[78] + y*M[72] + z*M[71] + M[106]; -#pragma omp atomic -Ms[107] += Mstmp1*Mstmp256 + Mstmp146*Mstmp41 + Mstmp147*Mstmp41 + Mstmp149*Mstmp41 + Mstmp159*Mstmp34 + Mstmp161*Mstmp34 + Mstmp163*Mstmp34 + Mstmp177*Mstmp23 + Mstmp177*M[13] + Mstmp205*Mstmp276 + Mstmp237*z + Mstmp238*z + Mstmp239*z + Mstmp241*y + Mstmp254*Mstmp3 + Mstmp254*M[5] + Mstmp256*M[4] + Mstmp34*M[47] + Mstmp41*M[45] + Mstmp64*Mstmp96 + Mstmp65*Mstmp96 + Mstmp66*Mstmp96 + Mstmp81*Mstmp86 + Mstmp82*Mstmp86 + Mstmp83*Mstmp86 + Mstmp86*M[28] + Mstmp96*M[25] + x*M[79] + y*M[73] + z*M[72] + M[107]; -#pragma omp atomic -Ms[108] += Mstmp111*Mstmp277 + Mstmp152*Mstmp41 + Mstmp153*Mstmp41 + Mstmp155*Mstmp41 + Mstmp165*Mstmp34 + Mstmp166*Mstmp34 + Mstmp167*Mstmp34 + Mstmp177*Mstmp29 + Mstmp177*M[14] + Mstmp18*Mstmp184 + Mstmp184*Mstmp19 + Mstmp184*Mstmp20 + Mstmp184*M[12] + Mstmp241*z + Mstmp242*z + Mstmp243*z + Mstmp245*y + Mstmp256*Mstmp3 + Mstmp256*M[5] + Mstmp34*M[48] + Mstmp41*M[46] + Mstmp69*Mstmp96 + Mstmp70*Mstmp96 + Mstmp72*Mstmp96 + Mstmp96*M[26] + x*M[80] + y*M[74] + z*M[73] + M[108]; -#pragma omp atomic -Ms[109] += Mstmp1*Mstmp259 + Mstmp159*Mstmp41 + Mstmp160*Mstmp41 + Mstmp162*Mstmp41 + Mstmp184*Mstmp23 + Mstmp184*Mstmp24 + Mstmp184*Mstmp26 + Mstmp184*M[13] + Mstmp2*Mstmp259 + Mstmp245*z + Mstmp246*z + Mstmp247*z + Mstmp248*y + Mstmp259*M[4] + Mstmp41*M[47] + Mstmp75*Mstmp96 + Mstmp76*Mstmp96 + Mstmp78*Mstmp96 + Mstmp96*M[27] + x*M[81] + y*M[75] + z*M[74] + M[109]; -#pragma omp atomic -Ms[110] += Mstmp165*Mstmp41 + Mstmp184*Mstmp29 + Mstmp184*M[14] + Mstmp248*z + Mstmp259*Mstmp3 + Mstmp259*M[5] + Mstmp274*Mstmp278 + Mstmp41*M[48] + Mstmp81*Mstmp96 + Mstmp96*M[28] + x*M[82] + z*M[75] + M[110]; -#pragma omp atomic -Ms[111] += Mstmp170*M[15] + Mstmp251*M[6] + Mstmp279*M[1] + Mstmp34*M[49] + Mstmp86*M[29] + y*M[76] + M[111]; -#pragma omp atomic -Ms[112] += Mstmp170*Mstmp36 + Mstmp170*M[16] + Mstmp172*Mstmp34 + Mstmp250*z + Mstmp251*Mstmp7 + Mstmp251*M[7] + Mstmp279*M[2] + Mstmp34*M[50] + Mstmp86*Mstmp88 + Mstmp86*M[30] + y*M[77] + z*M[76] + M[112]; -#pragma omp atomic -Ms[113] += Mstmp169*Mstmp41 + Mstmp170*Mstmp39 + Mstmp170*M[17] + Mstmp175*Mstmp34 + Mstmp177*M[15] + Mstmp251*Mstmp8 + Mstmp251*M[8] + Mstmp252*z + Mstmp254*M[6] + Mstmp275*M[1] + Mstmp34*M[51] + Mstmp41*M[49] + Mstmp86*Mstmp91 + Mstmp86*M[31] + y*M[78] + z*M[77] + M[113]; -#pragma omp atomic -Ms[114] += Mstmp170*Mstmp42 + Mstmp170*M[18] + Mstmp171*Mstmp41 + Mstmp177*M[16] + Mstmp179*Mstmp34 + Mstmp253*z + Mstmp254*M[7] + Mstmp256*M[6] + Mstmp275*M[2] + Mstmp280*M[1] + Mstmp34*M[52] + Mstmp41*M[50] + Mstmp85*Mstmp96 + Mstmp86*Mstmp94 + Mstmp86*M[32] + Mstmp96*M[29] + y*M[79] + z*M[78] + M[114]; -#pragma omp atomic -Ms[115] += Mstmp174*Mstmp41 + Mstmp177*M[17] + Mstmp182*Mstmp34 + Mstmp184*Mstmp33 + Mstmp184*M[15] + Mstmp254*M[8] + Mstmp255*z + Mstmp256*M[7] + Mstmp280*M[2] + Mstmp281*M[1] + Mstmp34*M[53] + Mstmp41*M[51] + Mstmp86*Mstmp97 + Mstmp86*M[33] + Mstmp87*Mstmp96 + Mstmp96*M[30] + y*M[80] + z*M[79] + M[115]; -#pragma omp atomic -Ms[116] += Mstmp177*M[18] + Mstmp178*Mstmp41 + Mstmp184*Mstmp35 + Mstmp184*M[16] + Mstmp185*Mstmp34 + Mstmp256*M[8] + Mstmp257*z + Mstmp259*Mstmp5 + Mstmp259*M[6] + Mstmp281*M[2] + Mstmp34*M[54] + Mstmp41*M[52] + Mstmp90*Mstmp96 + Mstmp96*M[31] + y*M[81] + z*M[80] + M[116]; -#pragma omp atomic -Ms[117] += Mstmp181*Mstmp41 + Mstmp184*Mstmp38 + Mstmp184*M[17] + Mstmp258*z + Mstmp259*Mstmp6 + Mstmp259*M[7] + Mstmp282*M[1] + Mstmp41*M[53] + Mstmp93*Mstmp96 + Mstmp96*M[32] + y*M[82] + z*M[81] + M[117]; -#pragma omp atomic -Ms[118] += Mstmp184*M[18] + Mstmp259*M[8] + Mstmp282*M[2] + Mstmp41*M[54] + Mstmp96*M[33] + z*M[82] + M[118]; - -} - -void M2L_7(double x, double y, double z, double * M, double * L) { -double R = sqrt(x*x + y*y + z*z); -double D[119]; -double Dtmp0 = pow(R, -3); -double Dtmp1 = 1.0*Dtmp0; -double Dtmp2 = pow(x, 2); -double Dtmp3 = pow(R, -2); -double Dtmp4 = 3.0*Dtmp3; -double Dtmp5 = pow(R, -5); -double Dtmp6 = Dtmp5*x; -double Dtmp7 = 3.0*Dtmp6; -double Dtmp8 = pow(y, 2); -double Dtmp9 = Dtmp5*y; -double Dtmp10 = 15.0*Dtmp3; -double Dtmp11 = -Dtmp10*Dtmp2; -double Dtmp12 = Dtmp11 + 3.0; -double Dtmp13 = Dtmp12*Dtmp5; -double Dtmp14 = -Dtmp10*Dtmp8; -double Dtmp15 = Dtmp14 + 3.0; -double Dtmp16 = pow(R, -7); -double Dtmp17 = Dtmp16*x; -double Dtmp18 = y*z; -double Dtmp19 = pow(x, 4); -double Dtmp20 = pow(R, -4); -double Dtmp21 = 105.0*Dtmp20; -double Dtmp22 = Dtmp2*Dtmp3; -double Dtmp23 = -105.0*Dtmp22; -double Dtmp24 = Dtmp23 + 45.0; -double Dtmp25 = Dtmp17*Dtmp24; -double Dtmp26 = Dtmp2*Dtmp8; -double Dtmp27 = Dtmp23 + 15.0; -double Dtmp28 = Dtmp16*y; -double Dtmp29 = Dtmp28*z; -double Dtmp30 = Dtmp3*Dtmp8; -double Dtmp31 = -105.0*Dtmp30; -double Dtmp32 = Dtmp31 + 45.0; -double Dtmp33 = 1.0*Dtmp17; -double Dtmp34 = pow(y, 4); -double Dtmp35 = 945.0*Dtmp20; -double Dtmp36 = Dtmp19*Dtmp35; -double Dtmp37 = 630.0*Dtmp22; -double Dtmp38 = Dtmp16*(Dtmp36 - Dtmp37 + 45.0); -double Dtmp39 = 315.0*Dtmp30; -double Dtmp40 = Dtmp26*Dtmp35; -double Dtmp41 = 315.0 - 945.0*Dtmp22; -double Dtmp42 = pow(R, -9); -double Dtmp43 = Dtmp42*x; -double Dtmp44 = Dtmp43*y; -double Dtmp45 = Dtmp44*z; -double Dtmp46 = 315.0*Dtmp22; -double Dtmp47 = Dtmp16*z; -double Dtmp48 = Dtmp34*Dtmp35; -double Dtmp49 = 630.0*Dtmp30; -double Dtmp50 = Dtmp48 - Dtmp49 + 45.0; -double Dtmp51 = 315.0 - 945.0*Dtmp30; -double Dtmp52 = pow(x, 6); -double Dtmp53 = pow(R, -6); -double Dtmp54 = 10395.0*Dtmp53; -double Dtmp55 = Dtmp19*Dtmp20; -double Dtmp56 = 10395.0*Dtmp55; -double Dtmp57 = -9450.0*Dtmp22 + Dtmp56 + 1575.0; -double Dtmp58 = Dtmp43*Dtmp57; -double Dtmp59 = Dtmp19*Dtmp8; -double Dtmp60 = Dtmp20*Dtmp26; -double Dtmp61 = -5670.0*Dtmp60 - 45.0; -double Dtmp62 = -5670.0*Dtmp22 + Dtmp56 + 315.0; -double Dtmp63 = Dtmp42*y; -double Dtmp64 = Dtmp63*z; -double Dtmp65 = -2835.0*Dtmp30; -double Dtmp66 = 10395.0*Dtmp60; -double Dtmp67 = Dtmp65 + Dtmp66; -double Dtmp68 = -2835.0*Dtmp22; -double Dtmp69 = Dtmp68 + 945.0; -double Dtmp70 = Dtmp43*z; -double Dtmp71 = Dtmp2*Dtmp34; -double Dtmp72 = Dtmp20*Dtmp34; -double Dtmp73 = 10395.0*Dtmp72; -double Dtmp74 = -9450.0*Dtmp30 + Dtmp73 + 1575.0; -double Dtmp75 = -5670.0*Dtmp30 + Dtmp73 + 315.0; -double Dtmp76 = pow(y, 6); -double Dtmp77 = 135135.0*Dtmp53; -double Dtmp78 = -Dtmp52*Dtmp77; -double Dtmp79 = Dtmp42*(-42525.0*Dtmp22 + 155925.0*Dtmp55 + Dtmp78 + 1575.0); -double Dtmp80 = 103950.0*Dtmp60; -double Dtmp81 = -Dtmp59*Dtmp77; -double Dtmp82 = Dtmp18*x/pow(R, 11); -double Dtmp83 = 62370.0*Dtmp60; -double Dtmp84 = Dtmp65 + Dtmp81 + Dtmp83; -double Dtmp85 = Dtmp42*z; -double Dtmp86 = -Dtmp71*Dtmp77; -double Dtmp87 = Dtmp83 + Dtmp86; -double Dtmp88 = -Dtmp76*Dtmp77; -double Dtmp89 = -42525.0*Dtmp30 + 155925.0*Dtmp72 + Dtmp88 + 1575.0; -D[0] = -Dtmp1*x; -D[1] = -Dtmp1*y; -D[2] = -Dtmp1*z; -D[3] = Dtmp0*(Dtmp2*Dtmp4 - 1.0); -D[4] = Dtmp7*y; -D[5] = Dtmp7*z; -D[6] = Dtmp0*(Dtmp4*Dtmp8 - 1.0); -D[7] = 3.0*Dtmp9*z; -D[8] = -D[3] - D[6]; -D[9] = Dtmp6*(Dtmp11 + 9.0); -D[10] = Dtmp13*y; -D[11] = Dtmp13*z; -D[12] = 1.0*Dtmp15*Dtmp6; -D[13] = -15.0*Dtmp17*Dtmp18; -D[14] = -D[9] - D[12]; -D[15] = Dtmp9*(Dtmp14 + 9.0); -D[16] = Dtmp15*Dtmp5*z; -D[17] = -D[10] - D[15]; -D[18] = -D[11] - D[16]; -D[19] = Dtmp5*(Dtmp19*Dtmp21 - 90.0*Dtmp22 + 9.0); -D[20] = -Dtmp25*y; -D[21] = -Dtmp25*z; -D[22] = Dtmp5*(Dtmp12 + Dtmp14 + Dtmp21*Dtmp26); -D[23] = -Dtmp27*Dtmp29; -D[24] = -D[19] - D[22]; -D[25] = -Dtmp32*Dtmp33*y; -D[26] = -Dtmp33*z*(Dtmp31 + 15.0); -D[27] = -D[20] - D[25]; -D[28] = -D[21] - D[26]; -D[29] = Dtmp5*(Dtmp21*Dtmp34 - 90.0*Dtmp30 + 9.0); -D[30] = -Dtmp29*Dtmp32; -D[31] = -D[22] - D[29]; -D[32] = -D[23] - D[30]; -D[33] = -D[24] - D[31]; -D[34] = -Dtmp17*(-1050.0*Dtmp22 + Dtmp36 + 225.0); -D[35] = -Dtmp38*y; -D[36] = -Dtmp38*z; -D[37] = -Dtmp17*(Dtmp24 - Dtmp39 + Dtmp40); -D[38] = Dtmp41*Dtmp45; -D[39] = -D[34] - D[37]; -D[40] = -Dtmp28*(Dtmp32 + Dtmp40 - Dtmp46); -D[41] = -Dtmp47*(Dtmp27 + Dtmp31 + Dtmp40); -D[42] = -D[35] - D[40]; -D[43] = -D[36] - D[41]; -D[44] = -Dtmp33*Dtmp50; -D[45] = 1.0*Dtmp45*Dtmp51; -D[46] = -D[37] - D[44]; -D[47] = -D[38] - D[45]; -D[48] = -D[39] - D[46]; -D[49] = -Dtmp28*(-1050.0*Dtmp30 + Dtmp48 + 225.0); -D[50] = -Dtmp47*Dtmp50; -D[51] = -D[40] - D[49]; -D[52] = -D[41] - D[50]; -D[53] = -D[42] - D[51]; -D[54] = -D[43] - D[52]; -D[55] = Dtmp16*(4725.0*Dtmp22 + Dtmp52*Dtmp54 - 14175.0*Dtmp55 - 225.0); -D[56] = Dtmp58*y; -D[57] = Dtmp58*z; -D[58] = Dtmp16*(-Dtmp36 + Dtmp37 + Dtmp39 + Dtmp54*Dtmp59 + Dtmp61); -D[59] = Dtmp62*Dtmp64; -D[60] = -D[55] - D[58]; -D[61] = Dtmp44*(Dtmp67 + Dtmp69); -D[62] = Dtmp70*(Dtmp41 + Dtmp67); -D[63] = -D[56] - D[61]; -D[64] = -D[57] - D[62]; -D[65] = Dtmp16*(Dtmp46 - Dtmp48 + Dtmp49 + Dtmp54*Dtmp71 + Dtmp61); -D[66] = Dtmp64*(Dtmp51 + Dtmp66 + Dtmp68); -D[67] = -D[58] - D[65]; -D[68] = -D[59] - D[66]; -D[69] = -D[60] - D[67]; -D[70] = 1.0*Dtmp44*Dtmp74; -D[71] = 1.0*Dtmp70*Dtmp75; -D[72] = -D[61] - D[70]; -D[73] = -D[62] - D[71]; -D[74] = -D[63] - D[72]; -D[75] = -D[64] - D[73]; -D[76] = Dtmp16*(4725.0*Dtmp30 + Dtmp54*Dtmp76 - 14175.0*Dtmp72 - 225.0); -D[77] = Dtmp64*Dtmp74; -D[78] = -D[65] - D[76]; -D[79] = -D[66] - D[77]; -D[80] = -D[67] - D[78]; -D[81] = -D[68] - D[79]; -D[82] = -D[69] - D[80]; -D[83] = Dtmp43*(-99225.0*Dtmp22 + 218295.0*Dtmp55 + Dtmp78 + 11025.0); -D[84] = Dtmp79*y; -D[85] = Dtmp79*z; -D[86] = Dtmp43*(-14175.0*Dtmp30 + Dtmp57 + Dtmp80 + Dtmp81); -D[87] = -Dtmp82*(-103950.0*Dtmp22 + 135135.0*Dtmp55 + 14175.0); -D[88] = -D[83] - D[86]; -D[89] = Dtmp63*(-17010.0*Dtmp22 + 31185.0*Dtmp55 + Dtmp84 + 945.0); -D[90] = Dtmp85*(Dtmp62 + Dtmp84); -D[91] = -D[84] - D[89]; -D[92] = -D[85] - D[90]; -D[93] = Dtmp43*(-17010.0*Dtmp30 + Dtmp69 + 31185.0*Dtmp72 + Dtmp87); -D[94] = -Dtmp82*(-31185.0*Dtmp22 - 31185.0*Dtmp30 + 135135.0*Dtmp60 + 8505.0); -D[95] = -D[86] - D[93]; -D[96] = -D[87] - D[94]; -D[97] = -D[88] - D[95]; -D[98] = Dtmp63*(-14175.0*Dtmp22 + Dtmp74 + Dtmp80 + Dtmp86); -D[99] = Dtmp85*(Dtmp68 + Dtmp75 + Dtmp87); -D[100] = -D[89] - D[98]; -D[101] = -D[90] - D[99]; -D[102] = -D[91] - D[100]; -D[103] = -D[92] - D[101]; -D[104] = 1.0*Dtmp43*Dtmp89; -D[105] = -1.0*Dtmp82*(-103950.0*Dtmp30 + 135135.0*Dtmp72 + 14175.0); -D[106] = -D[93] - D[104]; -D[107] = -D[94] - D[105]; -D[108] = -D[95] - D[106]; -D[109] = -D[96] - D[107]; -D[110] = -D[97] - D[108]; -D[111] = Dtmp63*(-99225.0*Dtmp30 + 218295.0*Dtmp72 + Dtmp88 + 11025.0); -D[112] = Dtmp85*Dtmp89; -D[113] = -D[98] - D[111]; -D[114] = -D[99] - D[112]; -D[115] = -D[100] - D[113]; -D[116] = -D[101] - D[114]; -D[117] = -D[102] - D[115]; -D[118] = -D[103] - D[116]; -#pragma omp atomic -L[0] += D[0]*M[0] + D[1]*M[1] + D[2]*M[2] + D[3]*M[3] + D[4]*M[4] + D[5]*M[5] + D[6]*M[6] + D[7]*M[7] + D[8]*M[8] + D[9]*M[9] + D[10]*M[10] + D[11]*M[11] + D[12]*M[12] + D[13]*M[13] + D[14]*M[14] + D[15]*M[15] + D[16]*M[16] + D[17]*M[17] + D[18]*M[18] + D[19]*M[19] + D[20]*M[20] + D[21]*M[21] + D[22]*M[22] + D[23]*M[23] + D[24]*M[24] + D[25]*M[25] + D[26]*M[26] + D[27]*M[27] + D[28]*M[28] + D[29]*M[29] + D[30]*M[30] + D[31]*M[31] + D[32]*M[32] + D[33]*M[33] + D[34]*M[34] + D[35]*M[35] + D[36]*M[36] + D[37]*M[37] + D[38]*M[38] + D[39]*M[39] + D[40]*M[40] + D[41]*M[41] + D[42]*M[42] + D[43]*M[43] + D[44]*M[44] + D[45]*M[45] + D[46]*M[46] + D[47]*M[47] + D[48]*M[48] + D[49]*M[49] + D[50]*M[50] + D[51]*M[51] + D[52]*M[52] + D[53]*M[53] + D[54]*M[54] + D[55]*M[55] + D[56]*M[56] + D[57]*M[57] + D[58]*M[58] + D[59]*M[59] + D[60]*M[60] + D[61]*M[61] + D[62]*M[62] + D[63]*M[63] + D[64]*M[64] + D[65]*M[65] + D[66]*M[66] + D[67]*M[67] + D[68]*M[68] + D[69]*M[69] + D[70]*M[70] + D[71]*M[71] + D[72]*M[72] + D[73]*M[73] + D[74]*M[74] + D[75]*M[75] + D[76]*M[76] + D[77]*M[77] + D[78]*M[78] + D[79]*M[79] + D[80]*M[80] + D[81]*M[81] + D[82]*M[82] + D[83]*M[83] + D[84]*M[84] + D[85]*M[85] + D[86]*M[86] + D[87]*M[87] + D[88]*M[88] + D[89]*M[89] + D[90]*M[90] + D[91]*M[91] + D[92]*M[92] + D[93]*M[93] + D[94]*M[94] + D[95]*M[95] + D[96]*M[96] + D[97]*M[97] + D[98]*M[98] + D[99]*M[99] + D[100]*M[100] + D[101]*M[101] + D[102]*M[102] + D[103]*M[103] + D[104]*M[104] + D[105]*M[105] + D[106]*M[106] + D[107]*M[107] + D[108]*M[108] + D[109]*M[109] + D[110]*M[110] + D[111]*M[111] + D[112]*M[112] + D[113]*M[113] + D[114]*M[114] + D[115]*M[115] + D[116]*M[116] + D[117]*M[117] + D[118]*M[118]; -#pragma omp atomic -L[1] += D[3]*M[0] + D[4]*M[1] + D[5]*M[2] + D[9]*M[3] + D[10]*M[4] + D[11]*M[5] + D[12]*M[6] + D[13]*M[7] + D[14]*M[8] + D[19]*M[9] + D[20]*M[10] + D[21]*M[11] + D[22]*M[12] + D[23]*M[13] + D[24]*M[14] + D[25]*M[15] + D[26]*M[16] + D[27]*M[17] + D[28]*M[18] + D[34]*M[19] + D[35]*M[20] + D[36]*M[21] + D[37]*M[22] + D[38]*M[23] + D[39]*M[24] + D[40]*M[25] + D[41]*M[26] + D[42]*M[27] + D[43]*M[28] + D[44]*M[29] + D[45]*M[30] + D[46]*M[31] + D[47]*M[32] + D[48]*M[33] + D[55]*M[34] + D[56]*M[35] + D[57]*M[36] + D[58]*M[37] + D[59]*M[38] + D[60]*M[39] + D[61]*M[40] + D[62]*M[41] + D[63]*M[42] + D[64]*M[43] + D[65]*M[44] + D[66]*M[45] + D[67]*M[46] + D[68]*M[47] + D[69]*M[48] + D[70]*M[49] + D[71]*M[50] + D[72]*M[51] + D[73]*M[52] + D[74]*M[53] + D[75]*M[54] + D[83]*M[55] + D[84]*M[56] + D[85]*M[57] + D[86]*M[58] + D[87]*M[59] + D[88]*M[60] + D[89]*M[61] + D[90]*M[62] + D[91]*M[63] + D[92]*M[64] + D[93]*M[65] + D[94]*M[66] + D[95]*M[67] + D[96]*M[68] + D[97]*M[69] + D[98]*M[70] + D[99]*M[71] + D[100]*M[72] + D[101]*M[73] + D[102]*M[74] + D[103]*M[75] + D[104]*M[76] + D[105]*M[77] + D[106]*M[78] + D[107]*M[79] + D[108]*M[80] + D[109]*M[81] + D[110]*M[82]; -#pragma omp atomic -L[2] += D[4]*M[0] + D[6]*M[1] + D[7]*M[2] + D[10]*M[3] + D[12]*M[4] + D[13]*M[5] + D[15]*M[6] + D[16]*M[7] + D[17]*M[8] + D[20]*M[9] + D[22]*M[10] + D[23]*M[11] + D[25]*M[12] + D[26]*M[13] + D[27]*M[14] + D[29]*M[15] + D[30]*M[16] + D[31]*M[17] + D[32]*M[18] + D[35]*M[19] + D[37]*M[20] + D[38]*M[21] + D[40]*M[22] + D[41]*M[23] + D[42]*M[24] + D[44]*M[25] + D[45]*M[26] + D[46]*M[27] + D[47]*M[28] + D[49]*M[29] + D[50]*M[30] + D[51]*M[31] + D[52]*M[32] + D[53]*M[33] + D[56]*M[34] + D[58]*M[35] + D[59]*M[36] + D[61]*M[37] + D[62]*M[38] + D[63]*M[39] + D[65]*M[40] + D[66]*M[41] + D[67]*M[42] + D[68]*M[43] + D[70]*M[44] + D[71]*M[45] + D[72]*M[46] + D[73]*M[47] + D[74]*M[48] + D[76]*M[49] + D[77]*M[50] + D[78]*M[51] + D[79]*M[52] + D[80]*M[53] + D[81]*M[54] + D[84]*M[55] + D[86]*M[56] + D[87]*M[57] + D[89]*M[58] + D[90]*M[59] + D[91]*M[60] + D[93]*M[61] + D[94]*M[62] + D[95]*M[63] + D[96]*M[64] + D[98]*M[65] + D[99]*M[66] + D[100]*M[67] + D[101]*M[68] + D[102]*M[69] + D[104]*M[70] + D[105]*M[71] + D[106]*M[72] + D[107]*M[73] + D[108]*M[74] + D[109]*M[75] + D[111]*M[76] + D[112]*M[77] + D[113]*M[78] + D[114]*M[79] + D[115]*M[80] + D[116]*M[81] + D[117]*M[82]; -#pragma omp atomic -L[3] += D[5]*M[0] + D[7]*M[1] + D[8]*M[2] + D[11]*M[3] + D[13]*M[4] + D[14]*M[5] + D[16]*M[6] + D[17]*M[7] + D[18]*M[8] + D[21]*M[9] + D[23]*M[10] + D[24]*M[11] + D[26]*M[12] + D[27]*M[13] + D[28]*M[14] + D[30]*M[15] + D[31]*M[16] + D[32]*M[17] + D[33]*M[18] + D[36]*M[19] + D[38]*M[20] + D[39]*M[21] + D[41]*M[22] + D[42]*M[23] + D[43]*M[24] + D[45]*M[25] + D[46]*M[26] + D[47]*M[27] + D[48]*M[28] + D[50]*M[29] + D[51]*M[30] + D[52]*M[31] + D[53]*M[32] + D[54]*M[33] + D[57]*M[34] + D[59]*M[35] + D[60]*M[36] + D[62]*M[37] + D[63]*M[38] + D[64]*M[39] + D[66]*M[40] + D[67]*M[41] + D[68]*M[42] + D[69]*M[43] + D[71]*M[44] + D[72]*M[45] + D[73]*M[46] + D[74]*M[47] + D[75]*M[48] + D[77]*M[49] + D[78]*M[50] + D[79]*M[51] + D[80]*M[52] + D[81]*M[53] + D[82]*M[54] + D[85]*M[55] + D[87]*M[56] + D[88]*M[57] + D[90]*M[58] + D[91]*M[59] + D[92]*M[60] + D[94]*M[61] + D[95]*M[62] + D[96]*M[63] + D[97]*M[64] + D[99]*M[65] + D[100]*M[66] + D[101]*M[67] + D[102]*M[68] + D[103]*M[69] + D[105]*M[70] + D[106]*M[71] + D[107]*M[72] + D[108]*M[73] + D[109]*M[74] + D[110]*M[75] + D[112]*M[76] + D[113]*M[77] + D[114]*M[78] + D[115]*M[79] + D[116]*M[80] + D[117]*M[81] + D[118]*M[82]; -#pragma omp atomic -L[4] += D[9]*M[0] + D[10]*M[1] + D[11]*M[2] + D[19]*M[3] + D[20]*M[4] + D[21]*M[5] + D[22]*M[6] + D[23]*M[7] + D[24]*M[8] + D[34]*M[9] + D[35]*M[10] + D[36]*M[11] + D[37]*M[12] + D[38]*M[13] + D[39]*M[14] + D[40]*M[15] + D[41]*M[16] + D[42]*M[17] + D[43]*M[18] + D[55]*M[19] + D[56]*M[20] + D[57]*M[21] + D[58]*M[22] + D[59]*M[23] + D[60]*M[24] + D[61]*M[25] + D[62]*M[26] + D[63]*M[27] + D[64]*M[28] + D[65]*M[29] + D[66]*M[30] + D[67]*M[31] + D[68]*M[32] + D[69]*M[33] + D[83]*M[34] + D[84]*M[35] + D[85]*M[36] + D[86]*M[37] + D[87]*M[38] + D[88]*M[39] + D[89]*M[40] + D[90]*M[41] + D[91]*M[42] + D[92]*M[43] + D[93]*M[44] + D[94]*M[45] + D[95]*M[46] + D[96]*M[47] + D[97]*M[48] + D[98]*M[49] + D[99]*M[50] + D[100]*M[51] + D[101]*M[52] + D[102]*M[53] + D[103]*M[54]; -#pragma omp atomic -L[5] += D[10]*M[0] + D[12]*M[1] + D[13]*M[2] + D[20]*M[3] + D[22]*M[4] + D[23]*M[5] + D[25]*M[6] + D[26]*M[7] + D[27]*M[8] + D[35]*M[9] + D[37]*M[10] + D[38]*M[11] + D[40]*M[12] + D[41]*M[13] + D[42]*M[14] + D[44]*M[15] + D[45]*M[16] + D[46]*M[17] + D[47]*M[18] + D[56]*M[19] + D[58]*M[20] + D[59]*M[21] + D[61]*M[22] + D[62]*M[23] + D[63]*M[24] + D[65]*M[25] + D[66]*M[26] + D[67]*M[27] + D[68]*M[28] + D[70]*M[29] + D[71]*M[30] + D[72]*M[31] + D[73]*M[32] + D[74]*M[33] + D[84]*M[34] + D[86]*M[35] + D[87]*M[36] + D[89]*M[37] + D[90]*M[38] + D[91]*M[39] + D[93]*M[40] + D[94]*M[41] + D[95]*M[42] + D[96]*M[43] + D[98]*M[44] + D[99]*M[45] + D[100]*M[46] + D[101]*M[47] + D[102]*M[48] + D[104]*M[49] + D[105]*M[50] + D[106]*M[51] + D[107]*M[52] + D[108]*M[53] + D[109]*M[54]; -#pragma omp atomic -L[6] += D[11]*M[0] + D[13]*M[1] + D[14]*M[2] + D[21]*M[3] + D[23]*M[4] + D[24]*M[5] + D[26]*M[6] + D[27]*M[7] + D[28]*M[8] + D[36]*M[9] + D[38]*M[10] + D[39]*M[11] + D[41]*M[12] + D[42]*M[13] + D[43]*M[14] + D[45]*M[15] + D[46]*M[16] + D[47]*M[17] + D[48]*M[18] + D[57]*M[19] + D[59]*M[20] + D[60]*M[21] + D[62]*M[22] + D[63]*M[23] + D[64]*M[24] + D[66]*M[25] + D[67]*M[26] + D[68]*M[27] + D[69]*M[28] + D[71]*M[29] + D[72]*M[30] + D[73]*M[31] + D[74]*M[32] + D[75]*M[33] + D[85]*M[34] + D[87]*M[35] + D[88]*M[36] + D[90]*M[37] + D[91]*M[38] + D[92]*M[39] + D[94]*M[40] + D[95]*M[41] + D[96]*M[42] + D[97]*M[43] + D[99]*M[44] + D[100]*M[45] + D[101]*M[46] + D[102]*M[47] + D[103]*M[48] + D[105]*M[49] + D[106]*M[50] + D[107]*M[51] + D[108]*M[52] + D[109]*M[53] + D[110]*M[54]; -#pragma omp atomic -L[7] += D[12]*M[0] + D[15]*M[1] + D[16]*M[2] + D[22]*M[3] + D[25]*M[4] + D[26]*M[5] + D[29]*M[6] + D[30]*M[7] + D[31]*M[8] + D[37]*M[9] + D[40]*M[10] + D[41]*M[11] + D[44]*M[12] + D[45]*M[13] + D[46]*M[14] + D[49]*M[15] + D[50]*M[16] + D[51]*M[17] + D[52]*M[18] + D[58]*M[19] + D[61]*M[20] + D[62]*M[21] + D[65]*M[22] + D[66]*M[23] + D[67]*M[24] + D[70]*M[25] + D[71]*M[26] + D[72]*M[27] + D[73]*M[28] + D[76]*M[29] + D[77]*M[30] + D[78]*M[31] + D[79]*M[32] + D[80]*M[33] + D[86]*M[34] + D[89]*M[35] + D[90]*M[36] + D[93]*M[37] + D[94]*M[38] + D[95]*M[39] + D[98]*M[40] + D[99]*M[41] + D[100]*M[42] + D[101]*M[43] + D[104]*M[44] + D[105]*M[45] + D[106]*M[46] + D[107]*M[47] + D[108]*M[48] + D[111]*M[49] + D[112]*M[50] + D[113]*M[51] + D[114]*M[52] + D[115]*M[53] + D[116]*M[54]; -#pragma omp atomic -L[8] += D[13]*M[0] + D[16]*M[1] + D[17]*M[2] + D[23]*M[3] + D[26]*M[4] + D[27]*M[5] + D[30]*M[6] + D[31]*M[7] + D[32]*M[8] + D[38]*M[9] + D[41]*M[10] + D[42]*M[11] + D[45]*M[12] + D[46]*M[13] + D[47]*M[14] + D[50]*M[15] + D[51]*M[16] + D[52]*M[17] + D[53]*M[18] + D[59]*M[19] + D[62]*M[20] + D[63]*M[21] + D[66]*M[22] + D[67]*M[23] + D[68]*M[24] + D[71]*M[25] + D[72]*M[26] + D[73]*M[27] + D[74]*M[28] + D[77]*M[29] + D[78]*M[30] + D[79]*M[31] + D[80]*M[32] + D[81]*M[33] + D[87]*M[34] + D[90]*M[35] + D[91]*M[36] + D[94]*M[37] + D[95]*M[38] + D[96]*M[39] + D[99]*M[40] + D[100]*M[41] + D[101]*M[42] + D[102]*M[43] + D[105]*M[44] + D[106]*M[45] + D[107]*M[46] + D[108]*M[47] + D[109]*M[48] + D[112]*M[49] + D[113]*M[50] + D[114]*M[51] + D[115]*M[52] + D[116]*M[53] + D[117]*M[54]; -#pragma omp atomic -L[9] += D[14]*M[0] + D[17]*M[1] + D[18]*M[2] + D[24]*M[3] + D[27]*M[4] + D[28]*M[5] + D[31]*M[6] + D[32]*M[7] + D[33]*M[8] + D[39]*M[9] + D[42]*M[10] + D[43]*M[11] + D[46]*M[12] + D[47]*M[13] + D[48]*M[14] + D[51]*M[15] + D[52]*M[16] + D[53]*M[17] + D[54]*M[18] + D[60]*M[19] + D[63]*M[20] + D[64]*M[21] + D[67]*M[22] + D[68]*M[23] + D[69]*M[24] + D[72]*M[25] + D[73]*M[26] + D[74]*M[27] + D[75]*M[28] + D[78]*M[29] + D[79]*M[30] + D[80]*M[31] + D[81]*M[32] + D[82]*M[33] + D[88]*M[34] + D[91]*M[35] + D[92]*M[36] + D[95]*M[37] + D[96]*M[38] + D[97]*M[39] + D[100]*M[40] + D[101]*M[41] + D[102]*M[42] + D[103]*M[43] + D[106]*M[44] + D[107]*M[45] + D[108]*M[46] + D[109]*M[47] + D[110]*M[48] + D[113]*M[49] + D[114]*M[50] + D[115]*M[51] + D[116]*M[52] + D[117]*M[53] + D[118]*M[54]; -#pragma omp atomic -L[10] += D[19]*M[0] + D[20]*M[1] + D[21]*M[2] + D[34]*M[3] + D[35]*M[4] + D[36]*M[5] + D[37]*M[6] + D[38]*M[7] + D[39]*M[8] + D[55]*M[9] + D[56]*M[10] + D[57]*M[11] + D[58]*M[12] + D[59]*M[13] + D[60]*M[14] + D[61]*M[15] + D[62]*M[16] + D[63]*M[17] + D[64]*M[18] + D[83]*M[19] + D[84]*M[20] + D[85]*M[21] + D[86]*M[22] + D[87]*M[23] + D[88]*M[24] + D[89]*M[25] + D[90]*M[26] + D[91]*M[27] + D[92]*M[28] + D[93]*M[29] + D[94]*M[30] + D[95]*M[31] + D[96]*M[32] + D[97]*M[33]; -#pragma omp atomic -L[11] += D[20]*M[0] + D[22]*M[1] + D[23]*M[2] + D[35]*M[3] + D[37]*M[4] + D[38]*M[5] + D[40]*M[6] + D[41]*M[7] + D[42]*M[8] + D[56]*M[9] + D[58]*M[10] + D[59]*M[11] + D[61]*M[12] + D[62]*M[13] + D[63]*M[14] + D[65]*M[15] + D[66]*M[16] + D[67]*M[17] + D[68]*M[18] + D[84]*M[19] + D[86]*M[20] + D[87]*M[21] + D[89]*M[22] + D[90]*M[23] + D[91]*M[24] + D[93]*M[25] + D[94]*M[26] + D[95]*M[27] + D[96]*M[28] + D[98]*M[29] + D[99]*M[30] + D[100]*M[31] + D[101]*M[32] + D[102]*M[33]; -#pragma omp atomic -L[12] += D[21]*M[0] + D[23]*M[1] + D[24]*M[2] + D[36]*M[3] + D[38]*M[4] + D[39]*M[5] + D[41]*M[6] + D[42]*M[7] + D[43]*M[8] + D[57]*M[9] + D[59]*M[10] + D[60]*M[11] + D[62]*M[12] + D[63]*M[13] + D[64]*M[14] + D[66]*M[15] + D[67]*M[16] + D[68]*M[17] + D[69]*M[18] + D[85]*M[19] + D[87]*M[20] + D[88]*M[21] + D[90]*M[22] + D[91]*M[23] + D[92]*M[24] + D[94]*M[25] + D[95]*M[26] + D[96]*M[27] + D[97]*M[28] + D[99]*M[29] + D[100]*M[30] + D[101]*M[31] + D[102]*M[32] + D[103]*M[33]; -#pragma omp atomic -L[13] += D[22]*M[0] + D[25]*M[1] + D[26]*M[2] + D[37]*M[3] + D[40]*M[4] + D[41]*M[5] + D[44]*M[6] + D[45]*M[7] + D[46]*M[8] + D[58]*M[9] + D[61]*M[10] + D[62]*M[11] + D[65]*M[12] + D[66]*M[13] + D[67]*M[14] + D[70]*M[15] + D[71]*M[16] + D[72]*M[17] + D[73]*M[18] + D[86]*M[19] + D[89]*M[20] + D[90]*M[21] + D[93]*M[22] + D[94]*M[23] + D[95]*M[24] + D[98]*M[25] + D[99]*M[26] + D[100]*M[27] + D[101]*M[28] + D[104]*M[29] + D[105]*M[30] + D[106]*M[31] + D[107]*M[32] + D[108]*M[33]; -#pragma omp atomic -L[14] += D[23]*M[0] + D[26]*M[1] + D[27]*M[2] + D[38]*M[3] + D[41]*M[4] + D[42]*M[5] + D[45]*M[6] + D[46]*M[7] + D[47]*M[8] + D[59]*M[9] + D[62]*M[10] + D[63]*M[11] + D[66]*M[12] + D[67]*M[13] + D[68]*M[14] + D[71]*M[15] + D[72]*M[16] + D[73]*M[17] + D[74]*M[18] + D[87]*M[19] + D[90]*M[20] + D[91]*M[21] + D[94]*M[22] + D[95]*M[23] + D[96]*M[24] + D[99]*M[25] + D[100]*M[26] + D[101]*M[27] + D[102]*M[28] + D[105]*M[29] + D[106]*M[30] + D[107]*M[31] + D[108]*M[32] + D[109]*M[33]; -#pragma omp atomic -L[15] += D[24]*M[0] + D[27]*M[1] + D[28]*M[2] + D[39]*M[3] + D[42]*M[4] + D[43]*M[5] + D[46]*M[6] + D[47]*M[7] + D[48]*M[8] + D[60]*M[9] + D[63]*M[10] + D[64]*M[11] + D[67]*M[12] + D[68]*M[13] + D[69]*M[14] + D[72]*M[15] + D[73]*M[16] + D[74]*M[17] + D[75]*M[18] + D[88]*M[19] + D[91]*M[20] + D[92]*M[21] + D[95]*M[22] + D[96]*M[23] + D[97]*M[24] + D[100]*M[25] + D[101]*M[26] + D[102]*M[27] + D[103]*M[28] + D[106]*M[29] + D[107]*M[30] + D[108]*M[31] + D[109]*M[32] + D[110]*M[33]; -#pragma omp atomic -L[16] += D[25]*M[0] + D[29]*M[1] + D[30]*M[2] + D[40]*M[3] + D[44]*M[4] + D[45]*M[5] + D[49]*M[6] + D[50]*M[7] + D[51]*M[8] + D[61]*M[9] + D[65]*M[10] + D[66]*M[11] + D[70]*M[12] + D[71]*M[13] + D[72]*M[14] + D[76]*M[15] + D[77]*M[16] + D[78]*M[17] + D[79]*M[18] + D[89]*M[19] + D[93]*M[20] + D[94]*M[21] + D[98]*M[22] + D[99]*M[23] + D[100]*M[24] + D[104]*M[25] + D[105]*M[26] + D[106]*M[27] + D[107]*M[28] + D[111]*M[29] + D[112]*M[30] + D[113]*M[31] + D[114]*M[32] + D[115]*M[33]; -#pragma omp atomic -L[17] += D[26]*M[0] + D[30]*M[1] + D[31]*M[2] + D[41]*M[3] + D[45]*M[4] + D[46]*M[5] + D[50]*M[6] + D[51]*M[7] + D[52]*M[8] + D[62]*M[9] + D[66]*M[10] + D[67]*M[11] + D[71]*M[12] + D[72]*M[13] + D[73]*M[14] + D[77]*M[15] + D[78]*M[16] + D[79]*M[17] + D[80]*M[18] + D[90]*M[19] + D[94]*M[20] + D[95]*M[21] + D[99]*M[22] + D[100]*M[23] + D[101]*M[24] + D[105]*M[25] + D[106]*M[26] + D[107]*M[27] + D[108]*M[28] + D[112]*M[29] + D[113]*M[30] + D[114]*M[31] + D[115]*M[32] + D[116]*M[33]; -#pragma omp atomic -L[18] += D[27]*M[0] + D[31]*M[1] + D[32]*M[2] + D[42]*M[3] + D[46]*M[4] + D[47]*M[5] + D[51]*M[6] + D[52]*M[7] + D[53]*M[8] + D[63]*M[9] + D[67]*M[10] + D[68]*M[11] + D[72]*M[12] + D[73]*M[13] + D[74]*M[14] + D[78]*M[15] + D[79]*M[16] + D[80]*M[17] + D[81]*M[18] + D[91]*M[19] + D[95]*M[20] + D[96]*M[21] + D[100]*M[22] + D[101]*M[23] + D[102]*M[24] + D[106]*M[25] + D[107]*M[26] + D[108]*M[27] + D[109]*M[28] + D[113]*M[29] + D[114]*M[30] + D[115]*M[31] + D[116]*M[32] + D[117]*M[33]; -#pragma omp atomic -L[19] += D[28]*M[0] + D[32]*M[1] + D[33]*M[2] + D[43]*M[3] + D[47]*M[4] + D[48]*M[5] + D[52]*M[6] + D[53]*M[7] + D[54]*M[8] + D[64]*M[9] + D[68]*M[10] + D[69]*M[11] + D[73]*M[12] + D[74]*M[13] + D[75]*M[14] + D[79]*M[15] + D[80]*M[16] + D[81]*M[17] + D[82]*M[18] + D[92]*M[19] + D[96]*M[20] + D[97]*M[21] + D[101]*M[22] + D[102]*M[23] + D[103]*M[24] + D[107]*M[25] + D[108]*M[26] + D[109]*M[27] + D[110]*M[28] + D[114]*M[29] + D[115]*M[30] + D[116]*M[31] + D[117]*M[32] + D[118]*M[33]; -#pragma omp atomic -L[20] += D[34]*M[0] + D[35]*M[1] + D[36]*M[2] + D[55]*M[3] + D[56]*M[4] + D[57]*M[5] + D[58]*M[6] + D[59]*M[7] + D[60]*M[8] + D[83]*M[9] + D[84]*M[10] + D[85]*M[11] + D[86]*M[12] + D[87]*M[13] + D[88]*M[14] + D[89]*M[15] + D[90]*M[16] + D[91]*M[17] + D[92]*M[18]; -#pragma omp atomic -L[21] += D[35]*M[0] + D[37]*M[1] + D[38]*M[2] + D[56]*M[3] + D[58]*M[4] + D[59]*M[5] + D[61]*M[6] + D[62]*M[7] + D[63]*M[8] + D[84]*M[9] + D[86]*M[10] + D[87]*M[11] + D[89]*M[12] + D[90]*M[13] + D[91]*M[14] + D[93]*M[15] + D[94]*M[16] + D[95]*M[17] + D[96]*M[18]; -#pragma omp atomic -L[22] += D[36]*M[0] + D[38]*M[1] + D[39]*M[2] + D[57]*M[3] + D[59]*M[4] + D[60]*M[5] + D[62]*M[6] + D[63]*M[7] + D[64]*M[8] + D[85]*M[9] + D[87]*M[10] + D[88]*M[11] + D[90]*M[12] + D[91]*M[13] + D[92]*M[14] + D[94]*M[15] + D[95]*M[16] + D[96]*M[17] + D[97]*M[18]; -#pragma omp atomic -L[23] += D[37]*M[0] + D[40]*M[1] + D[41]*M[2] + D[58]*M[3] + D[61]*M[4] + D[62]*M[5] + D[65]*M[6] + D[66]*M[7] + D[67]*M[8] + D[86]*M[9] + D[89]*M[10] + D[90]*M[11] + D[93]*M[12] + D[94]*M[13] + D[95]*M[14] + D[98]*M[15] + D[99]*M[16] + D[100]*M[17] + D[101]*M[18]; -#pragma omp atomic -L[24] += D[38]*M[0] + D[41]*M[1] + D[42]*M[2] + D[59]*M[3] + D[62]*M[4] + D[63]*M[5] + D[66]*M[6] + D[67]*M[7] + D[68]*M[8] + D[87]*M[9] + D[90]*M[10] + D[91]*M[11] + D[94]*M[12] + D[95]*M[13] + D[96]*M[14] + D[99]*M[15] + D[100]*M[16] + D[101]*M[17] + D[102]*M[18]; -#pragma omp atomic -L[25] += D[39]*M[0] + D[42]*M[1] + D[43]*M[2] + D[60]*M[3] + D[63]*M[4] + D[64]*M[5] + D[67]*M[6] + D[68]*M[7] + D[69]*M[8] + D[88]*M[9] + D[91]*M[10] + D[92]*M[11] + D[95]*M[12] + D[96]*M[13] + D[97]*M[14] + D[100]*M[15] + D[101]*M[16] + D[102]*M[17] + D[103]*M[18]; -#pragma omp atomic -L[26] += D[40]*M[0] + D[44]*M[1] + D[45]*M[2] + D[61]*M[3] + D[65]*M[4] + D[66]*M[5] + D[70]*M[6] + D[71]*M[7] + D[72]*M[8] + D[89]*M[9] + D[93]*M[10] + D[94]*M[11] + D[98]*M[12] + D[99]*M[13] + D[100]*M[14] + D[104]*M[15] + D[105]*M[16] + D[106]*M[17] + D[107]*M[18]; -#pragma omp atomic -L[27] += D[41]*M[0] + D[45]*M[1] + D[46]*M[2] + D[62]*M[3] + D[66]*M[4] + D[67]*M[5] + D[71]*M[6] + D[72]*M[7] + D[73]*M[8] + D[90]*M[9] + D[94]*M[10] + D[95]*M[11] + D[99]*M[12] + D[100]*M[13] + D[101]*M[14] + D[105]*M[15] + D[106]*M[16] + D[107]*M[17] + D[108]*M[18]; -#pragma omp atomic -L[28] += D[42]*M[0] + D[46]*M[1] + D[47]*M[2] + D[63]*M[3] + D[67]*M[4] + D[68]*M[5] + D[72]*M[6] + D[73]*M[7] + D[74]*M[8] + D[91]*M[9] + D[95]*M[10] + D[96]*M[11] + D[100]*M[12] + D[101]*M[13] + D[102]*M[14] + D[106]*M[15] + D[107]*M[16] + D[108]*M[17] + D[109]*M[18]; -#pragma omp atomic -L[29] += D[43]*M[0] + D[47]*M[1] + D[48]*M[2] + D[64]*M[3] + D[68]*M[4] + D[69]*M[5] + D[73]*M[6] + D[74]*M[7] + D[75]*M[8] + D[92]*M[9] + D[96]*M[10] + D[97]*M[11] + D[101]*M[12] + D[102]*M[13] + D[103]*M[14] + D[107]*M[15] + D[108]*M[16] + D[109]*M[17] + D[110]*M[18]; -#pragma omp atomic -L[30] += D[44]*M[0] + D[49]*M[1] + D[50]*M[2] + D[65]*M[3] + D[70]*M[4] + D[71]*M[5] + D[76]*M[6] + D[77]*M[7] + D[78]*M[8] + D[93]*M[9] + D[98]*M[10] + D[99]*M[11] + D[104]*M[12] + D[105]*M[13] + D[106]*M[14] + D[111]*M[15] + D[112]*M[16] + D[113]*M[17] + D[114]*M[18]; -#pragma omp atomic -L[31] += D[45]*M[0] + D[50]*M[1] + D[51]*M[2] + D[66]*M[3] + D[71]*M[4] + D[72]*M[5] + D[77]*M[6] + D[78]*M[7] + D[79]*M[8] + D[94]*M[9] + D[99]*M[10] + D[100]*M[11] + D[105]*M[12] + D[106]*M[13] + D[107]*M[14] + D[112]*M[15] + D[113]*M[16] + D[114]*M[17] + D[115]*M[18]; -#pragma omp atomic -L[32] += D[46]*M[0] + D[51]*M[1] + D[52]*M[2] + D[67]*M[3] + D[72]*M[4] + D[73]*M[5] + D[78]*M[6] + D[79]*M[7] + D[80]*M[8] + D[95]*M[9] + D[100]*M[10] + D[101]*M[11] + D[106]*M[12] + D[107]*M[13] + D[108]*M[14] + D[113]*M[15] + D[114]*M[16] + D[115]*M[17] + D[116]*M[18]; -#pragma omp atomic -L[33] += D[47]*M[0] + D[52]*M[1] + D[53]*M[2] + D[68]*M[3] + D[73]*M[4] + D[74]*M[5] + D[79]*M[6] + D[80]*M[7] + D[81]*M[8] + D[96]*M[9] + D[101]*M[10] + D[102]*M[11] + D[107]*M[12] + D[108]*M[13] + D[109]*M[14] + D[114]*M[15] + D[115]*M[16] + D[116]*M[17] + D[117]*M[18]; -#pragma omp atomic -L[34] += D[48]*M[0] + D[53]*M[1] + D[54]*M[2] + D[69]*M[3] + D[74]*M[4] + D[75]*M[5] + D[80]*M[6] + D[81]*M[7] + D[82]*M[8] + D[97]*M[9] + D[102]*M[10] + D[103]*M[11] + D[108]*M[12] + D[109]*M[13] + D[110]*M[14] + D[115]*M[15] + D[116]*M[16] + D[117]*M[17] + D[118]*M[18]; -#pragma omp atomic -L[35] += D[55]*M[0] + D[56]*M[1] + D[57]*M[2] + D[83]*M[3] + D[84]*M[4] + D[85]*M[5] + D[86]*M[6] + D[87]*M[7] + D[88]*M[8]; -#pragma omp atomic -L[36] += D[56]*M[0] + D[58]*M[1] + D[59]*M[2] + D[84]*M[3] + D[86]*M[4] + D[87]*M[5] + D[89]*M[6] + D[90]*M[7] + D[91]*M[8]; -#pragma omp atomic -L[37] += D[57]*M[0] + D[59]*M[1] + D[60]*M[2] + D[85]*M[3] + D[87]*M[4] + D[88]*M[5] + D[90]*M[6] + D[91]*M[7] + D[92]*M[8]; -#pragma omp atomic -L[38] += D[58]*M[0] + D[61]*M[1] + D[62]*M[2] + D[86]*M[3] + D[89]*M[4] + D[90]*M[5] + D[93]*M[6] + D[94]*M[7] + D[95]*M[8]; -#pragma omp atomic -L[39] += D[59]*M[0] + D[62]*M[1] + D[63]*M[2] + D[87]*M[3] + D[90]*M[4] + D[91]*M[5] + D[94]*M[6] + D[95]*M[7] + D[96]*M[8]; -#pragma omp atomic -L[40] += D[60]*M[0] + D[63]*M[1] + D[64]*M[2] + D[88]*M[3] + D[91]*M[4] + D[92]*M[5] + D[95]*M[6] + D[96]*M[7] + D[97]*M[8]; -#pragma omp atomic -L[41] += D[61]*M[0] + D[65]*M[1] + D[66]*M[2] + D[89]*M[3] + D[93]*M[4] + D[94]*M[5] + D[98]*M[6] + D[99]*M[7] + D[100]*M[8]; -#pragma omp atomic -L[42] += D[62]*M[0] + D[66]*M[1] + D[67]*M[2] + D[90]*M[3] + D[94]*M[4] + D[95]*M[5] + D[99]*M[6] + D[100]*M[7] + D[101]*M[8]; -#pragma omp atomic -L[43] += D[63]*M[0] + D[67]*M[1] + D[68]*M[2] + D[91]*M[3] + D[95]*M[4] + D[96]*M[5] + D[100]*M[6] + D[101]*M[7] + D[102]*M[8]; -#pragma omp atomic -L[44] += D[64]*M[0] + D[68]*M[1] + D[69]*M[2] + D[92]*M[3] + D[96]*M[4] + D[97]*M[5] + D[101]*M[6] + D[102]*M[7] + D[103]*M[8]; -#pragma omp atomic -L[45] += D[65]*M[0] + D[70]*M[1] + D[71]*M[2] + D[93]*M[3] + D[98]*M[4] + D[99]*M[5] + D[104]*M[6] + D[105]*M[7] + D[106]*M[8]; -#pragma omp atomic -L[46] += D[66]*M[0] + D[71]*M[1] + D[72]*M[2] + D[94]*M[3] + D[99]*M[4] + D[100]*M[5] + D[105]*M[6] + D[106]*M[7] + D[107]*M[8]; -#pragma omp atomic -L[47] += D[67]*M[0] + D[72]*M[1] + D[73]*M[2] + D[95]*M[3] + D[100]*M[4] + D[101]*M[5] + D[106]*M[6] + D[107]*M[7] + D[108]*M[8]; -#pragma omp atomic -L[48] += D[68]*M[0] + D[73]*M[1] + D[74]*M[2] + D[96]*M[3] + D[101]*M[4] + D[102]*M[5] + D[107]*M[6] + D[108]*M[7] + D[109]*M[8]; -#pragma omp atomic -L[49] += D[69]*M[0] + D[74]*M[1] + D[75]*M[2] + D[97]*M[3] + D[102]*M[4] + D[103]*M[5] + D[108]*M[6] + D[109]*M[7] + D[110]*M[8]; -#pragma omp atomic -L[50] += D[70]*M[0] + D[76]*M[1] + D[77]*M[2] + D[98]*M[3] + D[104]*M[4] + D[105]*M[5] + D[111]*M[6] + D[112]*M[7] + D[113]*M[8]; -#pragma omp atomic -L[51] += D[71]*M[0] + D[77]*M[1] + D[78]*M[2] + D[99]*M[3] + D[105]*M[4] + D[106]*M[5] + D[112]*M[6] + D[113]*M[7] + D[114]*M[8]; -#pragma omp atomic -L[52] += D[72]*M[0] + D[78]*M[1] + D[79]*M[2] + D[100]*M[3] + D[106]*M[4] + D[107]*M[5] + D[113]*M[6] + D[114]*M[7] + D[115]*M[8]; -#pragma omp atomic -L[53] += D[73]*M[0] + D[79]*M[1] + D[80]*M[2] + D[101]*M[3] + D[107]*M[4] + D[108]*M[5] + D[114]*M[6] + D[115]*M[7] + D[116]*M[8]; -#pragma omp atomic -L[54] += D[74]*M[0] + D[80]*M[1] + D[81]*M[2] + D[102]*M[3] + D[108]*M[4] + D[109]*M[5] + D[115]*M[6] + D[116]*M[7] + D[117]*M[8]; -#pragma omp atomic -L[55] += D[75]*M[0] + D[81]*M[1] + D[82]*M[2] + D[103]*M[3] + D[109]*M[4] + D[110]*M[5] + D[116]*M[6] + D[117]*M[7] + D[118]*M[8]; -#pragma omp atomic -L[56] += D[83]*M[0] + D[84]*M[1] + D[85]*M[2]; -#pragma omp atomic -L[57] += D[84]*M[0] + D[86]*M[1] + D[87]*M[2]; -#pragma omp atomic -L[58] += D[85]*M[0] + D[87]*M[1] + D[88]*M[2]; -#pragma omp atomic -L[59] += D[86]*M[0] + D[89]*M[1] + D[90]*M[2]; -#pragma omp atomic -L[60] += D[87]*M[0] + D[90]*M[1] + D[91]*M[2]; -#pragma omp atomic -L[61] += D[88]*M[0] + D[91]*M[1] + D[92]*M[2]; -#pragma omp atomic -L[62] += D[89]*M[0] + D[93]*M[1] + D[94]*M[2]; -#pragma omp atomic -L[63] += D[90]*M[0] + D[94]*M[1] + D[95]*M[2]; -#pragma omp atomic -L[64] += D[91]*M[0] + D[95]*M[1] + D[96]*M[2]; -#pragma omp atomic -L[65] += D[92]*M[0] + D[96]*M[1] + D[97]*M[2]; -#pragma omp atomic -L[66] += D[93]*M[0] + D[98]*M[1] + D[99]*M[2]; -#pragma omp atomic -L[67] += D[94]*M[0] + D[99]*M[1] + D[100]*M[2]; -#pragma omp atomic -L[68] += D[95]*M[0] + D[100]*M[1] + D[101]*M[2]; -#pragma omp atomic -L[69] += D[96]*M[0] + D[101]*M[1] + D[102]*M[2]; -#pragma omp atomic -L[70] += D[97]*M[0] + D[102]*M[1] + D[103]*M[2]; -#pragma omp atomic -L[71] += D[98]*M[0] + D[104]*M[1] + D[105]*M[2]; -#pragma omp atomic -L[72] += D[99]*M[0] + D[105]*M[1] + D[106]*M[2]; -#pragma omp atomic -L[73] += D[100]*M[0] + D[106]*M[1] + D[107]*M[2]; -#pragma omp atomic -L[74] += D[101]*M[0] + D[107]*M[1] + D[108]*M[2]; -#pragma omp atomic -L[75] += D[102]*M[0] + D[108]*M[1] + D[109]*M[2]; -#pragma omp atomic -L[76] += D[103]*M[0] + D[109]*M[1] + D[110]*M[2]; -#pragma omp atomic -L[77] += D[104]*M[0] + D[111]*M[1] + D[112]*M[2]; -#pragma omp atomic -L[78] += D[105]*M[0] + D[112]*M[1] + D[113]*M[2]; -#pragma omp atomic -L[79] += D[106]*M[0] + D[113]*M[1] + D[114]*M[2]; -#pragma omp atomic -L[80] += D[107]*M[0] + D[114]*M[1] + D[115]*M[2]; -#pragma omp atomic -L[81] += D[108]*M[0] + D[115]*M[1] + D[116]*M[2]; -#pragma omp atomic -L[82] += D[109]*M[0] + D[116]*M[1] + D[117]*M[2]; -#pragma omp atomic -L[83] += D[110]*M[0] + D[117]*M[1] + D[118]*M[2]; - -} - -void L2L_7(double x, double y, double z, double * L, double * Ls) { -double Lstmp0 = y*L[5]; -double Lstmp1 = z*L[6]; -double Lstmp2 = z*L[8]; -double Lstmp3 = z*L[14]; -double Lstmp4 = Lstmp3*y; -double Lstmp5 = pow(x, 2); -double Lstmp6 = (1.0/2.0)*Lstmp5; -double Lstmp7 = pow(x, 3); -double Lstmp8 = (1.0/6.0)*Lstmp7; -double Lstmp9 = pow(x, 4); -double Lstmp10 = (1.0/24.0)*Lstmp9; -double Lstmp11 = (1.0/120.0)*pow(x, 5); -double Lstmp12 = pow(y, 2); -double Lstmp13 = (1.0/2.0)*Lstmp12; -double Lstmp14 = pow(y, 3); -double Lstmp15 = (1.0/6.0)*Lstmp14; -double Lstmp16 = pow(y, 4); -double Lstmp17 = (1.0/24.0)*Lstmp16; -double Lstmp18 = (1.0/120.0)*pow(y, 5); -double Lstmp19 = pow(z, 2); -double Lstmp20 = (1.0/2.0)*Lstmp19; -double Lstmp21 = pow(z, 3); -double Lstmp22 = (1.0/6.0)*Lstmp21; -double Lstmp23 = pow(z, 4); -double Lstmp24 = (1.0/24.0)*Lstmp23; -double Lstmp25 = (1.0/120.0)*pow(z, 5); -double Lstmp26 = x*L[13]; -double Lstmp27 = x*L[26]; -double Lstmp28 = x*L[45]; -double Lstmp29 = x*L[71]; -double Lstmp30 = x*L[15]; -double Lstmp31 = x*L[29]; -double Lstmp32 = x*L[49]; -double Lstmp33 = x*L[76]; -double Lstmp34 = y*L[11]; -double Lstmp35 = z*L[12]; -double Lstmp36 = y*L[21]; -double Lstmp37 = z*L[22]; -double Lstmp38 = y*L[36]; -double Lstmp39 = z*L[37]; -double Lstmp40 = y*L[57]; -double Lstmp41 = z*L[58]; -double Lstmp42 = y*L[18]; -double Lstmp43 = y*L[33]; -double Lstmp44 = y*L[54]; -double Lstmp45 = y*L[82]; -double Lstmp46 = z*L[17]; -double Lstmp47 = z*L[31]; -double Lstmp48 = z*L[51]; -double Lstmp49 = z*L[78]; -double Lstmp50 = y*L[28]; -double Lstmp51 = Lstmp50*x; -double Lstmp52 = y*L[48]; -double Lstmp53 = Lstmp52*x; -double Lstmp54 = y*L[75]; -double Lstmp55 = Lstmp54*x; -double Lstmp56 = z*L[27]; -double Lstmp57 = Lstmp56*x; -double Lstmp58 = z*L[46]; -double Lstmp59 = Lstmp58*x; -double Lstmp60 = z*L[72]; -double Lstmp61 = Lstmp60*x; -double Lstmp62 = z*L[24]; -double Lstmp63 = Lstmp62*y; -double Lstmp64 = z*L[39]; -double Lstmp65 = Lstmp64*y; -double Lstmp66 = z*L[60]; -double Lstmp67 = Lstmp66*y; -double Lstmp68 = (1.0/4.0)*Lstmp5; -double Lstmp69 = Lstmp12*Lstmp68; -double Lstmp70 = (1.0/12.0)*Lstmp5; -double Lstmp71 = Lstmp14*Lstmp70; -double Lstmp72 = (1.0/48.0)*Lstmp5; -double Lstmp73 = Lstmp19*Lstmp68; -double Lstmp74 = Lstmp21*Lstmp70; -double Lstmp75 = (1.0/12.0)*Lstmp7; -double Lstmp76 = Lstmp12*Lstmp75; -double Lstmp77 = (1.0/36.0)*Lstmp7; -double Lstmp78 = Lstmp19*Lstmp75; -double Lstmp79 = (1.0/48.0)*Lstmp9; -double Lstmp80 = Lstmp12*Lstmp19; -double Lstmp81 = (1.0/4.0)*Lstmp80; -double Lstmp82 = (1.0/12.0)*Lstmp12*Lstmp21; -double Lstmp83 = (1.0/12.0)*Lstmp14*Lstmp19; -double Lstmp84 = x*L[47]; -double Lstmp85 = x*L[74]; -double Lstmp86 = x*L[73]; -double Lstmp87 = y*L[43]; -double Lstmp88 = y*L[69]; -double Lstmp89 = z*L[42]; -double Lstmp90 = z*L[67]; -double Lstmp91 = y*L[64]; -double Lstmp92 = z*L[63]; -double Lstmp93 = x*L[23]; -double Lstmp94 = x*L[41]; -double Lstmp95 = x*L[66]; -double Lstmp96 = x*L[25]; -double Lstmp97 = x*L[44]; -double Lstmp98 = x*L[70]; -double Lstmp99 = Lstmp87*x; -double Lstmp100 = Lstmp88*x; -double Lstmp101 = Lstmp89*x; -double Lstmp102 = Lstmp90*x; -double Lstmp103 = x*L[68]; -double Lstmp104 = y*L[13]; -double Lstmp105 = Lstmp56*y; -double Lstmp106 = x*L[28]; -double Lstmp107 = x*L[48]; -double Lstmp108 = x*L[75]; -double Lstmp109 = y*L[23]; -double Lstmp110 = y*L[38]; -double Lstmp111 = y*L[59]; -double Lstmp112 = y*L[32]; -double Lstmp113 = y*L[53]; -double Lstmp114 = y*L[81]; -double Lstmp115 = y*L[47]; -double Lstmp116 = Lstmp115*x; -double Lstmp117 = y*L[74]; -double Lstmp118 = Lstmp117*x; -double Lstmp119 = Lstmp89*y; -double Lstmp120 = Lstmp92*y; -double Lstmp121 = y*L[68]; -double Lstmp122 = y*L[14]; -double Lstmp123 = z*L[15]; -double Lstmp124 = z*L[18]; -double Lstmp125 = z*L[28]; -double Lstmp126 = Lstmp125*y; -double Lstmp127 = x*L[27]; -double Lstmp128 = x*L[46]; -double Lstmp129 = x*L[72]; -double Lstmp130 = y*L[24]; -double Lstmp131 = z*L[25]; -double Lstmp132 = y*L[39]; -double Lstmp133 = z*L[40]; -double Lstmp134 = y*L[60]; -double Lstmp135 = z*L[61]; -double Lstmp136 = z*L[32]; -double Lstmp137 = z*L[52]; -double Lstmp138 = z*L[79]; -double Lstmp139 = z*L[47]; -double Lstmp140 = Lstmp139*x; -double Lstmp141 = z*L[73]; -double Lstmp142 = Lstmp141*x; -double Lstmp143 = z*L[43]; -double Lstmp144 = Lstmp143*y; -double Lstmp145 = z*L[64]; -double Lstmp146 = Lstmp145*y; -double Lstmp147 = z*L[68]; -double Lstmp148 = x*L[38]; -double Lstmp149 = x*L[62]; -double Lstmp150 = x*L[40]; -double Lstmp151 = x*L[65]; -double Lstmp152 = Lstmp91*x; -double Lstmp153 = Lstmp92*x; -double Lstmp154 = x*L[43]; -double Lstmp155 = x*L[69]; -double Lstmp156 = Lstmp121*x; -double Lstmp157 = x*L[42]; -double Lstmp158 = x*L[67]; -double Lstmp159 = Lstmp147*x; -double Lstmp160 = y*L[26]; -double Lstmp161 = Lstmp58*y; -double Lstmp162 = y*L[41]; -double Lstmp163 = y*L[62]; -double Lstmp164 = y*L[52]; -double Lstmp165 = y*L[80]; -double Lstmp166 = y*L[73]; -double Lstmp167 = Lstmp166*x; -double Lstmp168 = Lstmp90*y; -double Lstmp169 = y*L[27]; -double Lstmp170 = Lstmp139*y; -double Lstmp171 = y*L[42]; -double Lstmp172 = y*L[63]; -double Lstmp173 = Lstmp147*y; -double Lstmp174 = z*L[29]; -double Lstmp175 = z*L[33]; -double Lstmp176 = z*L[48]; -double Lstmp177 = Lstmp176*y; -double Lstmp178 = z*L[44]; -double Lstmp179 = z*L[65]; -double Lstmp180 = z*L[53]; -double Lstmp181 = z*L[80]; -double Lstmp182 = z*L[74]; -double Lstmp183 = Lstmp182*x; -double Lstmp184 = z*L[69]; -double Lstmp185 = Lstmp184*y; -double Lstmp186 = x*L[59]; -double Lstmp187 = x*L[61]; -double Lstmp188 = x*L[64]; -double Lstmp189 = x*L[63]; -double Lstmp190 = y*L[45]; -double Lstmp191 = Lstmp60*y; -double Lstmp192 = y*L[66]; -double Lstmp193 = y*L[79]; -double Lstmp194 = y*L[46]; -double Lstmp195 = Lstmp141*y; -double Lstmp196 = y*L[67]; -double Lstmp197 = Lstmp182*y; -double Lstmp198 = z*L[49]; -double Lstmp199 = z*L[54]; -double Lstmp200 = z*L[75]; -double Lstmp201 = Lstmp200*y; -double Lstmp202 = z*L[70]; -double Lstmp203 = z*L[81]; -double Lstmp204 = y*L[71]; -double Lstmp205 = y*L[72]; -double Lstmp206 = z*L[76]; -double Lstmp207 = z*L[82]; -#pragma omp atomic -Ls[0] += Lstmp0*x + Lstmp1*x + Lstmp10*Lstmp38 + Lstmp10*Lstmp39 + Lstmp10*Lstmp67 + Lstmp10*L[20] + Lstmp11*Lstmp40 + Lstmp11*Lstmp41 + Lstmp11*L[35] + (1.0/48.0)*Lstmp12*Lstmp23*L[81] + Lstmp12*Lstmp79*L[59] + Lstmp13*Lstmp26 + Lstmp13*Lstmp46 + Lstmp13*Lstmp57 + Lstmp13*L[7] + (1.0/36.0)*Lstmp14*Lstmp21*L[80] + Lstmp14*Lstmp77*L[62] + Lstmp15*Lstmp27 + Lstmp15*Lstmp47 + Lstmp15*Lstmp59 + Lstmp15*L[16] + (1.0/48.0)*Lstmp16*Lstmp19*L[79] + Lstmp16*Lstmp72*L[66] + Lstmp17*Lstmp28 + Lstmp17*Lstmp48 + Lstmp17*Lstmp61 + Lstmp17*L[30] + Lstmp18*Lstmp29 + Lstmp18*Lstmp49 + Lstmp18*L[50] + Lstmp19*Lstmp79*L[61] + Lstmp2*y + Lstmp20*Lstmp30 + Lstmp20*Lstmp42 + Lstmp20*Lstmp51 + Lstmp20*L[9] + Lstmp21*Lstmp77*L[65] + Lstmp22*Lstmp31 + Lstmp22*Lstmp43 + Lstmp22*Lstmp53 + Lstmp22*L[19] + Lstmp23*Lstmp72*L[70] + Lstmp24*Lstmp32 + Lstmp24*Lstmp44 + Lstmp24*Lstmp55 + Lstmp24*L[34] + Lstmp25*Lstmp33 + Lstmp25*Lstmp45 + Lstmp25*L[55] + Lstmp34*Lstmp6 + Lstmp35*Lstmp6 + Lstmp36*Lstmp8 + Lstmp37*Lstmp8 + Lstmp4*x + (1.0/8.0)*Lstmp5*Lstmp80*L[68] + Lstmp6*Lstmp63 + Lstmp6*L[4] + Lstmp65*Lstmp8 + Lstmp69*Lstmp89 + Lstmp69*L[23] + Lstmp71*Lstmp90 + Lstmp71*L[41] + Lstmp73*Lstmp87 + Lstmp73*L[25] + Lstmp74*Lstmp88 + Lstmp74*L[44] + Lstmp76*Lstmp92 + Lstmp76*L[38] + Lstmp78*Lstmp91 + Lstmp78*L[40] + Lstmp8*L[10] + Lstmp81*Lstmp84 + Lstmp81*L[32] + Lstmp82*Lstmp85 + Lstmp82*L[53] + Lstmp83*Lstmp86 + Lstmp83*L[52] + (1.0/720.0)*pow(x, 6)*L[56] + x*L[1] + (1.0/720.0)*pow(y, 6)*L[77] + y*L[2] + (1.0/720.0)*pow(z, 6)*L[83] + z*L[3] + L[0]; -#pragma omp atomic -Ls[1] += Lstmp0 + Lstmp1 + Lstmp10*Lstmp40 + Lstmp10*Lstmp41 + Lstmp10*L[35] + Lstmp100*Lstmp22 + Lstmp101*Lstmp13 + Lstmp102*Lstmp15 + Lstmp103*Lstmp81 + Lstmp11*L[56] + Lstmp13*Lstmp56 + Lstmp13*Lstmp93 + Lstmp13*L[13] + Lstmp15*Lstmp58 + Lstmp15*Lstmp94 + Lstmp15*L[26] + Lstmp17*Lstmp60 + Lstmp17*Lstmp95 + Lstmp17*L[45] + Lstmp18*L[71] + Lstmp20*Lstmp50 + Lstmp20*Lstmp96 + Lstmp20*Lstmp99 + Lstmp20*L[15] + Lstmp22*Lstmp52 + Lstmp22*Lstmp97 + Lstmp22*L[29] + Lstmp24*Lstmp54 + Lstmp24*Lstmp98 + Lstmp24*L[49] + Lstmp25*L[76] + Lstmp34*x + Lstmp35*x + Lstmp36*Lstmp6 + Lstmp37*Lstmp6 + Lstmp38*Lstmp8 + Lstmp39*Lstmp8 + Lstmp4 + Lstmp6*Lstmp65 + Lstmp6*L[10] + Lstmp63*x + Lstmp67*Lstmp8 + Lstmp69*Lstmp92 + Lstmp69*L[38] + Lstmp71*L[62] + Lstmp73*Lstmp91 + Lstmp73*L[40] + Lstmp74*L[65] + Lstmp76*L[59] + Lstmp78*L[61] + Lstmp8*L[20] + Lstmp81*L[47] + Lstmp82*L[74] + Lstmp83*L[73] + x*L[4] + L[1]; -#pragma omp atomic -Ls[2] += Lstmp10*Lstmp111 + Lstmp10*Lstmp66 + Lstmp10*L[36] + Lstmp104*x + Lstmp105*x + Lstmp106*Lstmp20 + Lstmp107*Lstmp22 + Lstmp108*Lstmp24 + Lstmp109*Lstmp6 + Lstmp11*L[57] + Lstmp110*Lstmp8 + Lstmp112*Lstmp20 + Lstmp113*Lstmp22 + Lstmp114*Lstmp24 + Lstmp116*Lstmp20 + Lstmp118*Lstmp22 + Lstmp119*Lstmp6 + Lstmp120*Lstmp8 + Lstmp121*Lstmp73 + Lstmp13*Lstmp27 + Lstmp13*Lstmp47 + Lstmp13*Lstmp59 + Lstmp13*L[16] + Lstmp15*Lstmp28 + Lstmp15*Lstmp48 + Lstmp15*Lstmp61 + Lstmp15*L[30] + Lstmp17*Lstmp29 + Lstmp17*Lstmp49 + Lstmp17*L[50] + Lstmp18*L[77] + Lstmp2 + Lstmp20*L[18] + Lstmp22*L[33] + Lstmp24*L[54] + Lstmp25*L[82] + Lstmp3*x + Lstmp46*y + Lstmp6*Lstmp62 + Lstmp6*L[11] + Lstmp64*Lstmp8 + Lstmp69*Lstmp90 + Lstmp69*L[41] + Lstmp71*L[66] + Lstmp73*L[43] + Lstmp74*L[69] + Lstmp76*L[62] + Lstmp78*L[64] + Lstmp8*L[21] + Lstmp81*Lstmp86 + Lstmp81*L[52] + Lstmp82*L[80] + Lstmp83*L[79] + x*L[5] + y*L[7] + L[2]; -#pragma omp atomic -Ls[3] += Lstmp10*Lstmp134 + Lstmp10*Lstmp135 + Lstmp10*L[37] + Lstmp11*L[58] + Lstmp122*x + Lstmp123*x + Lstmp124*y + Lstmp126*x + Lstmp127*Lstmp13 + Lstmp128*Lstmp15 + Lstmp129*Lstmp17 + Lstmp13*Lstmp136 + Lstmp13*Lstmp140 + Lstmp13*L[17] + Lstmp130*Lstmp6 + Lstmp131*Lstmp6 + Lstmp132*Lstmp8 + Lstmp133*Lstmp8 + Lstmp137*Lstmp15 + Lstmp138*Lstmp17 + Lstmp142*Lstmp15 + Lstmp144*Lstmp6 + Lstmp146*Lstmp8 + Lstmp147*Lstmp69 + Lstmp15*L[31] + Lstmp17*L[51] + Lstmp18*L[78] + Lstmp20*Lstmp31 + Lstmp20*Lstmp43 + Lstmp20*Lstmp53 + Lstmp20*L[19] + Lstmp22*Lstmp32 + Lstmp22*Lstmp44 + Lstmp22*Lstmp55 + Lstmp22*L[34] + Lstmp24*Lstmp33 + Lstmp24*Lstmp45 + Lstmp24*L[55] + Lstmp25*L[83] + Lstmp6*L[12] + Lstmp69*L[42] + Lstmp71*L[67] + Lstmp73*Lstmp88 + Lstmp73*L[44] + Lstmp74*L[70] + Lstmp76*L[63] + Lstmp78*L[65] + Lstmp8*L[22] + Lstmp81*Lstmp85 + Lstmp81*L[53] + Lstmp82*L[81] + Lstmp83*L[80] + x*L[6] + y*L[8] + z*L[9] + L[3]; -#pragma omp atomic -Ls[4] += Lstmp10*L[56] + Lstmp13*Lstmp148 + Lstmp13*Lstmp153 + Lstmp13*Lstmp89 + Lstmp13*L[23] + Lstmp149*Lstmp15 + Lstmp15*Lstmp90 + Lstmp15*L[41] + Lstmp150*Lstmp20 + Lstmp151*Lstmp22 + Lstmp152*Lstmp20 + Lstmp17*L[66] + Lstmp20*Lstmp87 + Lstmp20*L[25] + Lstmp22*Lstmp88 + Lstmp22*L[44] + Lstmp24*L[70] + Lstmp34 + Lstmp35 + Lstmp36*x + Lstmp37*x + Lstmp38*Lstmp6 + Lstmp39*Lstmp6 + Lstmp40*Lstmp8 + Lstmp41*Lstmp8 + Lstmp6*Lstmp67 + Lstmp6*L[20] + Lstmp63 + Lstmp65*x + Lstmp69*L[59] + Lstmp73*L[61] + Lstmp8*L[35] + Lstmp81*L[68] + x*L[10] + L[4]; -#pragma omp atomic -Ls[5] += Lstmp10*L[57] + Lstmp102*Lstmp13 + Lstmp104 + Lstmp105 + Lstmp109*x + Lstmp110*Lstmp6 + Lstmp111*Lstmp8 + Lstmp115*Lstmp20 + Lstmp117*Lstmp22 + Lstmp119*x + Lstmp120*Lstmp6 + Lstmp13*Lstmp58 + Lstmp13*Lstmp94 + Lstmp13*L[26] + Lstmp15*Lstmp60 + Lstmp15*Lstmp95 + Lstmp15*L[45] + Lstmp154*Lstmp20 + Lstmp155*Lstmp22 + Lstmp156*Lstmp20 + Lstmp17*L[71] + Lstmp20*L[28] + Lstmp22*L[48] + Lstmp24*L[75] + Lstmp3 + Lstmp6*Lstmp64 + Lstmp6*L[21] + Lstmp62*x + Lstmp66*Lstmp8 + Lstmp69*L[62] + Lstmp73*L[64] + Lstmp8*L[36] + Lstmp81*L[73] + x*L[11] + L[5]; -#pragma omp atomic -Ls[6] += Lstmp10*L[58] + Lstmp100*Lstmp20 + Lstmp122 + Lstmp123 + Lstmp126 + Lstmp13*Lstmp139 + Lstmp13*Lstmp157 + Lstmp13*Lstmp159 + Lstmp13*L[27] + Lstmp130*x + Lstmp131*x + Lstmp132*Lstmp6 + Lstmp133*Lstmp6 + Lstmp134*Lstmp8 + Lstmp135*Lstmp8 + Lstmp141*Lstmp15 + Lstmp144*x + Lstmp146*Lstmp6 + Lstmp15*Lstmp158 + Lstmp15*L[46] + Lstmp17*L[72] + Lstmp20*Lstmp52 + Lstmp20*Lstmp97 + Lstmp20*L[29] + Lstmp22*Lstmp54 + Lstmp22*Lstmp98 + Lstmp22*L[49] + Lstmp24*L[76] + Lstmp6*L[22] + Lstmp69*L[63] + Lstmp73*L[65] + Lstmp8*L[37] + Lstmp81*L[74] + x*L[12] + L[6]; -#pragma omp atomic -Ls[7] += Lstmp10*L[59] + Lstmp13*Lstmp28 + Lstmp13*Lstmp48 + Lstmp13*Lstmp61 + Lstmp13*L[30] + Lstmp15*Lstmp29 + Lstmp15*Lstmp49 + Lstmp15*L[50] + Lstmp160*x + Lstmp161*x + Lstmp162*Lstmp6 + Lstmp163*Lstmp8 + Lstmp164*Lstmp20 + Lstmp165*Lstmp22 + Lstmp167*Lstmp20 + Lstmp168*Lstmp6 + Lstmp17*L[77] + Lstmp20*Lstmp84 + Lstmp20*L[32] + Lstmp22*Lstmp85 + Lstmp22*L[53] + Lstmp24*L[81] + Lstmp26 + Lstmp46 + Lstmp47*y + Lstmp57 + Lstmp6*Lstmp89 + Lstmp6*L[23] + Lstmp69*L[66] + Lstmp73*L[68] + Lstmp8*Lstmp92 + Lstmp8*L[38] + Lstmp81*L[79] + y*L[16] + L[7]; -#pragma omp atomic -Ls[8] += Lstmp10*L[60] + Lstmp107*Lstmp20 + Lstmp108*Lstmp22 + Lstmp113*Lstmp20 + Lstmp114*Lstmp22 + Lstmp118*Lstmp20 + Lstmp124 + Lstmp125*x + Lstmp128*Lstmp13 + Lstmp129*Lstmp15 + Lstmp13*Lstmp137 + Lstmp13*Lstmp142 + Lstmp13*L[31] + Lstmp136*y + Lstmp138*Lstmp15 + Lstmp143*Lstmp6 + Lstmp145*Lstmp8 + Lstmp15*L[51] + Lstmp169*x + Lstmp17*L[78] + Lstmp170*x + Lstmp171*Lstmp6 + Lstmp172*Lstmp8 + Lstmp173*Lstmp6 + Lstmp20*L[33] + Lstmp22*L[54] + Lstmp24*L[82] + Lstmp6*L[24] + Lstmp69*L[67] + Lstmp73*L[69] + Lstmp8*L[39] + Lstmp81*L[80] + x*L[14] + y*L[17] + L[8]; -#pragma omp atomic -Ls[9] += Lstmp10*L[61] + Lstmp13*Lstmp180 + Lstmp13*Lstmp183 + Lstmp13*Lstmp84 + Lstmp13*L[32] + Lstmp15*Lstmp181 + Lstmp15*Lstmp86 + Lstmp15*L[52] + Lstmp17*L[79] + Lstmp174*x + Lstmp175*y + Lstmp177*x + Lstmp178*Lstmp6 + Lstmp179*Lstmp8 + Lstmp185*Lstmp6 + Lstmp20*Lstmp32 + Lstmp20*Lstmp44 + Lstmp20*Lstmp55 + Lstmp20*L[34] + Lstmp22*Lstmp33 + Lstmp22*Lstmp45 + Lstmp22*L[55] + Lstmp24*L[83] + Lstmp30 + Lstmp42 + Lstmp51 + Lstmp6*Lstmp87 + Lstmp6*L[25] + Lstmp69*L[68] + Lstmp73*L[70] + Lstmp8*Lstmp91 + Lstmp8*L[40] + Lstmp81*L[81] + z*L[19] + L[9]; -#pragma omp atomic -Ls[10] += Lstmp13*Lstmp186 + Lstmp13*Lstmp92 + Lstmp13*L[38] + Lstmp15*L[62] + Lstmp187*Lstmp20 + Lstmp20*Lstmp91 + Lstmp20*L[40] + Lstmp22*L[65] + Lstmp36 + Lstmp37 + Lstmp38*x + Lstmp39*x + Lstmp40*Lstmp6 + Lstmp41*Lstmp6 + Lstmp6*L[35] + Lstmp65 + Lstmp67*x + Lstmp8*L[56] + x*L[20] + L[10]; -#pragma omp atomic -Ls[11] += Lstmp109 + Lstmp110*x + Lstmp111*Lstmp6 + Lstmp119 + Lstmp120*x + Lstmp121*Lstmp20 + Lstmp13*Lstmp149 + Lstmp13*Lstmp90 + Lstmp13*L[41] + Lstmp15*L[66] + Lstmp188*Lstmp20 + Lstmp20*L[43] + Lstmp22*L[69] + Lstmp6*Lstmp66 + Lstmp6*L[36] + Lstmp62 + Lstmp64*x + Lstmp8*L[57] + x*L[21] + L[11]; -#pragma omp atomic -Ls[12] += Lstmp13*Lstmp147 + Lstmp13*Lstmp189 + Lstmp13*L[42] + Lstmp130 + Lstmp131 + Lstmp132*x + Lstmp133*x + Lstmp134*Lstmp6 + Lstmp135*Lstmp6 + Lstmp144 + Lstmp146*x + Lstmp15*L[67] + Lstmp151*Lstmp20 + Lstmp20*Lstmp88 + Lstmp20*L[44] + Lstmp22*L[70] + Lstmp6*L[37] + Lstmp8*L[58] + x*L[22] + L[12]; -#pragma omp atomic -Ls[13] += Lstmp101 + Lstmp103*Lstmp20 + Lstmp13*Lstmp60 + Lstmp13*Lstmp95 + Lstmp13*L[45] + Lstmp15*L[71] + Lstmp160 + Lstmp161 + Lstmp162*x + Lstmp163*Lstmp6 + Lstmp166*Lstmp20 + Lstmp168*x + Lstmp20*L[47] + Lstmp22*L[74] + Lstmp56 + Lstmp6*Lstmp92 + Lstmp6*L[38] + Lstmp8*L[59] + Lstmp93 + L[13]; -#pragma omp atomic -Ls[14] += Lstmp117*Lstmp20 + Lstmp125 + Lstmp13*Lstmp141 + Lstmp13*Lstmp158 + Lstmp13*L[46] + Lstmp143*x + Lstmp145*Lstmp6 + Lstmp15*L[72] + Lstmp155*Lstmp20 + Lstmp169 + Lstmp170 + Lstmp171*x + Lstmp172*Lstmp6 + Lstmp173*x + Lstmp20*L[48] + Lstmp22*L[75] + Lstmp6*L[39] + Lstmp8*L[60] + x*L[24] + L[14]; -#pragma omp atomic -Ls[15] += Lstmp103*Lstmp13 + Lstmp13*Lstmp182 + Lstmp13*L[47] + Lstmp15*L[73] + Lstmp174 + Lstmp177 + Lstmp178*x + Lstmp179*Lstmp6 + Lstmp185*x + Lstmp20*Lstmp54 + Lstmp20*Lstmp98 + Lstmp20*L[49] + Lstmp22*L[76] + Lstmp50 + Lstmp6*Lstmp91 + Lstmp6*L[40] + Lstmp8*L[61] + Lstmp96 + Lstmp99 + L[15]; -#pragma omp atomic -Ls[16] += Lstmp13*Lstmp29 + Lstmp13*Lstmp49 + Lstmp13*L[50] + Lstmp15*L[77] + Lstmp190*x + Lstmp191*x + Lstmp192*Lstmp6 + Lstmp193*Lstmp20 + Lstmp20*Lstmp86 + Lstmp20*L[52] + Lstmp22*L[80] + Lstmp27 + Lstmp47 + Lstmp48*y + Lstmp59 + Lstmp6*Lstmp90 + Lstmp6*L[41] + Lstmp8*L[62] + y*L[30] + L[16]; -#pragma omp atomic -Ls[17] += Lstmp127 + Lstmp129*Lstmp13 + Lstmp13*Lstmp138 + Lstmp13*L[51] + Lstmp136 + Lstmp137*y + Lstmp140 + Lstmp147*Lstmp6 + Lstmp15*L[78] + Lstmp165*Lstmp20 + Lstmp194*x + Lstmp195*x + Lstmp196*Lstmp6 + Lstmp20*Lstmp85 + Lstmp20*L[53] + Lstmp22*L[81] + Lstmp6*L[42] + Lstmp8*L[63] + y*L[31] + L[17]; -#pragma omp atomic -Ls[18] += Lstmp106 + Lstmp108*Lstmp20 + Lstmp112 + Lstmp114*Lstmp20 + Lstmp116 + Lstmp121*Lstmp6 + Lstmp13*Lstmp181 + Lstmp13*Lstmp86 + Lstmp13*L[52] + Lstmp15*L[79] + Lstmp175 + Lstmp176*x + Lstmp180*y + Lstmp184*Lstmp6 + Lstmp197*x + Lstmp20*L[54] + Lstmp22*L[82] + Lstmp6*L[43] + Lstmp8*L[64] + L[18]; -#pragma omp atomic -Ls[19] += Lstmp13*Lstmp203 + Lstmp13*Lstmp85 + Lstmp13*L[53] + Lstmp15*L[80] + Lstmp198*x + Lstmp199*y + Lstmp20*Lstmp33 + Lstmp20*Lstmp45 + Lstmp20*L[55] + Lstmp201*x + Lstmp202*Lstmp6 + Lstmp22*L[83] + Lstmp31 + Lstmp43 + Lstmp53 + Lstmp6*Lstmp88 + Lstmp6*L[44] + Lstmp8*L[65] + z*L[34] + L[19]; -#pragma omp atomic -Ls[20] += Lstmp13*L[59] + Lstmp20*L[61] + Lstmp38 + Lstmp39 + Lstmp40*x + Lstmp41*x + Lstmp6*L[56] + Lstmp67 + x*L[35] + L[20]; -#pragma omp atomic -Ls[21] += Lstmp110 + Lstmp111*x + Lstmp120 + Lstmp13*L[62] + Lstmp20*L[64] + Lstmp6*L[57] + Lstmp64 + Lstmp66*x + x*L[36] + L[21]; -#pragma omp atomic -Ls[22] += Lstmp13*L[63] + Lstmp132 + Lstmp133 + Lstmp134*x + Lstmp135*x + Lstmp146 + Lstmp20*L[65] + Lstmp6*L[58] + x*L[37] + L[22]; -#pragma omp atomic -Ls[23] += Lstmp13*L[66] + Lstmp148 + Lstmp153 + Lstmp162 + Lstmp163*x + Lstmp168 + Lstmp20*L[68] + Lstmp6*L[59] + Lstmp89 + L[23]; -#pragma omp atomic -Ls[24] += Lstmp13*L[67] + Lstmp143 + Lstmp145*x + Lstmp171 + Lstmp172*x + Lstmp173 + Lstmp20*L[69] + Lstmp6*L[60] + x*L[39] + L[24]; -#pragma omp atomic -Ls[25] += Lstmp13*L[68] + Lstmp150 + Lstmp152 + Lstmp178 + Lstmp179*x + Lstmp185 + Lstmp20*L[70] + Lstmp6*L[61] + Lstmp87 + L[25]; -#pragma omp atomic -Ls[26] += Lstmp102 + Lstmp13*L[71] + Lstmp190 + Lstmp191 + Lstmp192*x + Lstmp20*L[73] + Lstmp58 + Lstmp6*L[62] + Lstmp94 + L[26]; -#pragma omp atomic -Ls[27] += Lstmp13*L[72] + Lstmp139 + Lstmp157 + Lstmp159 + Lstmp194 + Lstmp195 + Lstmp196*x + Lstmp20*L[74] + Lstmp6*L[63] + L[27]; -#pragma omp atomic -Ls[28] += Lstmp115 + Lstmp13*L[73] + Lstmp154 + Lstmp156 + Lstmp176 + Lstmp184*x + Lstmp197 + Lstmp20*L[75] + Lstmp6*L[64] + L[28]; -#pragma omp atomic -Ls[29] += Lstmp100 + Lstmp13*L[74] + Lstmp198 + Lstmp20*L[76] + Lstmp201 + Lstmp202*x + Lstmp52 + Lstmp6*L[65] + Lstmp97 + L[29]; -#pragma omp atomic -Ls[30] += Lstmp13*L[77] + Lstmp20*L[79] + Lstmp204*x + Lstmp28 + Lstmp48 + Lstmp49*y + Lstmp6*L[66] + Lstmp61 + y*L[50] + L[30]; -#pragma omp atomic -Ls[31] += Lstmp128 + Lstmp13*L[78] + Lstmp137 + Lstmp138*y + Lstmp142 + Lstmp20*L[80] + Lstmp205*x + Lstmp6*L[67] + y*L[51] + L[31]; -#pragma omp atomic -Ls[32] += Lstmp13*L[79] + Lstmp164 + Lstmp167 + Lstmp180 + Lstmp181*y + Lstmp183 + Lstmp20*L[81] + Lstmp6*L[68] + Lstmp84 + L[32]; -#pragma omp atomic -Ls[33] += Lstmp107 + Lstmp113 + Lstmp118 + Lstmp13*L[80] + Lstmp199 + Lstmp20*L[82] + Lstmp200*x + Lstmp203*y + Lstmp6*L[69] + L[33]; -#pragma omp atomic -Ls[34] += Lstmp13*L[81] + Lstmp20*L[83] + Lstmp206*x + Lstmp207*y + Lstmp32 + Lstmp44 + Lstmp55 + Lstmp6*L[70] + z*L[55] + L[34]; -#pragma omp atomic -Ls[35] += Lstmp40 + Lstmp41 + x*L[56] + L[35]; -#pragma omp atomic -Ls[36] += Lstmp111 + Lstmp66 + x*L[57] + L[36]; -#pragma omp atomic -Ls[37] += Lstmp134 + Lstmp135 + x*L[58] + L[37]; -#pragma omp atomic -Ls[38] += Lstmp163 + Lstmp186 + Lstmp92 + L[38]; -#pragma omp atomic -Ls[39] += Lstmp145 + Lstmp172 + x*L[60] + L[39]; -#pragma omp atomic -Ls[40] += Lstmp179 + Lstmp187 + Lstmp91 + L[40]; -#pragma omp atomic -Ls[41] += Lstmp149 + Lstmp192 + Lstmp90 + L[41]; -#pragma omp atomic -Ls[42] += Lstmp147 + Lstmp189 + Lstmp196 + L[42]; -#pragma omp atomic -Ls[43] += Lstmp121 + Lstmp184 + Lstmp188 + L[43]; -#pragma omp atomic -Ls[44] += Lstmp151 + Lstmp202 + Lstmp88 + L[44]; -#pragma omp atomic -Ls[45] += Lstmp204 + Lstmp60 + Lstmp95 + L[45]; -#pragma omp atomic -Ls[46] += Lstmp141 + Lstmp158 + Lstmp205 + L[46]; -#pragma omp atomic -Ls[47] += Lstmp103 + Lstmp166 + Lstmp182 + L[47]; -#pragma omp atomic -Ls[48] += Lstmp117 + Lstmp155 + Lstmp200 + L[48]; -#pragma omp atomic -Ls[49] += Lstmp206 + Lstmp54 + Lstmp98 + L[49]; -#pragma omp atomic -Ls[50] += Lstmp29 + Lstmp49 + y*L[77] + L[50]; -#pragma omp atomic -Ls[51] += Lstmp129 + Lstmp138 + y*L[78] + L[51]; -#pragma omp atomic -Ls[52] += Lstmp181 + Lstmp193 + Lstmp86 + L[52]; -#pragma omp atomic -Ls[53] += Lstmp165 + Lstmp203 + Lstmp85 + L[53]; -#pragma omp atomic -Ls[54] += Lstmp108 + Lstmp114 + Lstmp207 + L[54]; -#pragma omp atomic -Ls[55] += Lstmp33 + Lstmp45 + z*L[83] + L[55]; -#pragma omp atomic -Ls[56] += L[56]; -#pragma omp atomic -Ls[57] += L[57]; -#pragma omp atomic -Ls[58] += L[58]; -#pragma omp atomic -Ls[59] += L[59]; -#pragma omp atomic -Ls[60] += L[60]; -#pragma omp atomic -Ls[61] += L[61]; -#pragma omp atomic -Ls[62] += L[62]; -#pragma omp atomic -Ls[63] += L[63]; -#pragma omp atomic -Ls[64] += L[64]; -#pragma omp atomic -Ls[65] += L[65]; -#pragma omp atomic -Ls[66] += L[66]; -#pragma omp atomic -Ls[67] += L[67]; -#pragma omp atomic -Ls[68] += L[68]; -#pragma omp atomic -Ls[69] += L[69]; -#pragma omp atomic -Ls[70] += L[70]; -#pragma omp atomic -Ls[71] += L[71]; -#pragma omp atomic -Ls[72] += L[72]; -#pragma omp atomic -Ls[73] += L[73]; -#pragma omp atomic -Ls[74] += L[74]; -#pragma omp atomic -Ls[75] += L[75]; -#pragma omp atomic -Ls[76] += L[76]; -#pragma omp atomic -Ls[77] += L[77]; -#pragma omp atomic -Ls[78] += L[78]; -#pragma omp atomic -Ls[79] += L[79]; -#pragma omp atomic -Ls[80] += L[80]; -#pragma omp atomic -Ls[81] += L[81]; -#pragma omp atomic -Ls[82] += L[82]; -#pragma omp atomic -Ls[83] += L[83]; - -} - -void L2P_7(double x, double y, double z, double * L, double * F) { -double Ftmp0 = x*y; -double Ftmp1 = x*z; -double Ftmp2 = y*z; -double Ftmp3 = Ftmp0*z; -double Ftmp4 = pow(x, 2); -double Ftmp5 = (1.0/2.0)*Ftmp4; -double Ftmp6 = pow(x, 3); -double Ftmp7 = (1.0/6.0)*Ftmp6; -double Ftmp8 = (1.0/24.0)*pow(x, 4); -double Ftmp9 = (1.0/120.0)*pow(x, 5); -double Ftmp10 = pow(y, 2); -double Ftmp11 = (1.0/2.0)*Ftmp10; -double Ftmp12 = pow(y, 3); -double Ftmp13 = (1.0/6.0)*Ftmp12; -double Ftmp14 = (1.0/24.0)*pow(y, 4); -double Ftmp15 = (1.0/120.0)*pow(y, 5); -double Ftmp16 = pow(z, 2); -double Ftmp17 = (1.0/2.0)*Ftmp16; -double Ftmp18 = pow(z, 3); -double Ftmp19 = (1.0/6.0)*Ftmp18; -double Ftmp20 = (1.0/24.0)*pow(z, 4); -double Ftmp21 = (1.0/120.0)*pow(z, 5); -double Ftmp22 = Ftmp11*x; -double Ftmp23 = Ftmp13*x; -double Ftmp24 = Ftmp14*x; -double Ftmp25 = Ftmp17*x; -double Ftmp26 = Ftmp19*x; -double Ftmp27 = Ftmp20*x; -double Ftmp28 = Ftmp5*y; -double Ftmp29 = Ftmp5*z; -double Ftmp30 = Ftmp7*y; -double Ftmp31 = Ftmp7*z; -double Ftmp32 = Ftmp8*y; -double Ftmp33 = Ftmp8*z; -double Ftmp34 = Ftmp17*y; -double Ftmp35 = Ftmp19*y; -double Ftmp36 = Ftmp20*y; -double Ftmp37 = Ftmp11*z; -double Ftmp38 = Ftmp13*z; -double Ftmp39 = Ftmp14*z; -double Ftmp40 = Ftmp0*Ftmp17; -double Ftmp41 = Ftmp0*Ftmp19; -double Ftmp42 = Ftmp1*Ftmp11; -double Ftmp43 = Ftmp1*Ftmp13; -double Ftmp44 = Ftmp2*Ftmp5; -double Ftmp45 = Ftmp2*Ftmp7; -double Ftmp46 = (1.0/4.0)*Ftmp4; -double Ftmp47 = Ftmp10*Ftmp46; -double Ftmp48 = (1.0/12.0)*Ftmp4; -double Ftmp49 = Ftmp12*Ftmp48; -double Ftmp50 = Ftmp16*Ftmp46; -double Ftmp51 = Ftmp18*Ftmp48; -double Ftmp52 = (1.0/12.0)*Ftmp6; -double Ftmp53 = Ftmp10*Ftmp52; -double Ftmp54 = Ftmp16*Ftmp52; -double Ftmp55 = (1.0/4.0)*Ftmp10*Ftmp16; -double Ftmp56 = (1.0/12.0)*Ftmp10*Ftmp18; -double Ftmp57 = (1.0/12.0)*Ftmp12*Ftmp16; -double Ftmp58 = Ftmp55*x; -double Ftmp59 = Ftmp50*y; -double Ftmp60 = Ftmp47*z; -#pragma omp atomic -F[0] += -Ftmp0*L[11] - Ftmp1*L[12] - Ftmp11*L[13] - Ftmp13*L[26] - Ftmp14*L[45] - Ftmp15*L[71] - Ftmp17*L[15] - Ftmp19*L[29] - Ftmp2*L[14] - Ftmp20*L[49] - Ftmp21*L[76] - Ftmp22*L[23] - Ftmp23*L[41] - Ftmp24*L[66] - Ftmp25*L[25] - Ftmp26*L[44] - Ftmp27*L[70] - Ftmp28*L[21] - Ftmp29*L[22] - Ftmp3*L[24] - Ftmp30*L[36] - Ftmp31*L[37] - Ftmp32*L[57] - Ftmp33*L[58] - Ftmp34*L[28] - Ftmp35*L[48] - Ftmp36*L[75] - Ftmp37*L[27] - Ftmp38*L[46] - Ftmp39*L[72] - Ftmp40*L[43] - Ftmp41*L[69] - Ftmp42*L[42] - Ftmp43*L[67] - Ftmp44*L[39] - Ftmp45*L[60] - Ftmp47*L[38] - Ftmp49*L[62] - Ftmp5*L[10] - Ftmp50*L[40] - Ftmp51*L[65] - Ftmp53*L[59] - Ftmp54*L[61] - Ftmp55*L[47] - Ftmp56*L[74] - Ftmp57*L[73] - Ftmp58*L[68] - Ftmp59*L[64] - Ftmp60*L[63] - Ftmp7*L[20] - Ftmp8*L[35] - Ftmp9*L[56] - x*L[4] - y*L[5] - z*L[6] - L[1]; -#pragma omp atomic -F[1] += -Ftmp0*L[13] - Ftmp1*L[14] - Ftmp11*L[16] - Ftmp13*L[30] - Ftmp14*L[50] - Ftmp15*L[77] - Ftmp17*L[18] - Ftmp19*L[33] - Ftmp2*L[17] - Ftmp20*L[54] - Ftmp21*L[82] - Ftmp22*L[26] - Ftmp23*L[45] - Ftmp24*L[71] - Ftmp25*L[28] - Ftmp26*L[48] - Ftmp27*L[75] - Ftmp28*L[23] - Ftmp29*L[24] - Ftmp3*L[27] - Ftmp30*L[38] - Ftmp31*L[39] - Ftmp32*L[59] - Ftmp33*L[60] - Ftmp34*L[32] - Ftmp35*L[53] - Ftmp36*L[81] - Ftmp37*L[31] - Ftmp38*L[51] - Ftmp39*L[78] - Ftmp40*L[47] - Ftmp41*L[74] - Ftmp42*L[46] - Ftmp43*L[72] - Ftmp44*L[42] - Ftmp45*L[63] - Ftmp47*L[41] - Ftmp49*L[66] - Ftmp5*L[11] - Ftmp50*L[43] - Ftmp51*L[69] - Ftmp53*L[62] - Ftmp54*L[64] - Ftmp55*L[52] - Ftmp56*L[80] - Ftmp57*L[79] - Ftmp58*L[73] - Ftmp59*L[68] - Ftmp60*L[67] - Ftmp7*L[21] - Ftmp8*L[36] - Ftmp9*L[57] - x*L[5] - y*L[7] - z*L[8] - L[2]; -#pragma omp atomic -F[2] += -Ftmp0*L[14] - Ftmp1*L[15] - Ftmp11*L[17] - Ftmp13*L[31] - Ftmp14*L[51] - Ftmp15*L[78] - Ftmp17*L[19] - Ftmp19*L[34] - Ftmp2*L[18] - Ftmp20*L[55] - Ftmp21*L[83] - Ftmp22*L[27] - Ftmp23*L[46] - Ftmp24*L[72] - Ftmp25*L[29] - Ftmp26*L[49] - Ftmp27*L[76] - Ftmp28*L[24] - Ftmp29*L[25] - Ftmp3*L[28] - Ftmp30*L[39] - Ftmp31*L[40] - Ftmp32*L[60] - Ftmp33*L[61] - Ftmp34*L[33] - Ftmp35*L[54] - Ftmp36*L[82] - Ftmp37*L[32] - Ftmp38*L[52] - Ftmp39*L[79] - Ftmp40*L[48] - Ftmp41*L[75] - Ftmp42*L[47] - Ftmp43*L[73] - Ftmp44*L[43] - Ftmp45*L[64] - Ftmp47*L[42] - Ftmp49*L[67] - Ftmp5*L[12] - Ftmp50*L[44] - Ftmp51*L[70] - Ftmp53*L[63] - Ftmp54*L[65] - Ftmp55*L[53] - Ftmp56*L[81] - Ftmp57*L[80] - Ftmp58*L[74] - Ftmp59*L[69] - Ftmp60*L[68] - Ftmp7*L[22] - Ftmp8*L[37] - Ftmp9*L[58] - x*L[6] - y*L[8] - z*L[9] - L[3]; - -} - -void M2P_7(double x, double y, double z, double * M, double * F) { -double R = sqrt(x*x + y*y + z*z); -double Ftmp0 = pow(R, -3); -double Ftmp1 = pow(R, -2); -double Ftmp2 = 3.0*Ftmp1; -double Ftmp3 = y*M[4]; -double Ftmp4 = Ftmp2*z; -double Ftmp5 = pow(R, -4); -double Ftmp6 = Ftmp5*z; -double Ftmp7 = 15.0*Ftmp6; -double Ftmp8 = Ftmp7*M[13]; -double Ftmp9 = Ftmp2*x; -double Ftmp10 = Ftmp9*y; -double Ftmp11 = Ftmp4*M[2]; -double Ftmp12 = pow(x, 2); -double Ftmp13 = Ftmp1*Ftmp12; -double Ftmp14 = y*M[7]; -double Ftmp15 = Ftmp7*x; -double Ftmp16 = Ftmp12*Ftmp5; -double Ftmp17 = 15.0*Ftmp16; -double Ftmp18 = pow(R, -6); -double Ftmp19 = Ftmp18*y; -double Ftmp20 = Ftmp19*z; -double Ftmp21 = 105.0*M[13]; -double Ftmp22 = pow(y, 2); -double Ftmp23 = 15.0*Ftmp1; -double Ftmp24 = -Ftmp22*Ftmp23; -double Ftmp25 = Ftmp1*(Ftmp24 + 3.0); -double Ftmp26 = pow(z, 2); -double Ftmp27 = -Ftmp23*Ftmp26; -double Ftmp28 = Ftmp1*(Ftmp27 + 3.0); -double Ftmp29 = -15.0*Ftmp13; -double Ftmp30 = Ftmp1*(Ftmp29 + 9.0); -double Ftmp31 = -105.0*Ftmp13; -double Ftmp32 = Ftmp31 + 45.0; -double Ftmp33 = Ftmp32*Ftmp5; -double Ftmp34 = y*M[20]; -double Ftmp35 = Ftmp33*M[21]; -double Ftmp36 = Ftmp5*y; -double Ftmp37 = Ftmp1*Ftmp26; -double Ftmp38 = 3.0*M[27]; -double Ftmp39 = Ftmp38*(5.0 - 35.0*Ftmp37); -double Ftmp40 = 105.0*Ftmp1; -double Ftmp41 = -Ftmp22*Ftmp40; -double Ftmp42 = Ftmp41 + 45.0; -double Ftmp43 = Ftmp36*Ftmp42; -double Ftmp44 = 1.0*M[25]; -double Ftmp45 = 1.0*Ftmp6; -double Ftmp46 = Ftmp41 + 15.0; -double Ftmp47 = Ftmp46*M[26]; -double Ftmp48 = -Ftmp26*Ftmp40; -double Ftmp49 = Ftmp48 + 45.0; -double Ftmp50 = Ftmp45*Ftmp49; -double Ftmp51 = Ftmp25*M[6]; -double Ftmp52 = Ftmp28*M[8]; -double Ftmp53 = Ftmp33*x; -double Ftmp54 = Ftmp53*y; -double Ftmp55 = Ftmp43*x; -double Ftmp56 = Ftmp46*M[16]; -double Ftmp57 = Ftmp6*x; -double Ftmp58 = Ftmp53*z; -double Ftmp59 = Ftmp49*M[18]; -double Ftmp60 = 315.0*Ftmp1; -double Ftmp61 = -Ftmp26*Ftmp60; -double Ftmp62 = Ftmp61 + 105.0; -double Ftmp63 = 3.0*M[47]; -double Ftmp64 = Ftmp62*Ftmp63; -double Ftmp65 = -945.0*Ftmp13; -double Ftmp66 = Ftmp65 + 315.0; -double Ftmp67 = Ftmp66*M[38]; -double Ftmp68 = 1.0*Ftmp19; -double Ftmp69 = Ftmp1*Ftmp22; -double Ftmp70 = -945.0*Ftmp69; -double Ftmp71 = Ftmp70 + 315.0; -double Ftmp72 = Ftmp71*M[45]; -double Ftmp73 = Ftmp48 + 15.0; -double Ftmp74 = 1.0*Ftmp73*M[17]; -double Ftmp75 = 1.0*Ftmp16; -double Ftmp76 = Ftmp46*M[12]; -double Ftmp77 = Ftmp73*M[14]; -double Ftmp78 = Ftmp19*x; -double Ftmp79 = Ftmp78*z; -double Ftmp80 = Ftmp66*Ftmp79; -double Ftmp81 = Ftmp71*M[30]; -double Ftmp82 = -945.0*Ftmp37; -double Ftmp83 = Ftmp82 + 315.0; -double Ftmp84 = Ftmp83*M[32]; -double Ftmp85 = Ftmp68*x; -double Ftmp86 = Ftmp85*z; -double Ftmp87 = Ftmp12*Ftmp19; -double Ftmp88 = Ftmp38*(Ftmp61 + 35.0); -double Ftmp89 = Ftmp44*Ftmp71; -double Ftmp90 = Ftmp65 + 525.0; -double Ftmp91 = Ftmp12*Ftmp18; -double Ftmp92 = Ftmp18*z; -double Ftmp93 = 1.0*Ftmp92; -double Ftmp94 = Ftmp12*Ftmp93; -double Ftmp95 = Ftmp70 + 105.0; -double Ftmp96 = Ftmp95*M[26]; -double Ftmp97 = Ftmp83*M[28]; -double Ftmp98 = -10395.0*Ftmp13; -double Ftmp99 = Ftmp98 + 4725.0; -double Ftmp100 = pow(R, -8); -double Ftmp101 = Ftmp100*Ftmp12; -double Ftmp102 = y*z; -double Ftmp103 = Ftmp101*Ftmp102; -double Ftmp104 = -3465.0*Ftmp37; -double Ftmp105 = Ftmp63*(Ftmp104 + 945.0); -double Ftmp106 = 1.0*Ftmp101; -double Ftmp107 = -10395.0*Ftmp69; -double Ftmp108 = Ftmp107 + 2835.0; -double Ftmp109 = Ftmp108*M[45]; -double Ftmp110 = pow(y, 4); -double Ftmp111 = 945.0*Ftmp5; -double Ftmp112 = Ftmp110*Ftmp111; -double Ftmp113 = 630.0*Ftmp1; -double Ftmp114 = Ftmp5*(Ftmp112 - Ftmp113*Ftmp22 + 45.0); -double Ftmp115 = pow(z, 4); -double Ftmp116 = Ftmp111*Ftmp115; -double Ftmp117 = Ftmp5*(-Ftmp113*Ftmp26 + Ftmp116 + 45.0); -double Ftmp118 = pow(x, 4); -double Ftmp119 = Ftmp111*Ftmp118; -double Ftmp120 = Ftmp5*(Ftmp119 - 1050.0*Ftmp13 + 225.0); -double Ftmp121 = Ftmp114*M[29]; -double Ftmp122 = Ftmp117*M[33]; -double Ftmp123 = Ftmp115*Ftmp5; -double Ftmp124 = 3.0*M[74]; -double Ftmp125 = Ftmp124*(3465.0*Ftmp123 - 1890.0*Ftmp37 + 105.0); -double Ftmp126 = Ftmp118*Ftmp5; -double Ftmp127 = 10395.0*Ftmp126; -double Ftmp128 = Ftmp127 - 9450.0*Ftmp13 + 1575.0; -double Ftmp129 = Ftmp128*M[56]; -double Ftmp130 = 10395.0*Ftmp5; -double Ftmp131 = Ftmp110*Ftmp130; -double Ftmp132 = Ftmp131 - 9450.0*Ftmp69 + 1575.0; -double Ftmp133 = Ftmp132*M[70]; -double Ftmp134 = 5670.0*Ftmp1; -double Ftmp135 = Ftmp131 - Ftmp134*Ftmp22 + 315.0; -double Ftmp136 = Ftmp135*M[71]; -double Ftmp137 = Ftmp128*M[57]; -double Ftmp138 = Ftmp115*Ftmp130; -double Ftmp139 = Ftmp138 - 9450.0*Ftmp37 + 1575.0; -double Ftmp140 = Ftmp139*Ftmp93; -double Ftmp141 = 135135.0*Ftmp126; -double Ftmp142 = -103950.0*Ftmp13 + Ftmp141 + 14175.0; -double Ftmp143 = Ftmp142*M[87]; -double Ftmp144 = Ftmp100*Ftmp102; -double Ftmp145 = 45045.0*Ftmp123; -double Ftmp146 = Ftmp145 - 34650.0*Ftmp37 + 4725.0; -double Ftmp147 = 3.0*M[109]; -double Ftmp148 = Ftmp146*Ftmp147; -double Ftmp149 = 1.0*Ftmp144; -double Ftmp150 = 135135.0*Ftmp5; -double Ftmp151 = Ftmp110*Ftmp150; -double Ftmp152 = Ftmp151 - 103950.0*Ftmp69 + 14175.0; -double Ftmp153 = Ftmp152*M[105]; -double Ftmp154 = -Ftmp134*Ftmp26 + Ftmp138 + 315.0; -double Ftmp155 = Ftmp154*M[53]; -double Ftmp156 = Ftmp128*Ftmp78; -double Ftmp157 = Ftmp132*M[49]; -double Ftmp158 = Ftmp135*M[50]; -double Ftmp159 = Ftmp92*x; -double Ftmp160 = Ftmp128*Ftmp159; -double Ftmp161 = Ftmp139*M[54]; -double Ftmp162 = Ftmp100*x; -double Ftmp163 = Ftmp162*y; -double Ftmp164 = Ftmp163*z; -double Ftmp165 = Ftmp152*M[77]; -double Ftmp166 = 1.0*Ftmp91; -double Ftmp167 = Ftmp135*M[44]; -double Ftmp168 = Ftmp154*M[48]; -double Ftmp169 = -145530.0*Ftmp13 + Ftmp141 + 33075.0; -double Ftmp170 = Ftmp101*y; -double Ftmp171 = Ftmp101*z; -double Ftmp172 = 1.0*Ftmp163; -double Ftmp173 = Ftmp115*Ftmp150; -double Ftmp174 = Ftmp173 - 103950.0*Ftmp37 + 14175.0; -double Ftmp175 = Ftmp174*z*M[81]; -double Ftmp176 = Ftmp124*(Ftmp145 - 20790.0*Ftmp37 + 945.0); -double Ftmp177 = Ftmp106*y; -double Ftmp178 = Ftmp152*M[70]; -double Ftmp179 = Ftmp106*z; -double Ftmp180 = 62370.0*Ftmp1; -double Ftmp181 = Ftmp151 - Ftmp180*Ftmp22 + 2835.0; -double Ftmp182 = Ftmp181*M[71]; -double Ftmp183 = Ftmp174*M[75]; -double Ftmp184 = pow(R, -10); -double Ftmp185 = Ftmp102*Ftmp12; -double Ftmp186 = Ftmp184*Ftmp185; -double Ftmp187 = 675675.0*Ftmp5; -double Ftmp188 = Ftmp115*Ftmp187; -double Ftmp189 = Ftmp147*(Ftmp188 - 450450.0*Ftmp37 + 51975.0); -double Ftmp190 = 1.0*Ftmp186; -double Ftmp191 = 2027025.0*Ftmp5; -double Ftmp192 = Ftmp110*Ftmp191; -double Ftmp193 = (Ftmp192 - 1351350.0*Ftmp69 + 155925.0)*M[105]; -double Ftmp194 = 2027025.0*Ftmp126; -double Ftmp195 = Ftmp184*M[87]; -double Ftmp196 = pow(y, 6); -double Ftmp197 = 135135.0*Ftmp18; -double Ftmp198 = -Ftmp196*Ftmp197; -double Ftmp199 = 155925.0*Ftmp5; -double Ftmp200 = 42525.0*Ftmp1; -double Ftmp201 = Ftmp18*(Ftmp110*Ftmp199 + Ftmp198 - Ftmp200*Ftmp22 + 1575.0); -double Ftmp202 = pow(z, 6); -double Ftmp203 = -Ftmp197*Ftmp202; -double Ftmp204 = Ftmp18*(Ftmp115*Ftmp199 - Ftmp200*Ftmp26 + Ftmp203 + 1575.0); -double Ftmp205 = pow(x, 6); -double Ftmp206 = -Ftmp197*Ftmp205; -double Ftmp207 = Ftmp18*(218295.0*Ftmp126 - 99225.0*Ftmp13 + Ftmp206 + 11025.0); -double Ftmp208 = Ftmp201*M[76]; -double Ftmp209 = Ftmp204*M[82]; -double Ftmp210 = 2027025.0*Ftmp18; -double Ftmp211 = -Ftmp205*Ftmp210; -double Ftmp212 = 2837835.0*Ftmp126 - 1091475.0*Ftmp13 + Ftmp211 + 99225.0; -double Ftmp213 = Ftmp163*Ftmp212; -double Ftmp214 = -Ftmp196*Ftmp210; -double Ftmp215 = Ftmp110*Ftmp5; -double Ftmp216 = Ftmp214 + 2837835.0*Ftmp215 - 1091475.0*Ftmp69 + 99225.0; -double Ftmp217 = Ftmp216*M[111]; -double Ftmp218 = 467775.0*Ftmp1; -double Ftmp219 = Ftmp192 + Ftmp214 - Ftmp218*Ftmp22 + 14175.0; -double Ftmp220 = Ftmp219*M[112]; -double Ftmp221 = Ftmp162*z; -double Ftmp222 = Ftmp212*Ftmp221; -double Ftmp223 = -Ftmp202*Ftmp210; -double Ftmp224 = 2837835.0*Ftmp123 + Ftmp223 - 1091475.0*Ftmp37 + 99225.0; -double Ftmp225 = Ftmp224*M[118]; -double Ftmp226 = Ftmp111*Ftmp22; -double Ftmp227 = Ftmp226*Ftmp26; -double Ftmp228 = Ftmp5*(Ftmp227 + Ftmp46 + Ftmp48); -double Ftmp229 = -Ftmp22*Ftmp60; -double Ftmp230 = Ftmp12*Ftmp226; -double Ftmp231 = Ftmp5*(Ftmp229 + Ftmp230 + Ftmp32); -double Ftmp232 = Ftmp12*Ftmp26; -double Ftmp233 = Ftmp111*Ftmp232; -double Ftmp234 = Ftmp5*(Ftmp233 + Ftmp32 + Ftmp61); -double Ftmp235 = Ftmp115*Ftmp191 - Ftmp218*Ftmp26 + Ftmp223 + 14175.0; -double Ftmp236 = Ftmp235*M[117]; -double Ftmp237 = Ftmp219*M[104]; -double Ftmp238 = Ftmp235*M[110]; -double Ftmp239 = 2835.0*Ftmp1; -double Ftmp240 = -Ftmp239*Ftmp26; -double Ftmp241 = Ftmp130*Ftmp232; -double Ftmp242 = Ftmp240 + Ftmp241; -double Ftmp243 = Ftmp242 + Ftmp66; -double Ftmp244 = Ftmp243*M[63]; -double Ftmp245 = Ftmp22*Ftmp26; -double Ftmp246 = Ftmp130*Ftmp245; -double Ftmp247 = Ftmp240 + Ftmp246; -double Ftmp248 = Ftmp247 + Ftmp71; -double Ftmp249 = Ftmp248*M[72]; -double Ftmp250 = -Ftmp22*Ftmp239; -double Ftmp251 = Ftmp12*Ftmp22; -double Ftmp252 = Ftmp130*Ftmp251; -double Ftmp253 = Ftmp250 + Ftmp252; -double Ftmp254 = -2835.0*Ftmp13; -double Ftmp255 = Ftmp254 + 945.0; -double Ftmp256 = Ftmp253 + Ftmp255; -double Ftmp257 = Ftmp256*M[61]; -double Ftmp258 = Ftmp253 + Ftmp66; -double Ftmp259 = Ftmp258*M[62]; -double Ftmp260 = Ftmp246 + Ftmp250 + Ftmp83; -double Ftmp261 = Ftmp260*M[73]; -double Ftmp262 = Ftmp242 + Ftmp255; -double Ftmp263 = Ftmp262*M[64]; -double Ftmp264 = -31185.0*Ftmp13; -double Ftmp265 = Ftmp264 + 8505.0; -double Ftmp266 = 31185.0*Ftmp1; -double Ftmp267 = -Ftmp22*Ftmp266; -double Ftmp268 = Ftmp150*Ftmp251; -double Ftmp269 = Ftmp267 + Ftmp268; -double Ftmp270 = Ftmp265 + Ftmp269; -double Ftmp271 = Ftmp270*M[94]; -double Ftmp272 = -Ftmp26*Ftmp266; -double Ftmp273 = Ftmp150*Ftmp232; -double Ftmp274 = Ftmp272 + Ftmp273; -double Ftmp275 = Ftmp265 + Ftmp274; -double Ftmp276 = Ftmp275*M[96]; -double Ftmp277 = Ftmp150*Ftmp245; -double Ftmp278 = Ftmp272 + Ftmp277; -double Ftmp279 = Ftmp267 + 8505.0; -double Ftmp280 = Ftmp278 + Ftmp279; -double Ftmp281 = Ftmp280*M[107]; -double Ftmp282 = Ftmp243*Ftmp78; -double Ftmp283 = Ftmp256*Ftmp78; -double Ftmp284 = Ftmp159*Ftmp258; -double Ftmp285 = Ftmp159*Ftmp262; -double Ftmp286 = Ftmp164*Ftmp270; -double Ftmp287 = Ftmp164*Ftmp275; -double Ftmp288 = 4725.0*Ftmp1; -double Ftmp289 = -Ftmp22*Ftmp288; -double Ftmp290 = -Ftmp26*Ftmp288; -double Ftmp291 = 51975.0*Ftmp1; -double Ftmp292 = -Ftmp26*Ftmp291; -double Ftmp293 = Ftmp273 + Ftmp292; -double Ftmp294 = Ftmp293 + Ftmp99; -double Ftmp295 = -Ftmp22*Ftmp291; -double Ftmp296 = Ftmp268 + Ftmp295; -double Ftmp297 = Ftmp264 + 14175.0; -double Ftmp298 = -10395.0*Ftmp37; -double Ftmp299 = Ftmp298 + 2835.0; -double Ftmp300 = Ftmp267 + Ftmp277; -double Ftmp301 = -405405.0*Ftmp37; -double Ftmp302 = Ftmp301 + 93555.0; -double Ftmp303 = -405405.0*Ftmp69; -double Ftmp304 = Ftmp191*Ftmp245; -double Ftmp305 = Ftmp303 + Ftmp304; -double Ftmp306 = -675675.0*Ftmp69; -double Ftmp307 = Ftmp191*Ftmp251; -double Ftmp308 = -405405.0*Ftmp13; -double Ftmp309 = Ftmp308 + 155925.0; -double Ftmp310 = -675675.0*Ftmp37; -double Ftmp311 = Ftmp191*Ftmp232; -double Ftmp312 = 62370.0*Ftmp5; -double Ftmp313 = Ftmp245*Ftmp312; -double Ftmp314 = Ftmp110*Ftmp197; -double Ftmp315 = -Ftmp26*Ftmp314; -double Ftmp316 = Ftmp240 + Ftmp313 + Ftmp315; -double Ftmp317 = Ftmp18*(Ftmp135 + Ftmp316); -double Ftmp318 = Ftmp115*Ftmp197; -double Ftmp319 = -Ftmp22*Ftmp318; -double Ftmp320 = Ftmp313 + Ftmp319; -double Ftmp321 = Ftmp18*(Ftmp154 + Ftmp250 + Ftmp320); -double Ftmp322 = Ftmp251*Ftmp312; -double Ftmp323 = -Ftmp12*Ftmp314; -double Ftmp324 = Ftmp322 + Ftmp323; -double Ftmp325 = 31185.0*Ftmp5; -double Ftmp326 = 17010.0*Ftmp1; -double Ftmp327 = Ftmp110*Ftmp325 - Ftmp22*Ftmp326; -double Ftmp328 = Ftmp18*(Ftmp255 + Ftmp324 + Ftmp327); -double Ftmp329 = Ftmp232*Ftmp312; -double Ftmp330 = -Ftmp12*Ftmp318; -double Ftmp331 = Ftmp329 + Ftmp330; -double Ftmp332 = Ftmp115*Ftmp325 - Ftmp26*Ftmp326; -double Ftmp333 = Ftmp18*(Ftmp255 + Ftmp331 + Ftmp332); -double Ftmp334 = 14175.0*Ftmp1; -double Ftmp335 = -Ftmp22*Ftmp334; -double Ftmp336 = 103950.0*Ftmp5; -double Ftmp337 = Ftmp251*Ftmp336; -double Ftmp338 = Ftmp118*Ftmp197; -double Ftmp339 = -Ftmp22*Ftmp338; -double Ftmp340 = Ftmp18*(Ftmp128 + Ftmp335 + Ftmp337 + Ftmp339); -double Ftmp341 = -Ftmp26*Ftmp334; -double Ftmp342 = Ftmp232*Ftmp336; -double Ftmp343 = -Ftmp26*Ftmp338; -double Ftmp344 = Ftmp18*(Ftmp128 + Ftmp341 + Ftmp342 + Ftmp343); -double Ftmp345 = 810810.0*Ftmp5; -double Ftmp346 = Ftmp232*Ftmp345; -double Ftmp347 = Ftmp12*Ftmp210; -double Ftmp348 = -Ftmp115*Ftmp347; -double Ftmp349 = Ftmp346 + Ftmp348; -double Ftmp350 = 405405.0*Ftmp123; -double Ftmp351 = Ftmp350 - 187110.0*Ftmp37; -double Ftmp352 = Ftmp163*(Ftmp265 + Ftmp349 + Ftmp351); -double Ftmp353 = Ftmp245*Ftmp345; -double Ftmp354 = Ftmp210*Ftmp22; -double Ftmp355 = -Ftmp115*Ftmp354; -double Ftmp356 = Ftmp353 + Ftmp355; -double Ftmp357 = Ftmp163*(Ftmp279 + Ftmp351 + Ftmp356); -double Ftmp358 = Ftmp118*Ftmp210; -double Ftmp359 = -Ftmp26*Ftmp358; -double Ftmp360 = -155925.0*Ftmp37; -double Ftmp361 = 1351350.0*Ftmp5; -double Ftmp362 = Ftmp232*Ftmp361; -double Ftmp363 = Ftmp359 + Ftmp360 + Ftmp362; -double Ftmp364 = Ftmp163*(Ftmp142 + Ftmp363); -double Ftmp365 = -Ftmp110*Ftmp210*Ftmp26; -double Ftmp366 = Ftmp245*Ftmp361; -double Ftmp367 = Ftmp360 + Ftmp365 + Ftmp366; -double Ftmp368 = Ftmp163*(Ftmp152 + Ftmp367); -double Ftmp369 = 405405.0*Ftmp126; -double Ftmp370 = -155925.0*Ftmp69; -double Ftmp371 = Ftmp251*Ftmp361; -double Ftmp372 = Ftmp371 + 42525.0; -double Ftmp373 = -Ftmp22*Ftmp358; -double Ftmp374 = -311850.0*Ftmp13; -double Ftmp375 = Ftmp373 + Ftmp374; -double Ftmp376 = Ftmp163*(Ftmp369 + Ftmp370 + Ftmp372 + Ftmp375); -double Ftmp377 = 405405.0*Ftmp215; -double Ftmp378 = -155925.0*Ftmp13; -double Ftmp379 = 311850.0*Ftmp1; -double Ftmp380 = -Ftmp22*Ftmp379; -double Ftmp381 = -Ftmp110*Ftmp347; -double Ftmp382 = Ftmp380 + Ftmp381; -double Ftmp383 = Ftmp163*(Ftmp372 + Ftmp377 + Ftmp378 + Ftmp382); -double Ftmp384 = Ftmp377 - 187110.0*Ftmp69; -double Ftmp385 = Ftmp251*Ftmp345; -double Ftmp386 = Ftmp381 + Ftmp385; -double Ftmp387 = Ftmp221*(Ftmp265 + Ftmp384 + Ftmp386); -double Ftmp388 = Ftmp272 + Ftmp353 + Ftmp365; -double Ftmp389 = Ftmp221*(Ftmp384 + Ftmp388 + 8505.0); -double Ftmp390 = Ftmp221*(Ftmp142 + Ftmp370 + Ftmp371 + Ftmp373); -double Ftmp391 = Ftmp355 + Ftmp366 + Ftmp370; -double Ftmp392 = Ftmp221*(Ftmp174 + Ftmp391); -double Ftmp393 = Ftmp221*(Ftmp363 + Ftmp369 + Ftmp374 + 42525.0); -double Ftmp394 = Ftmp348 + Ftmp362 + Ftmp378; -double Ftmp395 = -Ftmp26*Ftmp379; -double Ftmp396 = Ftmp350 + Ftmp395 + 42525.0; -double Ftmp397 = Ftmp221*(Ftmp394 + Ftmp396); -double Ftmp398 = Ftmp110*Ftmp187; -double Ftmp399 = Ftmp188 + Ftmp395; -double Ftmp400 = 363825.0*Ftmp1; -double Ftmp401 = -Ftmp22*Ftmp400; -double Ftmp402 = 1891890.0*Ftmp5; -double Ftmp403 = Ftmp251*Ftmp402; -double Ftmp404 = -Ftmp26*Ftmp400; -double Ftmp405 = Ftmp232*Ftmp402; -double Ftmp406 = Ftmp173 - Ftmp180*Ftmp26 + 2835.0; -double Ftmp407 = Ftmp267 + Ftmp356; -double Ftmp408 = -Ftmp197*Ftmp22*Ftmp232; -double Ftmp409 = Ftmp18*(Ftmp243 + Ftmp245*Ftmp325 + Ftmp253 + Ftmp408); -double Ftmp410 = 405405.0*Ftmp5; -double Ftmp411 = Ftmp232*Ftmp410; -double Ftmp412 = -Ftmp232*Ftmp354; -double Ftmp413 = Ftmp245*Ftmp410 + Ftmp412; -double Ftmp414 = Ftmp163*(Ftmp270 - 93555.0*Ftmp37 + Ftmp411 + Ftmp413); -double Ftmp415 = Ftmp251*Ftmp410; -double Ftmp416 = Ftmp221*(Ftmp275 + Ftmp413 + Ftmp415 - 93555.0*Ftmp69); -double Ftmp417 = Ftmp22*Ftmp5; -double Ftmp418 = 15.0*x; -double Ftmp419 = Ftmp1*(Ftmp29 + 3.0); -double Ftmp420 = Ftmp1*(Ftmp24 + 9.0); -double Ftmp421 = Ftmp31 + 15.0; -double Ftmp422 = Ftmp421*M[23]; -double Ftmp423 = Ftmp42*M[30]; -double Ftmp424 = Ftmp5*x; -double Ftmp425 = Ftmp419*M[3]; -double Ftmp426 = Ftmp421*M[11]; -double Ftmp427 = Ftmp6*y; -double Ftmp428 = Ftmp42*Ftmp427; -double Ftmp429 = Ftmp421*M[10]; -double Ftmp430 = Ftmp93*x; -double Ftmp431 = 1.0*Ftmp36; -double Ftmp432 = Ftmp18*x; -double Ftmp433 = Ftmp22*Ftmp432; -double Ftmp434 = Ftmp432*Ftmp66; -double Ftmp435 = Ftmp70 + 525.0; -double Ftmp436 = Ftmp22*Ftmp92; -double Ftmp437 = Ftmp65 + 105.0; -double Ftmp438 = Ftmp437*M[23]; -double Ftmp439 = Ftmp98 + 2835.0; -double Ftmp440 = Ftmp439*M[38]; -double Ftmp441 = Ftmp100*Ftmp22; -double Ftmp442 = Ftmp441*x; -double Ftmp443 = Ftmp442*z; -double Ftmp444 = Ftmp107 + 4725.0; -double Ftmp445 = 1.0*Ftmp441; -double Ftmp446 = Ftmp445*x; -double Ftmp447 = Ftmp5*(-Ftmp113*Ftmp12 + Ftmp119 + 45.0); -double Ftmp448 = Ftmp5*(Ftmp112 - 1050.0*Ftmp69 + 225.0); -double Ftmp449 = Ftmp447*M[19]; -double Ftmp450 = 1.0*Ftmp432; -double Ftmp451 = Ftmp127 - 5670.0*Ftmp13 + 315.0; -double Ftmp452 = Ftmp451*M[59]; -double Ftmp453 = Ftmp132*M[77]; -double Ftmp454 = 1.0*Ftmp221; -double Ftmp455 = Ftmp451*M[36]; -double Ftmp456 = Ftmp142*M[57]; -double Ftmp457 = Ftmp18*Ftmp22; -double Ftmp458 = Ftmp451*M[35]; -double Ftmp459 = Ftmp142*M[56]; -double Ftmp460 = Ftmp441*z; -double Ftmp461 = -62370.0*Ftmp13 + Ftmp141 + 2835.0; -double Ftmp462 = Ftmp461*M[59]; -double Ftmp463 = Ftmp151 - 145530.0*Ftmp69 + 33075.0; -double Ftmp464 = Ftmp172*z; -double Ftmp465 = Ftmp22*x*z; -double Ftmp466 = Ftmp184*Ftmp465; -double Ftmp467 = Ftmp195*(-1351350.0*Ftmp13 + Ftmp194 + 155925.0); -double Ftmp468 = 1.0*Ftmp466; -double Ftmp469 = Ftmp18*(Ftmp118*Ftmp199 - 42525.0*Ftmp13 + Ftmp206 + 1575.0); -double Ftmp470 = Ftmp18*(Ftmp198 + 218295.0*Ftmp215 - 99225.0*Ftmp69 + 11025.0); -double Ftmp471 = Ftmp469*M[55]; -double Ftmp472 = -467775.0*Ftmp13 + Ftmp194 + Ftmp211 + 14175.0; -double Ftmp473 = Ftmp472*M[85]; -double Ftmp474 = Ftmp5*(Ftmp233 + Ftmp31 + Ftmp73); -double Ftmp475 = -315.0*Ftmp13; -double Ftmp476 = Ftmp5*(Ftmp230 + Ftmp42 + Ftmp475); -double Ftmp477 = Ftmp5*(Ftmp227 + Ftmp42 + Ftmp61); -double Ftmp478 = Ftmp472*M[84]; -double Ftmp479 = Ftmp252 + Ftmp254; -double Ftmp480 = Ftmp479 + Ftmp71; -double Ftmp481 = Ftmp480*M[66]; -double Ftmp482 = Ftmp241 + Ftmp254; -double Ftmp483 = Ftmp482 + Ftmp83; -double Ftmp484 = Ftmp483*M[68]; -double Ftmp485 = Ftmp250 + 945.0; -double Ftmp486 = Ftmp247 + Ftmp485; -double Ftmp487 = Ftmp486*M[79]; -double Ftmp488 = Ftmp20*Ftmp480; -double Ftmp489 = Ftmp20*Ftmp483; -double Ftmp490 = Ftmp20*Ftmp486; -double Ftmp491 = -4725.0*Ftmp13; -double Ftmp492 = -51975.0*Ftmp13; -double Ftmp493 = Ftmp492 + 14175.0; -double Ftmp494 = Ftmp268 + Ftmp444 + Ftmp492; -double Ftmp495 = Ftmp280*Ftmp464; -double Ftmp496 = Ftmp277 + Ftmp292; -double Ftmp497 = Ftmp303 + Ftmp307; -double Ftmp498 = 155925.0 - 675675.0*Ftmp13; -double Ftmp499 = Ftmp240 + Ftmp329 + Ftmp343; -double Ftmp500 = Ftmp18*(Ftmp451 + Ftmp499); -double Ftmp501 = Ftmp18*(Ftmp154 + Ftmp254 + Ftmp331); -double Ftmp502 = Ftmp322 + Ftmp339; -double Ftmp503 = 31185.0*Ftmp126 - 17010.0*Ftmp13; -double Ftmp504 = Ftmp18*(Ftmp485 + Ftmp502 + Ftmp503); -double Ftmp505 = Ftmp18*(Ftmp320 + Ftmp332 + Ftmp485); -double Ftmp506 = -14175.0*Ftmp13; -double Ftmp507 = Ftmp18*(Ftmp132 + Ftmp323 + Ftmp337 + Ftmp506); -double Ftmp508 = Ftmp245*Ftmp336; -double Ftmp509 = Ftmp18*(Ftmp132 + Ftmp315 + Ftmp341 + Ftmp508); -double Ftmp510 = -187110.0*Ftmp13 + Ftmp369; -double Ftmp511 = Ftmp144*(Ftmp279 + Ftmp373 + Ftmp385 + Ftmp510); -double Ftmp512 = Ftmp272 + Ftmp346 + Ftmp359; -double Ftmp513 = Ftmp144*(Ftmp510 + Ftmp512 + 8505.0); -double Ftmp514 = Ftmp144*(Ftmp152 + Ftmp371 + Ftmp378 + Ftmp381); -double Ftmp515 = Ftmp144*(Ftmp174 + Ftmp394); -double Ftmp516 = Ftmp144*(Ftmp367 + Ftmp377 + Ftmp380 + 42525.0); -double Ftmp517 = Ftmp144*(Ftmp391 + Ftmp396); -double Ftmp518 = Ftmp267 + Ftmp385; -double Ftmp519 = 675675.0*Ftmp126 + 14175.0; -double Ftmp520 = -363825.0*Ftmp13; -double Ftmp521 = Ftmp245*Ftmp402; -double Ftmp522 = 1.0*M[108]; -double Ftmp523 = 1.0*M[106]; -double Ftmp524 = Ftmp18*(Ftmp232*Ftmp325 + Ftmp248 + Ftmp408 + Ftmp479); -double Ftmp525 = Ftmp144*(-93555.0*Ftmp13 + Ftmp280 + Ftmp411 + Ftmp412 + Ftmp415); -double Ftmp526 = Ftmp26*Ftmp5; -double Ftmp527 = Ftmp1*(Ftmp27 + 9.0); -double Ftmp528 = 1.0*Ftmp424; -double Ftmp529 = Ftmp26*Ftmp450; -double Ftmp530 = Ftmp82 + 525.0; -double Ftmp531 = Ftmp19*Ftmp26; -double Ftmp532 = Ftmp100*Ftmp26; -double Ftmp533 = Ftmp532*x; -double Ftmp534 = Ftmp533*y; -double Ftmp535 = 1.0*Ftmp533; -double Ftmp536 = Ftmp5*(Ftmp116 - 1050.0*Ftmp37 + 225.0); -double Ftmp537 = Ftmp139*Ftmp68; -double Ftmp538 = Ftmp18*Ftmp26; -double Ftmp539 = Ftmp532*y; -double Ftmp540 = Ftmp173 - 145530.0*Ftmp37 + 33075.0; -double Ftmp541 = Ftmp26*x*y; -double Ftmp542 = Ftmp184*Ftmp541; -double Ftmp543 = 1.0*Ftmp542; -double Ftmp544 = Ftmp18*(218295.0*Ftmp123 + Ftmp203 - 99225.0*Ftmp37 + 11025.0); -double Ftmp545 = Ftmp5*(Ftmp230 + Ftmp31 + Ftmp46); -double Ftmp546 = Ftmp5*(Ftmp233 + Ftmp475 + Ftmp49); -double Ftmp547 = Ftmp5*(Ftmp227 + Ftmp229 + Ftmp49); -double Ftmp548 = Ftmp298 + 4725.0; -double Ftmp549 = Ftmp273 + Ftmp492 + Ftmp548; -double Ftmp550 = Ftmp277 + Ftmp295; -double Ftmp551 = Ftmp18*(Ftmp250 + Ftmp451 + Ftmp502); -double Ftmp552 = Ftmp18*(Ftmp135 + Ftmp254 + Ftmp324); -double Ftmp553 = Ftmp18*(Ftmp499 + Ftmp503 + 945.0); -double Ftmp554 = Ftmp18*(Ftmp316 + Ftmp327 + 945.0); -double Ftmp555 = Ftmp18*(Ftmp139 + Ftmp330 + Ftmp342 + Ftmp506); -double Ftmp556 = Ftmp18*(Ftmp139 + Ftmp319 + Ftmp335 + Ftmp508); -double Ftmp557 = Ftmp18*(Ftmp251*Ftmp325 + Ftmp260 + Ftmp408 + Ftmp482); -#pragma omp atomic -F[0] += Ftmp0*(-Ftmp10*M[1] + Ftmp101*(Ftmp297 + Ftmp349 + Ftmp399)*M[97] + Ftmp101*(3648645.0*Ftmp126 - 1964655.0*Ftmp13 + Ftmp211 + 297675.0)*M[83] + Ftmp101*(Ftmp169 + Ftmp359 + Ftmp404 + Ftmp405)*M[88] + Ftmp101*(Ftmp169 + Ftmp373 + Ftmp401 + Ftmp403)*M[86] + Ftmp101*(Ftmp297 + Ftmp382 + Ftmp385 + Ftmp398)*M[93] + Ftmp101*(Ftmp187*Ftmp245 + Ftmp294 + Ftmp296 + Ftmp412)*M[95] + Ftmp102*Ftmp106*Ftmp109 + Ftmp103*Ftmp105 + Ftmp103*Ftmp99*M[38] + Ftmp106*Ftmp237 + Ftmp106*Ftmp238 + Ftmp106*(Ftmp181 + Ftmp388)*M[106] + Ftmp106*(Ftmp406 + Ftmp407)*M[108] - Ftmp11*x + Ftmp114*M[44] + Ftmp117*M[48] - Ftmp12*Ftmp20*Ftmp21 - Ftmp12*Ftmp90*Ftmp92*M[21] + Ftmp120*x*M[19] + Ftmp120*M[34] + Ftmp121*x + Ftmp122*x - Ftmp125*Ftmp19 - Ftmp129*Ftmp19 - 3.0*Ftmp13*M[0] - Ftmp133*Ftmp68 - Ftmp136*Ftmp93 - Ftmp137*Ftmp92 + Ftmp14*Ftmp15 - Ftmp140*M[75] + Ftmp142*Ftmp164*M[59] + Ftmp143*Ftmp144 + Ftmp144*Ftmp148 + Ftmp144*Ftmp271 + Ftmp144*Ftmp276 + Ftmp149*Ftmp153 + Ftmp149*Ftmp281 - Ftmp155*Ftmp85 - Ftmp156*M[35] - Ftmp157*Ftmp78 - Ftmp158*Ftmp159 - Ftmp159*Ftmp161 - Ftmp159*Ftmp260*M[52] + Ftmp16*(Ftmp31 + 75.0)*M[9] - Ftmp160*M[36] + Ftmp163*Ftmp217 + Ftmp164*Ftmp165 + Ftmp164*Ftmp280*M[79] - Ftmp166*Ftmp167 - Ftmp166*Ftmp168 - Ftmp166*(Ftmp246 + Ftmp82 + Ftmp95)*M[46] + Ftmp169*Ftmp170*M[56] + Ftmp169*Ftmp171*M[57] + Ftmp17*Ftmp3 + Ftmp17*z*M[5] + Ftmp170*Ftmp176 + Ftmp170*Ftmp294*M[63] + Ftmp170*(Ftmp296 + Ftmp297)*M[61] + Ftmp171*(Ftmp293 + Ftmp297)*M[64] + Ftmp171*(Ftmp296 + Ftmp99)*M[62] + Ftmp172*Ftmp175 + Ftmp172*Ftmp236 + Ftmp177*Ftmp178 + Ftmp177*(Ftmp108 + Ftmp278)*M[72] + Ftmp179*Ftmp182 + Ftmp179*Ftmp183 + Ftmp179*(Ftmp299 + Ftmp300)*M[73] - Ftmp185*Ftmp195*(-1891890.0*Ftmp13 + Ftmp194 + 363825.0) - Ftmp186*Ftmp189 - Ftmp186*(Ftmp306 + Ftmp307 + Ftmp309)*M[94] - Ftmp186*(Ftmp309 + Ftmp310 + Ftmp311)*M[96] - Ftmp19*Ftmp244 - Ftmp19*Ftmp257 - Ftmp190*Ftmp193 - Ftmp190*(Ftmp302 + Ftmp305)*M[107] - Ftmp2*Ftmp3 - Ftmp20*Ftmp64 - Ftmp20*Ftmp67 - Ftmp201*M[104] - Ftmp204*M[110] - Ftmp207*x*M[55] - Ftmp207*M[83] - Ftmp208*x - Ftmp209*x + Ftmp213*M[84] + Ftmp220*Ftmp221 + Ftmp221*Ftmp225 + Ftmp222*M[85] + Ftmp228*x*M[31] + Ftmp228*M[46] + Ftmp231*x*M[22] + Ftmp231*M[37] + Ftmp234*x*M[24] + Ftmp234*M[39] - Ftmp248*Ftmp78*M[51] - Ftmp249*Ftmp68 - Ftmp25*M[12] - Ftmp259*Ftmp92 - Ftmp261*Ftmp93 - Ftmp263*Ftmp92 - Ftmp28*M[14] - Ftmp282*M[42] - Ftmp283*M[40] - Ftmp284*M[41] - Ftmp285*M[43] + Ftmp286*M[66] + Ftmp287*M[68] - Ftmp30*x*M[3] - Ftmp30*M[9] - Ftmp317*x*M[78] - Ftmp317*M[106] - Ftmp321*x*M[80] - Ftmp321*M[108] - Ftmp328*x*M[65] - Ftmp328*M[93] + Ftmp33*Ftmp34 - Ftmp333*x*M[69] - Ftmp333*M[97] - Ftmp34*Ftmp90*Ftmp91 - Ftmp340*x*M[58] - Ftmp340*M[86] - Ftmp344*x*M[60] - Ftmp344*M[88] + Ftmp35*z + Ftmp352*M[102] + Ftmp357*M[115] + Ftmp36*Ftmp39 + Ftmp36*Ftmp74*x + Ftmp364*M[91] + Ftmp368*M[113] + Ftmp376*M[89] + Ftmp383*M[98] + Ftmp387*M[99] + Ftmp389*M[114] + Ftmp390*M[90] + Ftmp392*M[116] + Ftmp393*M[92] + Ftmp397*M[103] - Ftmp4*M[5] - Ftmp409*x*M[67] - Ftmp409*M[95] + Ftmp414*M[100] + Ftmp416*M[101] + Ftmp43*Ftmp44 + Ftmp45*Ftmp47 + Ftmp50*M[28] - Ftmp51*x - Ftmp52*x + Ftmp54*M[10] + Ftmp55*M[15] + Ftmp56*Ftmp57 + Ftmp57*Ftmp59 + Ftmp58*M[11] - Ftmp68*Ftmp72*z + Ftmp75*Ftmp76 + Ftmp75*Ftmp77 - Ftmp79*Ftmp81 + Ftmp8*y - Ftmp80*M[23] - Ftmp84*Ftmp86 - Ftmp87*Ftmp88 - Ftmp87*Ftmp89 - Ftmp91*(Ftmp127 - 13230.0*Ftmp13 + 3675.0)*M[34] - Ftmp91*(Ftmp241 + Ftmp290 + Ftmp90)*M[39] - Ftmp91*(Ftmp252 + Ftmp289 + Ftmp90)*M[37] - Ftmp94*Ftmp96 - Ftmp94*Ftmp97 + 1.0*M[0]); -#pragma omp atomic -F[1] += Ftmp0*(-Ftmp10*M[0] + Ftmp105*Ftmp443 - Ftmp11*y + Ftmp117*M[53] + Ftmp122*y - Ftmp125*Ftmp432 - Ftmp129*Ftmp432 - Ftmp132*Ftmp20*M[50] - Ftmp132*Ftmp85*M[44] - Ftmp133*Ftmp450 - Ftmp140*M[81] + Ftmp143*Ftmp221 + Ftmp144*Ftmp216*M[112] + Ftmp144*Ftmp225 + Ftmp144*Ftmp473 + Ftmp148*Ftmp221 + Ftmp15*y*M[5] + Ftmp152*Ftmp464*M[71] + Ftmp153*Ftmp454 - 1.0*Ftmp155*Ftmp457 - Ftmp156*M[34] - Ftmp159*Ftmp21*Ftmp22 - Ftmp159*Ftmp64 - Ftmp159*Ftmp67 - Ftmp161*Ftmp20 + Ftmp164*Ftmp456 - Ftmp168*Ftmp85 + Ftmp172*Ftmp216*M[104] + Ftmp172*Ftmp238 + Ftmp175*Ftmp445 + Ftmp176*Ftmp442 + Ftmp183*Ftmp464 - Ftmp189*Ftmp466 - Ftmp20*Ftmp455 - Ftmp204*M[117] - Ftmp209*y + Ftmp213*M[83] - Ftmp22*Ftmp434*M[20] + Ftmp22*Ftmp7*M[7] - Ftmp22*Ftmp84*Ftmp93 + Ftmp221*Ftmp271 + Ftmp221*Ftmp276 + Ftmp236*Ftmp445 - Ftmp244*Ftmp432 - Ftmp248*Ftmp85*M[46] - Ftmp249*Ftmp450 - Ftmp257*Ftmp432 - Ftmp28*M[17] + Ftmp281*Ftmp454 - Ftmp282*M[39] - Ftmp283*M[37] + Ftmp286*M[62] + Ftmp287*M[64] + Ftmp352*M[97] + Ftmp357*Ftmp522 + Ftmp364*M[88] + Ftmp368*Ftmp523 + Ftmp376*M[86] + Ftmp383*M[93] + Ftmp39*Ftmp424 - Ftmp4*M[7] + Ftmp414*M[95] + Ftmp417*Ftmp418*M[4] + Ftmp417*Ftmp429 + Ftmp417*Ftmp74 + Ftmp417*(Ftmp41 + 75.0)*M[15] - Ftmp419*M[10] + Ftmp42*Ftmp424*Ftmp44 - Ftmp420*y*M[6] - Ftmp420*M[15] + Ftmp422*Ftmp6 + Ftmp423*Ftmp6 - Ftmp425*y + Ftmp426*Ftmp427 + Ftmp427*Ftmp59 + Ftmp428*M[16] - Ftmp430*Ftmp72 + Ftmp431*Ftmp77*x - Ftmp433*Ftmp435*Ftmp44 - Ftmp433*Ftmp88 - Ftmp435*Ftmp436*M[30] - Ftmp436*Ftmp438 + Ftmp440*Ftmp443 + Ftmp441*Ftmp478 + Ftmp441*(Ftmp461 + Ftmp512)*M[91] + Ftmp441*(Ftmp264 + Ftmp349 + Ftmp406)*M[102] + Ftmp441*(Ftmp375 + Ftmp518 + Ftmp519)*M[89] + Ftmp441*(Ftmp399 + Ftmp407 + 14175.0)*M[115] + Ftmp441*(Ftmp214 + 3648645.0*Ftmp215 - 1964655.0*Ftmp69 + 297675.0)*M[111] + Ftmp441*(Ftmp365 + Ftmp404 + Ftmp463 + Ftmp521)*M[113] + Ftmp441*(Ftmp381 + Ftmp403 + Ftmp463 + Ftmp520)*M[98] + Ftmp441*(Ftmp187*Ftmp232 + Ftmp412 + Ftmp494 + Ftmp496)*M[100] + Ftmp442*Ftmp459 + Ftmp442*(Ftmp269 + Ftmp493)*M[61] + Ftmp442*(Ftmp274 + Ftmp439)*M[63] + Ftmp444*Ftmp446*z*M[45] + Ftmp446*Ftmp463*M[70] + Ftmp446*(Ftmp444 + Ftmp496)*M[72] + Ftmp447*M[35] + Ftmp448*y*M[29] + Ftmp448*M[49] + Ftmp449*y - Ftmp452*Ftmp92 - Ftmp453*Ftmp92 - Ftmp457*Ftmp458 - Ftmp457*(Ftmp131 - 13230.0*Ftmp69 + 3675.0)*M[49] - Ftmp457*(Ftmp241 + Ftmp437 + Ftmp82)*M[42] - Ftmp457*(Ftmp246 + Ftmp290 + Ftmp435)*M[51] - Ftmp457*(Ftmp252 + Ftmp435 + Ftmp491)*M[40] + Ftmp460*Ftmp462 + Ftmp460*Ftmp463*M[77] + Ftmp460*Ftmp494*M[66] + Ftmp460*(Ftmp264 + Ftmp273 + Ftmp299)*M[68] + Ftmp460*(Ftmp292 + Ftmp300 + 14175.0)*M[79] - Ftmp465*Ftmp467 - Ftmp466*(Ftmp497 + Ftmp498)*M[94] - Ftmp466*(Ftmp302 + Ftmp308 + Ftmp311)*M[96] - Ftmp468*(Ftmp192 - 1891890.0*Ftmp69 + 363825.0)*M[105] - Ftmp468*(Ftmp305 + Ftmp310 + 155925.0)*M[107] - Ftmp469*M[84] - Ftmp470*y*M[76] - Ftmp470*M[111] - Ftmp471*y + Ftmp474*y*M[24] + Ftmp474*M[42] + Ftmp476*y*M[22] + Ftmp476*M[40] + Ftmp477*y*M[31] + Ftmp477*M[51] - Ftmp481*Ftmp92 - Ftmp484*Ftmp92 - Ftmp487*Ftmp92 - Ftmp488*M[41] - Ftmp489*M[43] - Ftmp490*M[52] + Ftmp495*M[73] + Ftmp50*M[32] - Ftmp500*y*M[60] - Ftmp500*M[91] - Ftmp501*y*M[69] - Ftmp501*M[102] - Ftmp504*y*M[58] - Ftmp504*M[89] - Ftmp505*y*M[80] - Ftmp505*M[115] - Ftmp507*y*M[65] - Ftmp507*M[98] - Ftmp509*y*M[78] - Ftmp509*M[113] + Ftmp511*M[90] + Ftmp513*M[92] + Ftmp514*M[99] + Ftmp515*M[103] + Ftmp516*M[114] + Ftmp517*M[116] - Ftmp52*y - Ftmp524*y*M[67] - Ftmp524*M[100] + Ftmp525*M[101] + Ftmp53*M[20] + Ftmp54*M[9] + 1.0*Ftmp55*M[12] - 3.0*Ftmp69*M[1] - Ftmp71*Ftmp86*M[26] + Ftmp8*x - Ftmp80*M[21] - Ftmp86*Ftmp97 - Ftmp9*M[4] + 1.0*M[1]); -#pragma omp atomic -F[2] += Ftmp0*(Ftmp109*Ftmp535*y + Ftmp114*M[50] + Ftmp121*z + Ftmp124*Ftmp146*Ftmp164 - Ftmp136*Ftmp450 - Ftmp137*Ftmp432 - Ftmp139*Ftmp450*M[75] - Ftmp14*Ftmp2 + 15.0*Ftmp14*Ftmp526 - Ftmp140*x*M[48] + Ftmp143*Ftmp163 + Ftmp144*Ftmp217 + Ftmp144*Ftmp478 - Ftmp147*Ftmp542*(Ftmp188 - 630630.0*Ftmp37 + 121275.0) + Ftmp148*Ftmp163 + Ftmp149*Ftmp224*M[117] + Ftmp15*Ftmp3 + Ftmp153*Ftmp172 - Ftmp157*Ftmp20 - Ftmp158*Ftmp538 - Ftmp159*Ftmp34*Ftmp66 - Ftmp160*M[34] + Ftmp163*Ftmp271 + Ftmp163*Ftmp276 + Ftmp164*Ftmp459 + Ftmp165*Ftmp539 - Ftmp167*Ftmp430 + Ftmp172*Ftmp281 + Ftmp178*Ftmp464 + Ftmp182*Ftmp535 - Ftmp19*Ftmp452 - Ftmp19*Ftmp453 - Ftmp19*Ftmp481 - Ftmp19*Ftmp484 - Ftmp19*Ftmp487 - Ftmp193*Ftmp543 - Ftmp20*Ftmp458 - Ftmp201*M[112] - Ftmp208*z - Ftmp21*Ftmp26*Ftmp78 + Ftmp220*Ftmp532 + Ftmp222*M[83] + Ftmp224*Ftmp454*M[110] + Ftmp237*Ftmp454 - Ftmp25*M[16] - Ftmp259*Ftmp432 - Ftmp26*Ftmp434*M[21] - Ftmp26*Ftmp530*Ftmp68*M[32] - Ftmp260*Ftmp430*M[46] - Ftmp261*Ftmp450 - Ftmp263*Ftmp432 - Ftmp284*M[37] - Ftmp285*M[39] + Ftmp286*M[61] + Ftmp287*M[63] + Ftmp35*x + Ftmp36*Ftmp418*M[13] + Ftmp36*Ftmp422 + Ftmp36*Ftmp423 - 3.0*Ftmp37*M[2] - Ftmp38*Ftmp62*Ftmp79 + Ftmp387*M[93] + Ftmp389*Ftmp523 + Ftmp390*M[86] + Ftmp392*Ftmp522 + Ftmp393*M[88] + Ftmp397*M[97] - Ftmp4*x*M[0] - Ftmp4*y*M[1] + Ftmp416*M[95] + Ftmp418*Ftmp526*M[5] - Ftmp419*M[11] - Ftmp425*z + Ftmp426*Ftmp526 + Ftmp427*Ftmp429 + Ftmp428*M[15] + Ftmp431*Ftmp49*M[32] - Ftmp438*Ftmp531 + Ftmp440*Ftmp534 + Ftmp447*M[36] + Ftmp449*z + Ftmp45*Ftmp76*x - Ftmp455*Ftmp538 + Ftmp456*Ftmp533 + Ftmp462*Ftmp539 - Ftmp467*Ftmp541 - Ftmp469*M[85] + Ftmp47*Ftmp528 - Ftmp471*z + Ftmp473*Ftmp532 - Ftmp488*M[40] - Ftmp489*M[42] + Ftmp49*Ftmp528*M[28] - Ftmp490*M[51] + Ftmp495*M[72] + Ftmp50*x*M[14] + Ftmp50*y*M[17] - Ftmp51*z + Ftmp511*M[89] + Ftmp513*M[91] + Ftmp514*M[98] + Ftmp515*M[102] + Ftmp516*M[113] + Ftmp517*M[115] + Ftmp525*M[100] + Ftmp526*Ftmp56 + Ftmp526*(Ftmp48 + 75.0)*M[18] - Ftmp527*z*M[8] - Ftmp527*M[18] - Ftmp529*Ftmp530*M[28] - Ftmp529*Ftmp96 - Ftmp531*Ftmp81 + Ftmp532*(Ftmp181 + Ftmp264 + Ftmp386)*M[99] + Ftmp532*(Ftmp373 + Ftmp461 + Ftmp518)*M[90] + Ftmp532*(Ftmp374 + Ftmp512 + Ftmp519)*M[92] + Ftmp532*(3648645.0*Ftmp123 + Ftmp223 - 1964655.0*Ftmp37 + 297675.0)*M[118] + Ftmp532*(Ftmp348 + Ftmp405 + Ftmp520 + Ftmp540)*M[103] + Ftmp532*(Ftmp355 + Ftmp401 + Ftmp521 + Ftmp540)*M[116] + Ftmp532*(Ftmp380 + Ftmp388 + Ftmp398 + 14175.0)*M[114] + Ftmp532*(Ftmp187*Ftmp251 + Ftmp412 + Ftmp549 + Ftmp550)*M[101] + Ftmp533*(Ftmp269 + Ftmp439)*M[62] + Ftmp533*(Ftmp274 + Ftmp493)*M[64] + Ftmp534*Ftmp63*(Ftmp104 + 1575.0) + Ftmp535*Ftmp540*M[75] + Ftmp535*(Ftmp548 + Ftmp550)*M[73] + Ftmp536*z*M[33] + Ftmp536*M[54] - Ftmp537*z*M[53] - Ftmp537*M[81] - Ftmp538*(Ftmp138 - 13230.0*Ftmp37 + 3675.0)*M[54] - Ftmp538*(Ftmp241 + Ftmp491 + Ftmp530)*M[43] - Ftmp538*(Ftmp246 + Ftmp289 + Ftmp530)*M[52] - Ftmp538*(Ftmp252 + Ftmp65 + Ftmp95)*M[41] + 1.0*Ftmp539*Ftmp540*M[81] + Ftmp539*Ftmp549*M[68] + Ftmp539*(Ftmp108 + Ftmp264 + Ftmp268)*M[66] + Ftmp539*(Ftmp278 + Ftmp295 + 14175.0)*M[79] - Ftmp542*(Ftmp301 + Ftmp311 + Ftmp498)*M[96] - Ftmp542*(Ftmp308 + Ftmp497 + 93555.0)*M[94] - Ftmp543*(Ftmp301 + Ftmp304 + Ftmp306 + 155925.0)*M[107] - Ftmp544*z*M[82] - Ftmp544*M[118] + Ftmp545*z*M[22] + Ftmp545*M[41] + Ftmp546*z*M[24] + Ftmp546*M[43] + Ftmp547*z*M[31] + Ftmp547*M[52] - Ftmp551*z*M[58] - Ftmp551*M[90] - Ftmp552*z*M[65] - Ftmp552*M[99] - Ftmp553*z*M[60] - Ftmp553*M[92] - Ftmp554*z*M[78] - Ftmp554*M[114] - Ftmp555*z*M[69] - Ftmp555*M[103] - Ftmp556*z*M[80] - Ftmp556*M[116] - Ftmp557*z*M[67] - Ftmp557*M[101] + Ftmp58*M[9] - Ftmp64*Ftmp78 - Ftmp67*Ftmp78 - Ftmp72*Ftmp85 - Ftmp79*Ftmp89 - Ftmp9*M[5] + 1.0*M[2]); - -} - -void P2M(double x, double y, double z, double q, double * M, int order) { -switch (order) { - case 2: - P2M_2(x, y, z, q, M); - break; - case 3: - P2M_3(x, y, z, q, M); - break; - case 4: - P2M_4(x, y, z, q, M); - break; - case 5: - P2M_5(x, y, z, q, M); - break; - case 6: - P2M_6(x, y, z, q, M); - break; - case 7: - P2M_7(x, y, z, q, M); - break; - } -} -void M2M(double x, double y, double z, double * M, double * Ms, int order) { -switch (order) { - case 2: - M2M_2(x, y, z, M, Ms); - break; - case 3: - M2M_3(x, y, z, M, Ms); - break; - case 4: - M2M_4(x, y, z, M, Ms); - break; - case 5: - M2M_5(x, y, z, M, Ms); - break; - case 6: - M2M_6(x, y, z, M, Ms); - break; - case 7: - M2M_7(x, y, z, M, Ms); - break; - } -} -void M2L(double x, double y, double z, double * M, double * L, int order) { -switch (order) { - case 2: - M2L_2(x, y, z, M, L); - break; - case 3: - M2L_3(x, y, z, M, L); - break; - case 4: - M2L_4(x, y, z, M, L); - break; - case 5: - M2L_5(x, y, z, M, L); - break; - case 6: - M2L_6(x, y, z, M, L); - break; - case 7: - M2L_7(x, y, z, M, L); - break; - } -} -void L2L(double x, double y, double z, double * L, double * Ls, int order) { -switch (order) { - case 2: - L2L_2(x, y, z, L, Ls); - break; - case 3: - L2L_3(x, y, z, L, Ls); - break; - case 4: - L2L_4(x, y, z, L, Ls); - break; - case 5: - L2L_5(x, y, z, L, Ls); - break; - case 6: - L2L_6(x, y, z, L, Ls); - break; - case 7: - L2L_7(x, y, z, L, Ls); - break; - } -} -void L2P(double x, double y, double z, double * L, double * F, int order) { -switch (order) { - case 2: - L2P_2(x, y, z, L, F); - break; - case 3: - L2P_3(x, y, z, L, F); - break; - case 4: - L2P_4(x, y, z, L, F); - break; - case 5: - L2P_5(x, y, z, L, F); - break; - case 6: - L2P_6(x, y, z, L, F); - break; - case 7: - L2P_7(x, y, z, L, F); - break; - } -} -void M2P(double x, double y, double z, double * M, double * F, int order) { -switch (order) { - case 2: - M2P_2(x, y, z, M, F); - break; - case 3: - M2P_3(x, y, z, M, F); - break; - case 4: - M2P_4(x, y, z, M, F); - break; - case 5: - M2P_5(x, y, z, M, F); - break; - case 6: - M2P_6(x, y, z, M, F); - break; - case 7: - M2P_7(x, y, z, M, F); - break; - } -} diff --git a/fidimag/atomistic/fmmlib/operators.h b/fidimag/atomistic/fmmlib/operators.h deleted file mode 100644 index f43e2f69..00000000 --- a/fidimag/atomistic/fmmlib/operators.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once -#define FMMGEN_MINORDER 2 -#define FMMGEN_MAXORDER 8 -#define FMMGEN_SOURCEORDER 1 -#define FMMGEN_SOURCESIZE 3 -#define FMMGEN_OUTPUTSIZE 3 -void P2M_2(double x, double y, double z, double q, double * M); -void M2M_2(double x, double y, double z, double * M, double * Ms); -void M2L_2(double x, double y, double z, double * M, double * L); -void L2L_2(double x, double y, double z, double * L, double * Ls); -void L2P_2(double x, double y, double z, double * L, double * F); -void M2P_2(double x, double y, double z, double * M, double * F); -void P2P(double x, double y, double z, double * S, double * F); -void P2M_3(double x, double y, double z, double q, double * M); -void M2M_3(double x, double y, double z, double * M, double * Ms); -void M2L_3(double x, double y, double z, double * M, double * L); -void L2L_3(double x, double y, double z, double * L, double * Ls); -void L2P_3(double x, double y, double z, double * L, double * F); -void M2P_3(double x, double y, double z, double * M, double * F); -void P2M_4(double x, double y, double z, double q, double * M); -void M2M_4(double x, double y, double z, double * M, double * Ms); -void M2L_4(double x, double y, double z, double * M, double * L); -void L2L_4(double x, double y, double z, double * L, double * Ls); -void L2P_4(double x, double y, double z, double * L, double * F); -void M2P_4(double x, double y, double z, double * M, double * F); -void P2M_5(double x, double y, double z, double q, double * M); -void M2M_5(double x, double y, double z, double * M, double * Ms); -void M2L_5(double x, double y, double z, double * M, double * L); -void L2L_5(double x, double y, double z, double * L, double * Ls); -void L2P_5(double x, double y, double z, double * L, double * F); -void M2P_5(double x, double y, double z, double * M, double * F); -void P2M_6(double x, double y, double z, double q, double * M); -void M2M_6(double x, double y, double z, double * M, double * Ms); -void M2L_6(double x, double y, double z, double * M, double * L); -void L2L_6(double x, double y, double z, double * L, double * Ls); -void L2P_6(double x, double y, double z, double * L, double * F); -void M2P_6(double x, double y, double z, double * M, double * F); -void P2M_7(double x, double y, double z, double q, double * M); -void M2M_7(double x, double y, double z, double * M, double * Ms); -void M2L_7(double x, double y, double z, double * M, double * L); -void L2L_7(double x, double y, double z, double * L, double * Ls); -void L2P_7(double x, double y, double z, double * L, double * F); -void M2P_7(double x, double y, double z, double * M, double * F); -void P2M(double x, double y, double z, double q, double * M, int order); -void M2M(double x, double y, double z, double * M, double * Ms, int order); -void M2L(double x, double y, double z, double * M, double * L, int order); -void L2L(double x, double y, double z, double * L, double * Ls, int order); -void L2P(double x, double y, double z, double * L, double * F, int order); -void M2P(double x, double y, double z, double * M, double * F, int order); diff --git a/fidimag/atomistic/fmmlib/tree.cpp b/fidimag/atomistic/fmmlib/tree.cpp deleted file mode 100644 index c2dd7b08..00000000 --- a/fidimag/atomistic/fmmlib/tree.cpp +++ /dev/null @@ -1,297 +0,0 @@ -#include "tree.hpp" -#include -#include -#include -#include -#include "utils.hpp" -#include "calculate.hpp" -#include "operators.h" - -Cell::Cell(double x, double y, double z, double r, size_t parent, size_t order, size_t level, size_t ncrit) { - this->x = x; - this->y = y; - this->z = z; - this->r = r; - this->rmax = sqrt(3*r*r); - this->parent = parent; - this->level = level; - this->child.resize(8, 0); - this->leaf.resize(ncrit, 0); - this->nleaf = 0; - this->nchild = 0; -} - -Cell::~Cell() { - #ifdef FMMLIBDEBUG - std::cout << "Destructor of Cell called" << std::endl; - #endif -} - -Cell::Cell(const Cell& other) { - this->x = other.x; - this->y = other.y; - this->z = other.z; - this->r = other.r; - this->rmax = other.rmax; - this->parent = other.parent; - this->level = other.level; - this->child = other.child; - std::copy(other.leaf.begin(), other.leaf.end(), std::back_inserter(this->leaf)); - std::copy(other.child.begin(), other.child.end(), std::back_inserter(this->child)); - this->nleaf = other.nleaf; - this->nchild = other.nchild; -} - -Cell::Cell(Cell&& other) { - this->x = other.x; - this->y = other.y; - this->z = other.z; - this->r = other.r; - this->rmax = other.rmax; - this->parent = other.parent; - this->level = other.level; - this->child = other.child; - this->M = other.M; - this->L = other.L; - this->leaf = other.leaf; - this->nleaf = other.nleaf; - this->nchild = other.nchild; - other.leaf.clear(); - other.child.clear(); -} - -void printTreeParticles(std::vector &cells, size_t cell, size_t depth) { - for(size_t i = 0; i < depth; i++) { - std::cout << " "; - } - std::cout << cell << " (" << cells[cell].x << ","<< cells[cell].y << "," << cells[cell].z << ") : ("; - size_t nchild = 0; - for(size_t octant = 0; octant < 8; octant++) { - if (cells[cell].nchild & (1 << octant)) { - nchild += 1; - } - } - - if (nchild == 0) { - for(size_t i = 0; i < cells[cell].nleaf; i++) { - std::cout << cells[cell].leaf[i]; - if (i != (cells[cell].nleaf - 1)) { - std::cout << ","; - } - } - } - std::cout << ")" << std::endl; - for(size_t octant = 0; octant < 8; octant++) { - if (cells[cell].nchild & (1 << octant)) { - printTreeParticles(cells, cells[cell].child[octant], depth + 1); - } - } -} - -void add_child(std::vector &cells, int octant, size_t p, size_t ncrit, size_t order) { - int c = cells.size(); - // Do not change octant to size_t - otherwise the calculation - // of x, y, z position through bit masking is *not* correct. - double r = cells[p].r / 2.0; - double x = cells[p].x + r * ((octant & 1) * 2 - 1); - double y = cells[p].y + r * ((octant & 2) - 1); - double z = cells[p].z + r * ((octant & 4) / 2 - 1); - size_t parent = p; - size_t level = cells[p].level + 1; - cells.push_back(Cell(x, y, z, r, parent, order, level, ncrit)); - cells[p].child[octant] = c; - cells[c].nleaf = 0; - cells[p].nchild = (cells[p].nchild | (1 << octant)); -} - -void split_cell(std::vector &cells, std::vector &particles, size_t p, size_t ncrit, size_t order) { - size_t l, c; - // Do not change octant to size_t - otherwise the calculation - // of x, y, z position in add_child is not correct! - int octant; - for(size_t i = 0; i < cells[p].leaf.size(); i++) { - l = cells[p].leaf[i]; - octant = (particles[l].r[0] > cells[p].x) + - ((particles[l].r[1] > cells[p].y) << 1) + - ((particles[l].r[2] > cells[p].z) << 2); - - if (!((cells[p].nchild) & (1 << octant))) { - add_child(cells, octant, p, ncrit, order); - } - c = cells[p].child[octant]; - cells[c].leaf[cells[c].nleaf] = l; - cells[c].nleaf += 1; - if (cells[c].nleaf >= ncrit) { - split_cell(cells, particles, c, ncrit, order); - } - } -} - -Tree build_tree(double *pos, double *S, size_t nparticles, size_t ncrit, size_t order, double theta) { - // Create particles list for convenience - - std::vector particles(nparticles); - for(size_t i = 0; i < nparticles; i++) { - particles[i].r = &pos[3*i]; - particles[i].S = &S[FMMGEN_SOURCESIZE*i]; - } - - // Now create cells list - std::vector cells; - size_t curr; - int octant; - - // Compute average position - double xavg = 0; - double yavg = 0; - double zavg = 0; - for(size_t i = 0; i < particles.size(); i++) { - xavg += particles[i].r[0]; - yavg += particles[i].r[1]; - zavg += particles[i].r[2]; - } - - xavg /= particles.size(); - yavg /= particles.size(); - zavg /= particles.size(); - #ifdef FMMLIBDEBUG - std:: cout << "Building Tree: Avg pos = (" << xavg << ", " << yavg << ", " << zavg << ")" << std::endl; - #endif - double xmax = 0; - double ymax = 0; - double zmax = 0; - - for(size_t i = 0; i < particles.size(); i++) { - double x = std::abs(particles[i].r[0] - xavg); - double y = std::abs(particles[i].r[1] - yavg); - double z = std::abs(particles[i].r[2] - zavg); - - if (x > xmax) - xmax = x; - if (y > ymax) - ymax = y; - if (z > zmax) - zmax = z; - } - - // if xmax > ymax - // then if xmax > zmax, return xmax - // else zmax - // else if ymax > zmax, return ymax - // else return zmax - // * 1.001 so that cell slightly bigger than furthest away particle. - // std::cout << "xmax = " << xmax << ", ymax = " << ymax << ", zmax = " << zmax << ", rmax = " << r << std::endl; - - double r = (xmax > ymax ? (xmax > zmax? xmax: zmax): (ymax > zmax ? ymax: zmax)) * 1.001; - auto root = Cell(xavg, yavg, zavg, r, 0, order, 0, ncrit); - - cells.push_back(root); - for(size_t i = 0; i < particles.size(); i++) { - curr = 0; - while (cells[curr].nleaf >= ncrit) { - cells[curr].nleaf += 1; - octant = (particles[i].r[0] > cells[curr].x) + ((particles[i].r[1] > cells[curr].y) << 1) + ((particles[i].r[2] > cells[curr].z) << 2); - if (!(cells[curr].nchild & (1 << octant))) { - add_child(cells, octant, curr, ncrit, order); - } - curr = cells[curr].child[octant]; - } - cells[curr].leaf[cells[curr].nleaf] = i; - cells[curr].nleaf += 1; - if (cells[curr].nleaf >= ncrit) { - split_cell(cells, particles, curr, ncrit, order); - } - } - - - // Now create tree object, and set properties. - // Choosing a very simple data type here. - Tree tree; - tree.theta = theta; - tree.ncrit = ncrit; - tree.order = order; - tree.cells = cells; - tree.particles = particles; - - // Create interaction lists, and sort M2L list for cache efficiency. - interact_dehnen_lazy(0, 0, tree.cells, particles, theta, order, ncrit, tree.M2L_list, tree.P2P_list); - std::sort(tree.M2L_list.begin(), tree.M2L_list.end(), - [](std::pair &left, std::pair &right) { - return left.first < right.first; - } - ); - - - // Create memory into which each cell can point for the multipole arrays. - tree.M.resize(tree.cells.size() * Msize(order, FMMGEN_SOURCEORDER), 0.0); - tree.L.resize(tree.cells.size() * Lsize(order, FMMGEN_SOURCEORDER), 0.0); - for(size_t i = 0; i < tree.cells.size(); i++) { - tree.cells[i].M = &tree.M[i*Msize(order, FMMGEN_SOURCEORDER)]; - tree.cells[i].L = &tree.L[i*Lsize(order, FMMGEN_SOURCEORDER)]; - } - return tree; -} - -void Tree::clear_M() { - std::fill(M.begin(), M.end(), 0); -} - -void Tree::clear_L() { - std::fill(L.begin(), L.end(), 0); -} - -void Tree::compute_field_fmm(double *F) { - for(size_t i = 0; i < FMMGEN_OUTPUTSIZE*particles.size(); i++) { - F[i] = 0.0; - } - clear_M(); - clear_L(); - #pragma omp parallel - { - evaluate_P2M(particles, cells, 0, ncrit, order); - } - - evaluate_M2M(particles, cells, order); - - #ifdef FMMLIBDEBUG - M_sanity_check(cells); - #endif - - #pragma omp parallel - { - evaluate_M2L_lazy(cells, M2L_list, order); - evaluate_P2P_lazy(cells, particles,P2P_list, F); - } - - evaluate_L2L(cells, order); - #pragma omp parallel - { - evaluate_L2P(particles, cells, F, ncrit, order); - } -} - -void Tree::compute_field_bh(double *F) { - for(size_t i = 0; i < FMMGEN_OUTPUTSIZE*particles.size(); i++) { - F[i] = 0.0; - } - clear_M(); - #pragma omp parallel - { - evaluate_P2M(particles, cells, 0, ncrit, order); - } - - evaluate_M2M(particles, cells, order); - - #ifdef FMMLIBDEBUG - M_sanity_check(cells); - #endif - - #pragma omp parallel for schedule(runtime) - for (unsigned int i = 0; i < particles.size(); i++) { - evaluate_M2P_and_P2P(particles, 0, i, cells, F, ncrit, theta, order); - } -} - -void Tree::compute_field_exact(double *F) { - evaluate_direct(particles, F, particles.size()); -} diff --git a/fidimag/atomistic/fmmlib/tree.hpp b/fidimag/atomistic/fmmlib/tree.hpp deleted file mode 100644 index a0a5fa4f..00000000 --- a/fidimag/atomistic/fmmlib/tree.hpp +++ /dev/null @@ -1,103 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include "utils.hpp" - - -/*! \brief Particle class used to store position and source strength. */ -class Particle { -public: - double *r; // Address of 3-vector position of the particle - double *S; // Address of q -}; - -class Cell { -public: - size_t nleaf; /*!< \brief Number of particles held in cell. - This counter is incremented every time a particle is - added to it in the - \ref build_tree function. This continues to be the case - even when the cell has been split, as we use it to keep - track of whether a cell has been split or not to - save on memory, rather than having another variable. */ - size_t nchild; /*!< \brief Number of child cells occupied. - - Binary counter showing whether a given octant is - occupied by a child cell.
I.e. if 0001001, then there - are two child cells held by this cell. */ - size_t level; /*!< \brief Level of the tree that the cell sits at. - - This is 0 for the root cell, 1 for the 1st level, etc. - */ - std::vector child; /*!< \brief Indices of child octants. */ - //std::vector M; - //std::vector L; - double *M; - double *L; - std::vector leaf; /*!< \brief Indices of particles in the cell. */ - double x; /*!< \brief x coordinates of cell centre. */ - double y; /*!< \brief y coordinates of cell centre. */ - double z; /*!< \brief z coordinates of cell centre. */ - double r; /*!< \brief Radius of cell - Must be sufficiently large for the root cell to bound the - particles. - - Note: I may change this in future so it is calculated - in build_tree rather than user specified. - */ - double rmax; - size_t parent; /*!< \brief Index of parent cell of this cell. */ - Cell(double x, double y, double z, double r, size_t parent, size_t order, size_t level, size_t ncrit); - ~Cell(); - Cell(const Cell& other); - Cell(Cell&& other); - void clear(); - void resize(size_t order); - /*! Copy operator for the Cell class */ - Cell& operator=(const Cell& other) { - this->nleaf = other.nleaf; - this->nchild = other.nchild; - this->level = other.level; - this->child = other.child; - this->M = other.M; - this->L = other.L; - - this->leaf = other.leaf; - this->x = other.x; - this->y = other.y; - this->z = other.z; - this->r = other.r; - this->parent = other.parent; - return *this; - } -}; - - -class Tree { -public: - size_t order; - size_t ncrit; - double theta; - std::vector particles; - std::vector cells; - std::vector M; - std::vector L; - std::vector> M2L_list; - std::vector> P2P_list; - void compute_field_fmm(double *F); - void compute_field_bh(double *F); - void compute_field_exact(double *F); -private: - void clear_M(); - void clear_L(); -}; - -void printTreeParticles(std::vector &cells, size_t cell, size_t depth); - -void add_child(std::vector &cells, int octant, size_t p, size_t ncrit, size_t order); - -void split_cell(std::vector &cells, std::vector &particles, size_t p, size_t ncrit, size_t order); - -Tree build_tree(double *pos, double *mu, size_t nparticles, size_t ncrit, size_t order, double theta); diff --git a/fidimag/atomistic/fmmlib/utils.cpp b/fidimag/atomistic/fmmlib/utils.cpp deleted file mode 100644 index e667d801..00000000 --- a/fidimag/atomistic/fmmlib/utils.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "utils.hpp" - -size_t TriangleNumbers(size_t n) { - return (n * (n + 1)) / 2; -} - -size_t Nterms(size_t p) { - if (p < 0) { - return 0; - } - size_t result = 0; - for(size_t i = 0; i < p + 2; i++) { - result += TriangleNumbers(i); - } - return result; -} - -size_t Msize(size_t order, size_t source_order) { - if (source_order == 0) { - return Nterms(order); - } - return Nterms(order) - Nterms(source_order-1); -} - -size_t Lsize(size_t order, size_t source_order) { - return Nterms(order - source_order); -} \ No newline at end of file diff --git a/fidimag/atomistic/fmmlib/utils.hpp b/fidimag/atomistic/fmmlib/utils.hpp deleted file mode 100644 index 648e3d15..00000000 --- a/fidimag/atomistic/fmmlib/utils.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once -#include -#include - -size_t TriangleNumbers(size_t n); -size_t Nterms(size_t p); -size_t Msize(size_t order, size_t source_order); -size_t Lsize(size_t order, size_t source_order); - -class Timer { -private: - // Type aliases to make accessing nested type easier - using clock_t = std::chrono::high_resolution_clock; - using second_t = std::chrono::duration>; - std::chrono::time_point t; - -public: - Timer() : t(clock_t::now()) {} - void reset() { t = clock_t::now(); } - double elapsed() const { - return std::chrono::duration_cast(clock_t::now() - t).count(); - } -}; \ No newline at end of file diff --git a/fidimag/atomistic/lib/fmmlib/calculate.cpp b/fidimag/atomistic/lib/fmmlib/calculate.cpp deleted file mode 100644 index 7de9a2bc..00000000 --- a/fidimag/atomistic/lib/fmmlib/calculate.cpp +++ /dev/null @@ -1,112 +0,0 @@ -//############################################ -//# -//# Functions for running the Barnes-Hut -//# method for gravitational source particles. -//# -//# (C) Ryan Pepper, 2018 -//# University of Southampton, UK -//# -//# -//########################################### - -#include -#include -#include "calculate.hpp" - - -void evaluate_P2M(std::vector &particles, std::vector &cells, unsigned int cell, unsigned int ncrit, unsigned int exporder) { - /* - evaluate_P2M(particles, cells, cell, ncrit) - - This function evaluates the particle to multipole - kernel part of the multipolar Barnes-Hut method, - by iterating down the tree recursively, with the P2M - method called if the curent cell is a leaf cell - (i.e. it has no child cells) and the evaluate - function agian otherwise - */ - if (cells[cell].nleaf > ncrit) { - for (unsigned int octant = 0; octant < 8; octant++) { - if (cells[cell].nchild & (1 << octant)) { - evaluate_P2M(particles, cells, cells[cell].child[octant], ncrit, exporder); - } - } - } - else { - P2M(particles, cell, cells, ncrit, exporder); - } -} - - -void evaluate_M2M(std::vector &particles, std::vector &cells, unsigned int exporder) { - /* - evaluate_M2M(particles, cells) - - This function evaluates the multipole to - multipole kernel. It does this by working up the - tree from the leaf nodes, which is possible - by iterating backwards through the nodes because - of the way the tree is constructed. - */ - for(int i = cells.size() - 1; i > 0; i--) { - M2M(cells[i].parent, i, cells, exporder); - } -} - -void evaluate_M2P_and_P2P(std::vector &particles, unsigned int p, unsigned int i, std::vector &cells, std::vector &Bx, std::vector &By, std::vector &Bz, unsigned int n_crit, double theta, unsigned int exporder, std::vector> &mempool) { - double dx, dy, dz, r; - int c, j; - if (cells[p].nleaf >= n_crit) { - for (unsigned int octant = 0; octant < 8; octant++) { - if (cells[p].nchild & (1 << octant)) { - c = cells[p].child[octant]; - dx = particles[i].x - cells[c].x; - dy = particles[i].y - cells[c].y; - dz = particles[i].z - cells[c].z; - r = sqrt(dx*dx + dy*dy + dz*dz); - if (cells[c].r > theta * r) { - evaluate_M2P_and_P2P(particles, c, i, cells, Bx, By, Bz, n_crit, theta, exporder, mempool); - } - else { - int thread = omp_get_thread_num(); - M2P(c, i, cells, particles, Bx, By, Bz, exporder, mempool[thread]); - } - } - } - } - else { - // loop in leaf cell's particles - for(unsigned int l = 0; l < (cells[p].nleaf); l++) { - j = cells[p].leaf[l]; - P2P(i, j, particles, Bx, By, Bz); - } - } -} - -void evaluate_approx(std::vector &particles, std::vector &cells, std::vector &Bx, std::vector &By, std::vector &Bz, unsigned int n_crit, double theta, unsigned int exp_order) { - int nthreads; - #pragma omp parallel - { - #pragma omp single - nthreads = omp_get_num_threads(); - } - std::vector> mempool; - for(int i = 0; i < nthreads; i++) { - mempool.push_back(std::vector(Nterms(exp_order + 2))); - } - #pragma omp parallel for schedule(guided) - for(unsigned int i = 0; i < particles.size(); i++) { - evaluate_M2P_and_P2P(particles, 0, i, cells, Bx, By, Bz, n_crit, theta, exp_order, mempool); - } -} - -void evaluate_direct(std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz) { - #pragma omp parallel for schedule(dynamic) - for (unsigned int i = 0; i < particles.size(); i++) { - for (unsigned int j = 0; j < particles.size(); j++) { - P2P(i, j, particles, Bx, By, Bz); - } - } -} - - diff --git a/fidimag/atomistic/lib/fmmlib/calculate.hpp b/fidimag/atomistic/lib/fmmlib/calculate.hpp deleted file mode 100644 index 449da38c..00000000 --- a/fidimag/atomistic/lib/fmmlib/calculate.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//############################################ -//# -//# Functions for running the Barnes-Hut -//# method for gravitational source particles. -//# -//# (C) Ryan Pepper, 2018 -//# University of Southampton, UK -//# -//# -//########################################### - -#include -#include "expansions.hpp" -#include "tree.hpp" -#include "utils.hpp" -#include - -#ifndef FMMLIB_CALCULATE_HPP -#define FMMLIB_CALCULATE_HPP - - -void evaluate_P2M(std::vector &particles, std::vector &cells, unsigned int cell, unsigned int ncrit, unsigned int exporder); - -void evaluate_M2M(std::vector &particles, std::vector &cells, unsigned int exporder); - -void evaluate_M2P_and_P2P(std::vector &particles, unsigned int p, - unsigned int i, std::vector &cells, std::vector &Bx, - std::vector &By, std::vector &Bz, unsigned int n_crit, - double theta, unsigned int exporder, std::vector> &mempool); - -void evaluate_approx(std::vector &particles, std::vector &cells, std::vector &Bx, - std::vector &By, std::vector &Bz, unsigned int n_crit, double theta, - unsigned int exp_order); - -void evaluate_direct(std::vector &particles, std::vector &Bx, std::vector &By, - std::vector &Bz); - - - -#endif diff --git a/fidimag/atomistic/lib/fmmlib/expansions.hpp b/fidimag/atomistic/lib/fmmlib/expansions.hpp deleted file mode 100644 index 723bf3ec..00000000 --- a/fidimag/atomistic/lib/fmmlib/expansions.hpp +++ /dev/null @@ -1,3179 +0,0 @@ -//################################################ -//# -//# Auto-generated Cartesian Multipole Expansions -//# for Coulombic particles. -//# -//# Warning: this is autogenerated. Do not modify! -//# -//# (C) Ryan Pepper, 2018 -//# University of Southampton, UK -//# -//# -//############################################### -#ifndef FMMLIB_EXPANSIONS_HPP -#define FMMLIB_EXPANSIONS_HPP -#define FMMLIB_MAX_EXPANSION 7 -#include -#include -#include -#include -#include "tree.hpp" -void P2M_0(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit) { - unsigned int l; - - if (cells[p].nleaf >= ncrit) { - for(int c = 0; c < 8; c++) { - if (cells[p].nchild & (1 << c)) { - P2M_0(particles, cells[p].child[c], cells, ncrit); - } - } - } - else { - for(unsigned int i = 0; i < (cells[p].nleaf); i++) { - l = cells[p].leaf[i]; - cells[p].Mx[0] += particles[l].mux; - cells[p].My[0] += particles[l].muy; - cells[p].Mz[0] += particles[l].muz; - } - } -} - - -void M2M_0(unsigned int p, unsigned int c, std::vector &cells) { - cells[p].Mx[0] += cells[c].Mx[0]; - - - cells[p].My[0] += cells[c].My[0]; - - - cells[p].Mz[0] += cells[c].Mz[0]; - - -} -void M2P_0(unsigned int c, unsigned int i, std::vector &cells, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz, std::vector &derivative) { - double dx = -(cells[c].x - particles[i].x); - double dy = -(cells[c].y - particles[i].y); - double dz = -(cells[c].z - particles[i].z); - //std::vector derivative(10); - double dl = sqrt(dx*dx + dy*dy + dz*dz); - derivative[0] = 1.0/dl; - derivative[1] = -dx/pow(dl, 3); - derivative[2] = -dy/pow(dl, 3); - derivative[3] = -dz/pow(dl, 3); - derivative[4] = (-1 + 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 3); - derivative[5] = 3*dx*dy/pow(dl, 5); - derivative[6] = 3*dx*dz/pow(dl, 5); - derivative[7] = (-1 + 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 3); - derivative[8] = 3*dy*dz/pow(dl, 5); - derivative[9] = (-1 + 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 3); - Bx[i] += cells[c].Mx[0]*derivative[4] + cells[c].My[0]*derivative[5] + cells[c].Mz[0]*derivative[6]; - By[i] += cells[c].Mx[0]*derivative[5] + cells[c].My[0]*derivative[7] + cells[c].Mz[0]*derivative[8]; - Bz[i] += cells[c].Mx[0]*derivative[6] + cells[c].My[0]*derivative[8] + cells[c].Mz[0]*derivative[9]; -} -void P2M_1(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit) { - unsigned int l; - - if (cells[p].nleaf >= ncrit) { - for(int c = 0; c < 8; c++) { - if (cells[p].nchild & (1 << c)) { - P2M_1(particles, cells[p].child[c], cells, ncrit); - } - } - } - else { - for(unsigned int i = 0; i < (cells[p].nleaf); i++) { - l = cells[p].leaf[i]; -double dx = (particles[l].x - cells[p].x); -double dy = (particles[l].y - cells[p].y); -double dz = (particles[l].z - cells[p].z); - cells[p].Mx[0] += particles[l].mux; - cells[p].Mx[1] += -dx*particles[l].mux; - cells[p].Mx[2] += -dy*particles[l].mux; - cells[p].Mx[3] += -dz*particles[l].mux; - cells[p].My[0] += particles[l].muy; - cells[p].My[1] += -dx*particles[l].muy; - cells[p].My[2] += -dy*particles[l].muy; - cells[p].My[3] += -dz*particles[l].muy; - cells[p].Mz[0] += particles[l].muz; - cells[p].Mz[1] += -dx*particles[l].muz; - cells[p].Mz[2] += -dy*particles[l].muz; - cells[p].Mz[3] += -dz*particles[l].muz; - } - } -} - - -void M2M_1(unsigned int p, unsigned int c, std::vector &cells) { -double dx = (cells[p].x - cells[c].x); -double dy = (cells[p].y - cells[c].y); -double dz = (cells[p].z - cells[c].z); - cells[p].Mx[0] += cells[c].Mx[0]; - cells[p].Mx[1] += cells[c].Mx[0]*dx + cells[c].Mx[1]; - cells[p].Mx[2] += cells[c].Mx[0]*dy + cells[c].Mx[2]; - cells[p].Mx[3] += cells[c].Mx[0]*dz + cells[c].Mx[3]; - - - cells[p].My[0] += cells[c].My[0]; - cells[p].My[1] += cells[c].My[0]*dx + cells[c].My[1]; - cells[p].My[2] += cells[c].My[0]*dy + cells[c].My[2]; - cells[p].My[3] += cells[c].My[0]*dz + cells[c].My[3]; - - - cells[p].Mz[0] += cells[c].Mz[0]; - cells[p].Mz[1] += cells[c].Mz[0]*dx + cells[c].Mz[1]; - cells[p].Mz[2] += cells[c].Mz[0]*dy + cells[c].Mz[2]; - cells[p].Mz[3] += cells[c].Mz[0]*dz + cells[c].Mz[3]; - - -} -void M2P_1(unsigned int c, unsigned int i, std::vector &cells, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz, std::vector &derivative) { - double dx = -(cells[c].x - particles[i].x); - double dy = -(cells[c].y - particles[i].y); - double dz = -(cells[c].z - particles[i].z); - //std::vector derivative(20); - double dl = sqrt(dx*dx + dy*dy + dz*dz); - derivative[0] = 1.0/dl; - derivative[1] = -dx/pow(dl, 3); - derivative[2] = -dy/pow(dl, 3); - derivative[3] = -dz/pow(dl, 3); - derivative[4] = (-1 + 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 3); - derivative[5] = 3*dx*dy/pow(dl, 5); - derivative[6] = 3*dx*dz/pow(dl, 5); - derivative[7] = (-1 + 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 3); - derivative[8] = 3*dy*dz/pow(dl, 5); - derivative[9] = (-1 + 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 3); - derivative[10] = 3*dx*(3 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[11] = 3*dy*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[12] = 3*dz*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[13] = 3*dx*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[14] = -15*dx*dy*dz/pow(dl, 7); - derivative[15] = 3*dx*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[16] = 3*dy*(3 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[17] = 3*dz*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[18] = 3*dy*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[19] = 3*dz*(3 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - Bx[i] += cells[c].Mx[0]*derivative[4] + cells[c].Mx[1]*derivative[10] + cells[c].Mx[2]*derivative[11] + cells[c].Mx[3]*derivative[12] + cells[c].My[0]*derivative[5] + cells[c].My[1]*derivative[11] + cells[c].My[2]*derivative[13] + cells[c].My[3]*derivative[14] + cells[c].Mz[0]*derivative[6] + cells[c].Mz[1]*derivative[12] + cells[c].Mz[2]*derivative[14] + cells[c].Mz[3]*derivative[15]; - By[i] += cells[c].Mx[0]*derivative[5] + cells[c].Mx[1]*derivative[11] + cells[c].Mx[2]*derivative[13] + cells[c].Mx[3]*derivative[14] + cells[c].My[0]*derivative[7] + cells[c].My[1]*derivative[13] + cells[c].My[2]*derivative[16] + cells[c].My[3]*derivative[17] + cells[c].Mz[0]*derivative[8] + cells[c].Mz[1]*derivative[14] + cells[c].Mz[2]*derivative[17] + cells[c].Mz[3]*derivative[18]; - Bz[i] += cells[c].Mx[0]*derivative[6] + cells[c].Mx[1]*derivative[12] + cells[c].Mx[2]*derivative[14] + cells[c].Mx[3]*derivative[15] + cells[c].My[0]*derivative[8] + cells[c].My[1]*derivative[14] + cells[c].My[2]*derivative[17] + cells[c].My[3]*derivative[18] + cells[c].Mz[0]*derivative[9] + cells[c].Mz[1]*derivative[15] + cells[c].Mz[2]*derivative[18] + cells[c].Mz[3]*derivative[19]; -} -void P2M_2(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit) { - unsigned int l; - - if (cells[p].nleaf >= ncrit) { - for(int c = 0; c < 8; c++) { - if (cells[p].nchild & (1 << c)) { - P2M_2(particles, cells[p].child[c], cells, ncrit); - } - } - } - else { - for(unsigned int i = 0; i < (cells[p].nleaf); i++) { - l = cells[p].leaf[i]; -double dx = (particles[l].x - cells[p].x); -double dy = (particles[l].y - cells[p].y); -double dz = (particles[l].z - cells[p].z); - cells[p].Mx[0] += particles[l].mux; - cells[p].Mx[1] += -dx*particles[l].mux; - cells[p].Mx[2] += -dy*particles[l].mux; - cells[p].Mx[3] += -dz*particles[l].mux; - cells[p].Mx[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].mux; - cells[p].Mx[5] += dx*dy*particles[l].mux; - cells[p].Mx[6] += dx*dz*particles[l].mux; - cells[p].Mx[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[8] += dy*dz*particles[l].mux; - cells[p].Mx[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].mux; - cells[p].My[0] += particles[l].muy; - cells[p].My[1] += -dx*particles[l].muy; - cells[p].My[2] += -dy*particles[l].muy; - cells[p].My[3] += -dz*particles[l].muy; - cells[p].My[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muy; - cells[p].My[5] += dx*dy*particles[l].muy; - cells[p].My[6] += dx*dz*particles[l].muy; - cells[p].My[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muy; - cells[p].My[8] += dy*dz*particles[l].muy; - cells[p].My[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muy; - cells[p].Mz[0] += particles[l].muz; - cells[p].Mz[1] += -dx*particles[l].muz; - cells[p].Mz[2] += -dy*particles[l].muz; - cells[p].Mz[3] += -dz*particles[l].muz; - cells[p].Mz[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muz; - cells[p].Mz[5] += dx*dy*particles[l].muz; - cells[p].Mz[6] += dx*dz*particles[l].muz; - cells[p].Mz[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[8] += dy*dz*particles[l].muz; - cells[p].Mz[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muz; - } - } -} - - -void M2M_2(unsigned int p, unsigned int c, std::vector &cells) { -double dx = (cells[p].x - cells[c].x); -double dy = (cells[p].y - cells[c].y); -double dz = (cells[p].z - cells[c].z); - cells[p].Mx[0] += cells[c].Mx[0]; - cells[p].Mx[1] += cells[c].Mx[0]*dx + cells[c].Mx[1]; - cells[p].Mx[2] += cells[c].Mx[0]*dy + cells[c].Mx[2]; - cells[p].Mx[3] += cells[c].Mx[0]*dz + cells[c].Mx[3]; - cells[p].Mx[4] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2) + cells[c].Mx[1]*dx + cells[c].Mx[4]; - cells[p].Mx[5] += cells[c].Mx[0]*dx*dy + cells[c].Mx[1]*dy + cells[c].Mx[2]*dx + cells[c].Mx[5]; - cells[p].Mx[6] += cells[c].Mx[0]*dx*dz + cells[c].Mx[1]*dz + cells[c].Mx[3]*dx + cells[c].Mx[6]; - cells[p].Mx[7] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2) + cells[c].Mx[2]*dy + cells[c].Mx[7]; - cells[p].Mx[8] += cells[c].Mx[0]*dy*dz + cells[c].Mx[2]*dz + cells[c].Mx[3]*dy + cells[c].Mx[8]; - cells[p].Mx[9] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dz, 2) + cells[c].Mx[3]*dz + cells[c].Mx[9]; - - - cells[p].My[0] += cells[c].My[0]; - cells[p].My[1] += cells[c].My[0]*dx + cells[c].My[1]; - cells[p].My[2] += cells[c].My[0]*dy + cells[c].My[2]; - cells[p].My[3] += cells[c].My[0]*dz + cells[c].My[3]; - cells[p].My[4] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2) + cells[c].My[1]*dx + cells[c].My[4]; - cells[p].My[5] += cells[c].My[0]*dx*dy + cells[c].My[1]*dy + cells[c].My[2]*dx + cells[c].My[5]; - cells[p].My[6] += cells[c].My[0]*dx*dz + cells[c].My[1]*dz + cells[c].My[3]*dx + cells[c].My[6]; - cells[p].My[7] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2) + cells[c].My[2]*dy + cells[c].My[7]; - cells[p].My[8] += cells[c].My[0]*dy*dz + cells[c].My[2]*dz + cells[c].My[3]*dy + cells[c].My[8]; - cells[p].My[9] += (1.0L/2.0L)*cells[c].My[0]*pow(dz, 2) + cells[c].My[3]*dz + cells[c].My[9]; - - - cells[p].Mz[0] += cells[c].Mz[0]; - cells[p].Mz[1] += cells[c].Mz[0]*dx + cells[c].Mz[1]; - cells[p].Mz[2] += cells[c].Mz[0]*dy + cells[c].Mz[2]; - cells[p].Mz[3] += cells[c].Mz[0]*dz + cells[c].Mz[3]; - cells[p].Mz[4] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2) + cells[c].Mz[1]*dx + cells[c].Mz[4]; - cells[p].Mz[5] += cells[c].Mz[0]*dx*dy + cells[c].Mz[1]*dy + cells[c].Mz[2]*dx + cells[c].Mz[5]; - cells[p].Mz[6] += cells[c].Mz[0]*dx*dz + cells[c].Mz[1]*dz + cells[c].Mz[3]*dx + cells[c].Mz[6]; - cells[p].Mz[7] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2) + cells[c].Mz[2]*dy + cells[c].Mz[7]; - cells[p].Mz[8] += cells[c].Mz[0]*dy*dz + cells[c].Mz[2]*dz + cells[c].Mz[3]*dy + cells[c].Mz[8]; - cells[p].Mz[9] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dz, 2) + cells[c].Mz[3]*dz + cells[c].Mz[9]; - - -} -void M2P_2(unsigned int c, unsigned int i, std::vector &cells, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz, std::vector &derivative) { - double dx = -(cells[c].x - particles[i].x); - double dy = -(cells[c].y - particles[i].y); - double dz = -(cells[c].z - particles[i].z); - //std::vector derivative(35); - double dl = sqrt(dx*dx + dy*dy + dz*dz); - derivative[0] = 1.0/dl; - derivative[1] = -dx/pow(dl, 3); - derivative[2] = -dy/pow(dl, 3); - derivative[3] = -dz/pow(dl, 3); - derivative[4] = (-1 + 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 3); - derivative[5] = 3*dx*dy/pow(dl, 5); - derivative[6] = 3*dx*dz/pow(dl, 5); - derivative[7] = (-1 + 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 3); - derivative[8] = 3*dy*dz/pow(dl, 5); - derivative[9] = (-1 + 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 3); - derivative[10] = 3*dx*(3 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[11] = 3*dy*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[12] = 3*dz*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[13] = 3*dx*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[14] = -15*dx*dy*dz/pow(dl, 7); - derivative[15] = 3*dx*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[16] = 3*dy*(3 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[17] = 3*dz*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[18] = 3*dy*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[19] = 3*dz*(3 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[20] = 3*(3 - 30*pow(dx, 2)/pow(dl, 2) + 35*pow(dx, 4)/pow(dl, 4))/pow(dl, 5); - derivative[21] = 15*dx*dy*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[22] = 15*dx*dz*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[23] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dy, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 5); - derivative[24] = 15*dy*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[25] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[26] = 15*dx*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[27] = 15*dx*dz*(-1 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[28] = 15*dx*dy*(-1 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[29] = 15*dx*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[30] = 3*(3 - 30*pow(dy, 2)/pow(dl, 2) + 35*pow(dy, 4)/pow(dl, 4))/pow(dl, 5); - derivative[31] = 15*dy*dz*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[32] = 3*(1 - 5*pow(dy, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[33] = 15*dy*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[34] = 3*(3 - 30*pow(dz, 2)/pow(dl, 2) + 35*pow(dz, 4)/pow(dl, 4))/pow(dl, 5); - Bx[i] += cells[c].Mx[0]*derivative[4] + cells[c].Mx[1]*derivative[10] + cells[c].Mx[2]*derivative[11] + cells[c].Mx[3]*derivative[12] + cells[c].Mx[4]*derivative[20] + cells[c].Mx[5]*derivative[21] + cells[c].Mx[6]*derivative[22] + cells[c].Mx[7]*derivative[23] + cells[c].Mx[8]*derivative[24] + cells[c].Mx[9]*derivative[25] + cells[c].My[0]*derivative[5] + cells[c].My[1]*derivative[11] + cells[c].My[2]*derivative[13] + cells[c].My[3]*derivative[14] + cells[c].My[4]*derivative[21] + cells[c].My[5]*derivative[23] + cells[c].My[6]*derivative[24] + cells[c].My[7]*derivative[26] + cells[c].My[8]*derivative[27] + cells[c].My[9]*derivative[28] + cells[c].Mz[0]*derivative[6] + cells[c].Mz[1]*derivative[12] + cells[c].Mz[2]*derivative[14] + cells[c].Mz[3]*derivative[15] + cells[c].Mz[4]*derivative[22] + cells[c].Mz[5]*derivative[24] + cells[c].Mz[6]*derivative[25] + cells[c].Mz[7]*derivative[27] + cells[c].Mz[8]*derivative[28] + cells[c].Mz[9]*derivative[29]; - By[i] += cells[c].Mx[0]*derivative[5] + cells[c].Mx[1]*derivative[11] + cells[c].Mx[2]*derivative[13] + cells[c].Mx[3]*derivative[14] + cells[c].Mx[4]*derivative[21] + cells[c].Mx[5]*derivative[23] + cells[c].Mx[6]*derivative[24] + cells[c].Mx[7]*derivative[26] + cells[c].Mx[8]*derivative[27] + cells[c].Mx[9]*derivative[28] + cells[c].My[0]*derivative[7] + cells[c].My[1]*derivative[13] + cells[c].My[2]*derivative[16] + cells[c].My[3]*derivative[17] + cells[c].My[4]*derivative[23] + cells[c].My[5]*derivative[26] + cells[c].My[6]*derivative[27] + cells[c].My[7]*derivative[30] + cells[c].My[8]*derivative[31] + cells[c].My[9]*derivative[32] + cells[c].Mz[0]*derivative[8] + cells[c].Mz[1]*derivative[14] + cells[c].Mz[2]*derivative[17] + cells[c].Mz[3]*derivative[18] + cells[c].Mz[4]*derivative[24] + cells[c].Mz[5]*derivative[27] + cells[c].Mz[6]*derivative[28] + cells[c].Mz[7]*derivative[31] + cells[c].Mz[8]*derivative[32] + cells[c].Mz[9]*derivative[33]; - Bz[i] += cells[c].Mx[0]*derivative[6] + cells[c].Mx[1]*derivative[12] + cells[c].Mx[2]*derivative[14] + cells[c].Mx[3]*derivative[15] + cells[c].Mx[4]*derivative[22] + cells[c].Mx[5]*derivative[24] + cells[c].Mx[6]*derivative[25] + cells[c].Mx[7]*derivative[27] + cells[c].Mx[8]*derivative[28] + cells[c].Mx[9]*derivative[29] + cells[c].My[0]*derivative[8] + cells[c].My[1]*derivative[14] + cells[c].My[2]*derivative[17] + cells[c].My[3]*derivative[18] + cells[c].My[4]*derivative[24] + cells[c].My[5]*derivative[27] + cells[c].My[6]*derivative[28] + cells[c].My[7]*derivative[31] + cells[c].My[8]*derivative[32] + cells[c].My[9]*derivative[33] + cells[c].Mz[0]*derivative[9] + cells[c].Mz[1]*derivative[15] + cells[c].Mz[2]*derivative[18] + cells[c].Mz[3]*derivative[19] + cells[c].Mz[4]*derivative[25] + cells[c].Mz[5]*derivative[28] + cells[c].Mz[6]*derivative[29] + cells[c].Mz[7]*derivative[32] + cells[c].Mz[8]*derivative[33] + cells[c].Mz[9]*derivative[34]; -} -void P2M_3(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit) { - unsigned int l; - - if (cells[p].nleaf >= ncrit) { - for(int c = 0; c < 8; c++) { - if (cells[p].nchild & (1 << c)) { - P2M_3(particles, cells[p].child[c], cells, ncrit); - } - } - } - else { - for(unsigned int i = 0; i < (cells[p].nleaf); i++) { - l = cells[p].leaf[i]; -double dx = (particles[l].x - cells[p].x); -double dy = (particles[l].y - cells[p].y); -double dz = (particles[l].z - cells[p].z); - cells[p].Mx[0] += particles[l].mux; - cells[p].Mx[1] += -dx*particles[l].mux; - cells[p].Mx[2] += -dy*particles[l].mux; - cells[p].Mx[3] += -dz*particles[l].mux; - cells[p].Mx[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].mux; - cells[p].Mx[5] += dx*dy*particles[l].mux; - cells[p].Mx[6] += dx*dz*particles[l].mux; - cells[p].Mx[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[8] += dy*dz*particles[l].mux; - cells[p].Mx[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].mux; - cells[p].Mx[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].mux; - cells[p].Mx[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].mux; - cells[p].Mx[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].mux; - cells[p].Mx[14] += -dx*dy*dz*particles[l].mux; - cells[p].Mx[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].mux; - cells[p].Mx[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].mux; - cells[p].Mx[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].mux; - cells[p].My[0] += particles[l].muy; - cells[p].My[1] += -dx*particles[l].muy; - cells[p].My[2] += -dy*particles[l].muy; - cells[p].My[3] += -dz*particles[l].muy; - cells[p].My[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muy; - cells[p].My[5] += dx*dy*particles[l].muy; - cells[p].My[6] += dx*dz*particles[l].muy; - cells[p].My[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muy; - cells[p].My[8] += dy*dz*particles[l].muy; - cells[p].My[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muy; - cells[p].My[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muy; - cells[p].My[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muy; - cells[p].My[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muy; - cells[p].My[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muy; - cells[p].My[14] += -dx*dy*dz*particles[l].muy; - cells[p].My[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muy; - cells[p].My[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muy; - cells[p].My[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muy; - cells[p].Mz[0] += particles[l].muz; - cells[p].Mz[1] += -dx*particles[l].muz; - cells[p].Mz[2] += -dy*particles[l].muz; - cells[p].Mz[3] += -dz*particles[l].muz; - cells[p].Mz[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muz; - cells[p].Mz[5] += dx*dy*particles[l].muz; - cells[p].Mz[6] += dx*dz*particles[l].muz; - cells[p].Mz[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[8] += dy*dz*particles[l].muz; - cells[p].Mz[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muz; - cells[p].Mz[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muz; - cells[p].Mz[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muz; - cells[p].Mz[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muz; - cells[p].Mz[14] += -dx*dy*dz*particles[l].muz; - cells[p].Mz[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muz; - cells[p].Mz[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muz; - cells[p].Mz[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muz; - } - } -} - - -void M2M_3(unsigned int p, unsigned int c, std::vector &cells) { -double dx = (cells[p].x - cells[c].x); -double dy = (cells[p].y - cells[c].y); -double dz = (cells[p].z - cells[c].z); - cells[p].Mx[0] += cells[c].Mx[0]; - cells[p].Mx[1] += cells[c].Mx[0]*dx + cells[c].Mx[1]; - cells[p].Mx[2] += cells[c].Mx[0]*dy + cells[c].Mx[2]; - cells[p].Mx[3] += cells[c].Mx[0]*dz + cells[c].Mx[3]; - cells[p].Mx[4] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2) + cells[c].Mx[1]*dx + cells[c].Mx[4]; - cells[p].Mx[5] += cells[c].Mx[0]*dx*dy + cells[c].Mx[1]*dy + cells[c].Mx[2]*dx + cells[c].Mx[5]; - cells[p].Mx[6] += cells[c].Mx[0]*dx*dz + cells[c].Mx[1]*dz + cells[c].Mx[3]*dx + cells[c].Mx[6]; - cells[p].Mx[7] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2) + cells[c].Mx[2]*dy + cells[c].Mx[7]; - cells[p].Mx[8] += cells[c].Mx[0]*dy*dz + cells[c].Mx[2]*dz + cells[c].Mx[3]*dy + cells[c].Mx[8]; - cells[p].Mx[9] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dz, 2) + cells[c].Mx[3]*dz + cells[c].Mx[9]; - cells[p].Mx[10] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3) + cells[c].Mx[10] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2) + cells[c].Mx[4]*dx; - cells[p].Mx[11] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy + cells[c].Mx[11] + cells[c].Mx[1]*dx*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2) + cells[c].Mx[4]*dy + cells[c].Mx[5]*dx; - cells[p].Mx[12] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dz + cells[c].Mx[12] + cells[c].Mx[1]*dx*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2) + cells[c].Mx[4]*dz + cells[c].Mx[6]*dx; - cells[p].Mx[13] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2) + cells[c].Mx[13] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2) + cells[c].Mx[2]*dx*dy + cells[c].Mx[5]*dy + cells[c].Mx[7]*dx; - cells[p].Mx[14] += cells[c].Mx[0]*dx*dy*dz + cells[c].Mx[14] + cells[c].Mx[1]*dy*dz + cells[c].Mx[2]*dx*dz + cells[c].Mx[3]*dx*dy + cells[c].Mx[5]*dz + cells[c].Mx[6]*dy + cells[c].Mx[8]*dx; - cells[p].Mx[15] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dz, 2) + cells[c].Mx[15] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dz, 2) + cells[c].Mx[3]*dx*dz + cells[c].Mx[6]*dz + cells[c].Mx[9]*dx; - cells[p].Mx[16] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3) + cells[c].Mx[16] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2) + cells[c].Mx[7]*dy; - cells[p].Mx[17] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2)*dz + cells[c].Mx[17] + cells[c].Mx[2]*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2) + cells[c].Mx[7]*dz + cells[c].Mx[8]*dy; - cells[p].Mx[18] += (1.0L/2.0L)*cells[c].Mx[0]*dy*pow(dz, 2) + cells[c].Mx[18] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dz, 2) + cells[c].Mx[3]*dy*dz + cells[c].Mx[8]*dz + cells[c].Mx[9]*dy; - cells[p].Mx[19] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dz, 3) + cells[c].Mx[19] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dz, 2) + cells[c].Mx[9]*dz; - - - cells[p].My[0] += cells[c].My[0]; - cells[p].My[1] += cells[c].My[0]*dx + cells[c].My[1]; - cells[p].My[2] += cells[c].My[0]*dy + cells[c].My[2]; - cells[p].My[3] += cells[c].My[0]*dz + cells[c].My[3]; - cells[p].My[4] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2) + cells[c].My[1]*dx + cells[c].My[4]; - cells[p].My[5] += cells[c].My[0]*dx*dy + cells[c].My[1]*dy + cells[c].My[2]*dx + cells[c].My[5]; - cells[p].My[6] += cells[c].My[0]*dx*dz + cells[c].My[1]*dz + cells[c].My[3]*dx + cells[c].My[6]; - cells[p].My[7] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2) + cells[c].My[2]*dy + cells[c].My[7]; - cells[p].My[8] += cells[c].My[0]*dy*dz + cells[c].My[2]*dz + cells[c].My[3]*dy + cells[c].My[8]; - cells[p].My[9] += (1.0L/2.0L)*cells[c].My[0]*pow(dz, 2) + cells[c].My[3]*dz + cells[c].My[9]; - cells[p].My[10] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3) + cells[c].My[10] + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2) + cells[c].My[4]*dx; - cells[p].My[11] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy + cells[c].My[11] + cells[c].My[1]*dx*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2) + cells[c].My[4]*dy + cells[c].My[5]*dx; - cells[p].My[12] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dz + cells[c].My[12] + cells[c].My[1]*dx*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2) + cells[c].My[4]*dz + cells[c].My[6]*dx; - cells[p].My[13] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2) + cells[c].My[13] + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2) + cells[c].My[2]*dx*dy + cells[c].My[5]*dy + cells[c].My[7]*dx; - cells[p].My[14] += cells[c].My[0]*dx*dy*dz + cells[c].My[14] + cells[c].My[1]*dy*dz + cells[c].My[2]*dx*dz + cells[c].My[3]*dx*dy + cells[c].My[5]*dz + cells[c].My[6]*dy + cells[c].My[8]*dx; - cells[p].My[15] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dz, 2) + cells[c].My[15] + (1.0L/2.0L)*cells[c].My[1]*pow(dz, 2) + cells[c].My[3]*dx*dz + cells[c].My[6]*dz + cells[c].My[9]*dx; - cells[p].My[16] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3) + cells[c].My[16] + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2) + cells[c].My[7]*dy; - cells[p].My[17] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2)*dz + cells[c].My[17] + cells[c].My[2]*dy*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2) + cells[c].My[7]*dz + cells[c].My[8]*dy; - cells[p].My[18] += (1.0L/2.0L)*cells[c].My[0]*dy*pow(dz, 2) + cells[c].My[18] + (1.0L/2.0L)*cells[c].My[2]*pow(dz, 2) + cells[c].My[3]*dy*dz + cells[c].My[8]*dz + cells[c].My[9]*dy; - cells[p].My[19] += (1.0L/6.0L)*cells[c].My[0]*pow(dz, 3) + cells[c].My[19] + (1.0L/2.0L)*cells[c].My[3]*pow(dz, 2) + cells[c].My[9]*dz; - - - cells[p].Mz[0] += cells[c].Mz[0]; - cells[p].Mz[1] += cells[c].Mz[0]*dx + cells[c].Mz[1]; - cells[p].Mz[2] += cells[c].Mz[0]*dy + cells[c].Mz[2]; - cells[p].Mz[3] += cells[c].Mz[0]*dz + cells[c].Mz[3]; - cells[p].Mz[4] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2) + cells[c].Mz[1]*dx + cells[c].Mz[4]; - cells[p].Mz[5] += cells[c].Mz[0]*dx*dy + cells[c].Mz[1]*dy + cells[c].Mz[2]*dx + cells[c].Mz[5]; - cells[p].Mz[6] += cells[c].Mz[0]*dx*dz + cells[c].Mz[1]*dz + cells[c].Mz[3]*dx + cells[c].Mz[6]; - cells[p].Mz[7] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2) + cells[c].Mz[2]*dy + cells[c].Mz[7]; - cells[p].Mz[8] += cells[c].Mz[0]*dy*dz + cells[c].Mz[2]*dz + cells[c].Mz[3]*dy + cells[c].Mz[8]; - cells[p].Mz[9] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dz, 2) + cells[c].Mz[3]*dz + cells[c].Mz[9]; - cells[p].Mz[10] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3) + cells[c].Mz[10] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2) + cells[c].Mz[4]*dx; - cells[p].Mz[11] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy + cells[c].Mz[11] + cells[c].Mz[1]*dx*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2) + cells[c].Mz[4]*dy + cells[c].Mz[5]*dx; - cells[p].Mz[12] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dz + cells[c].Mz[12] + cells[c].Mz[1]*dx*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2) + cells[c].Mz[4]*dz + cells[c].Mz[6]*dx; - cells[p].Mz[13] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2) + cells[c].Mz[13] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2) + cells[c].Mz[2]*dx*dy + cells[c].Mz[5]*dy + cells[c].Mz[7]*dx; - cells[p].Mz[14] += cells[c].Mz[0]*dx*dy*dz + cells[c].Mz[14] + cells[c].Mz[1]*dy*dz + cells[c].Mz[2]*dx*dz + cells[c].Mz[3]*dx*dy + cells[c].Mz[5]*dz + cells[c].Mz[6]*dy + cells[c].Mz[8]*dx; - cells[p].Mz[15] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dz, 2) + cells[c].Mz[15] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dz, 2) + cells[c].Mz[3]*dx*dz + cells[c].Mz[6]*dz + cells[c].Mz[9]*dx; - cells[p].Mz[16] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3) + cells[c].Mz[16] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2) + cells[c].Mz[7]*dy; - cells[p].Mz[17] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2)*dz + cells[c].Mz[17] + cells[c].Mz[2]*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2) + cells[c].Mz[7]*dz + cells[c].Mz[8]*dy; - cells[p].Mz[18] += (1.0L/2.0L)*cells[c].Mz[0]*dy*pow(dz, 2) + cells[c].Mz[18] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dz, 2) + cells[c].Mz[3]*dy*dz + cells[c].Mz[8]*dz + cells[c].Mz[9]*dy; - cells[p].Mz[19] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dz, 3) + cells[c].Mz[19] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dz, 2) + cells[c].Mz[9]*dz; - - -} -void M2P_3(unsigned int c, unsigned int i, std::vector &cells, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz, std::vector &derivative) { - double dx = -(cells[c].x - particles[i].x); - double dy = -(cells[c].y - particles[i].y); - double dz = -(cells[c].z - particles[i].z); - //std::vector derivative(56); - double dl = sqrt(dx*dx + dy*dy + dz*dz); - derivative[0] = 1.0/dl; - derivative[1] = -dx/pow(dl, 3); - derivative[2] = -dy/pow(dl, 3); - derivative[3] = -dz/pow(dl, 3); - derivative[4] = (-1 + 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 3); - derivative[5] = 3*dx*dy/pow(dl, 5); - derivative[6] = 3*dx*dz/pow(dl, 5); - derivative[7] = (-1 + 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 3); - derivative[8] = 3*dy*dz/pow(dl, 5); - derivative[9] = (-1 + 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 3); - derivative[10] = 3*dx*(3 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[11] = 3*dy*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[12] = 3*dz*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[13] = 3*dx*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[14] = -15*dx*dy*dz/pow(dl, 7); - derivative[15] = 3*dx*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[16] = 3*dy*(3 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[17] = 3*dz*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[18] = 3*dy*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[19] = 3*dz*(3 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[20] = 3*(3 - 30*pow(dx, 2)/pow(dl, 2) + 35*pow(dx, 4)/pow(dl, 4))/pow(dl, 5); - derivative[21] = 15*dx*dy*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[22] = 15*dx*dz*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[23] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dy, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 5); - derivative[24] = 15*dy*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[25] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[26] = 15*dx*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[27] = 15*dx*dz*(-1 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[28] = 15*dx*dy*(-1 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[29] = 15*dx*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[30] = 3*(3 - 30*pow(dy, 2)/pow(dl, 2) + 35*pow(dy, 4)/pow(dl, 4))/pow(dl, 5); - derivative[31] = 15*dy*dz*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[32] = 3*(1 - 5*pow(dy, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[33] = 15*dy*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[34] = 3*(3 - 30*pow(dz, 2)/pow(dl, 2) + 35*pow(dz, 4)/pow(dl, 4))/pow(dl, 5); - derivative[35] = 15*dx*(-15 + 70*pow(dx, 2)/pow(dl, 2) - 63*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[36] = 45*dy*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[37] = 45*dz*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[38] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[39] = 315*dx*dy*dz*(1 - 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 9); - derivative[40] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[41] = 15*dy*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[42] = 15*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[43] = 15*dy*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[44] = 15*dz*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[45] = 45*dx*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[46] = 315*dx*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 9); - derivative[47] = 15*dx*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[48] = 315*dx*dy*dz*(1 - 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 9); - derivative[49] = 45*dx*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[50] = 15*dy*(-15 + 70*pow(dy, 2)/pow(dl, 2) - 63*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[51] = 45*dz*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[52] = 15*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[53] = 15*dz*(-3 + 21*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[54] = 45*dy*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[55] = 15*dz*(-15 + 70*pow(dz, 2)/pow(dl, 2) - 63*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - Bx[i] += cells[c].Mx[0]*derivative[4] + cells[c].Mx[10]*derivative[35] + cells[c].Mx[11]*derivative[36] + cells[c].Mx[12]*derivative[37] + cells[c].Mx[13]*derivative[38] + cells[c].Mx[14]*derivative[39] + cells[c].Mx[15]*derivative[40] + cells[c].Mx[16]*derivative[41] + cells[c].Mx[17]*derivative[42] + cells[c].Mx[18]*derivative[43] + cells[c].Mx[19]*derivative[44] + cells[c].Mx[1]*derivative[10] + cells[c].Mx[2]*derivative[11] + cells[c].Mx[3]*derivative[12] + cells[c].Mx[4]*derivative[20] + cells[c].Mx[5]*derivative[21] + cells[c].Mx[6]*derivative[22] + cells[c].Mx[7]*derivative[23] + cells[c].Mx[8]*derivative[24] + cells[c].Mx[9]*derivative[25] + cells[c].My[0]*derivative[5] + cells[c].My[10]*derivative[36] + cells[c].My[11]*derivative[38] + cells[c].My[12]*derivative[39] + cells[c].My[13]*derivative[41] + cells[c].My[14]*derivative[42] + cells[c].My[15]*derivative[43] + cells[c].My[16]*derivative[45] + cells[c].My[17]*derivative[46] + cells[c].My[18]*derivative[47] + cells[c].My[19]*derivative[48] + cells[c].My[1]*derivative[11] + cells[c].My[2]*derivative[13] + cells[c].My[3]*derivative[14] + cells[c].My[4]*derivative[21] + cells[c].My[5]*derivative[23] + cells[c].My[6]*derivative[24] + cells[c].My[7]*derivative[26] + cells[c].My[8]*derivative[27] + cells[c].My[9]*derivative[28] + cells[c].Mz[0]*derivative[6] + cells[c].Mz[10]*derivative[37] + cells[c].Mz[11]*derivative[39] + cells[c].Mz[12]*derivative[40] + cells[c].Mz[13]*derivative[42] + cells[c].Mz[14]*derivative[43] + cells[c].Mz[15]*derivative[44] + cells[c].Mz[16]*derivative[46] + cells[c].Mz[17]*derivative[47] + cells[c].Mz[18]*derivative[48] + cells[c].Mz[19]*derivative[49] + cells[c].Mz[1]*derivative[12] + cells[c].Mz[2]*derivative[14] + cells[c].Mz[3]*derivative[15] + cells[c].Mz[4]*derivative[22] + cells[c].Mz[5]*derivative[24] + cells[c].Mz[6]*derivative[25] + cells[c].Mz[7]*derivative[27] + cells[c].Mz[8]*derivative[28] + cells[c].Mz[9]*derivative[29]; - By[i] += cells[c].Mx[0]*derivative[5] + cells[c].Mx[10]*derivative[36] + cells[c].Mx[11]*derivative[38] + cells[c].Mx[12]*derivative[39] + cells[c].Mx[13]*derivative[41] + cells[c].Mx[14]*derivative[42] + cells[c].Mx[15]*derivative[43] + cells[c].Mx[16]*derivative[45] + cells[c].Mx[17]*derivative[46] + cells[c].Mx[18]*derivative[47] + cells[c].Mx[19]*derivative[48] + cells[c].Mx[1]*derivative[11] + cells[c].Mx[2]*derivative[13] + cells[c].Mx[3]*derivative[14] + cells[c].Mx[4]*derivative[21] + cells[c].Mx[5]*derivative[23] + cells[c].Mx[6]*derivative[24] + cells[c].Mx[7]*derivative[26] + cells[c].Mx[8]*derivative[27] + cells[c].Mx[9]*derivative[28] + cells[c].My[0]*derivative[7] + cells[c].My[10]*derivative[38] + cells[c].My[11]*derivative[41] + cells[c].My[12]*derivative[42] + cells[c].My[13]*derivative[45] + cells[c].My[14]*derivative[46] + cells[c].My[15]*derivative[47] + cells[c].My[16]*derivative[50] + cells[c].My[17]*derivative[51] + cells[c].My[18]*derivative[52] + cells[c].My[19]*derivative[53] + cells[c].My[1]*derivative[13] + cells[c].My[2]*derivative[16] + cells[c].My[3]*derivative[17] + cells[c].My[4]*derivative[23] + cells[c].My[5]*derivative[26] + cells[c].My[6]*derivative[27] + cells[c].My[7]*derivative[30] + cells[c].My[8]*derivative[31] + cells[c].My[9]*derivative[32] + cells[c].Mz[0]*derivative[8] + cells[c].Mz[10]*derivative[39] + cells[c].Mz[11]*derivative[42] + cells[c].Mz[12]*derivative[43] + cells[c].Mz[13]*derivative[46] + cells[c].Mz[14]*derivative[47] + cells[c].Mz[15]*derivative[48] + cells[c].Mz[16]*derivative[51] + cells[c].Mz[17]*derivative[52] + cells[c].Mz[18]*derivative[53] + cells[c].Mz[19]*derivative[54] + cells[c].Mz[1]*derivative[14] + cells[c].Mz[2]*derivative[17] + cells[c].Mz[3]*derivative[18] + cells[c].Mz[4]*derivative[24] + cells[c].Mz[5]*derivative[27] + cells[c].Mz[6]*derivative[28] + cells[c].Mz[7]*derivative[31] + cells[c].Mz[8]*derivative[32] + cells[c].Mz[9]*derivative[33]; - Bz[i] += cells[c].Mx[0]*derivative[6] + cells[c].Mx[10]*derivative[37] + cells[c].Mx[11]*derivative[39] + cells[c].Mx[12]*derivative[40] + cells[c].Mx[13]*derivative[42] + cells[c].Mx[14]*derivative[43] + cells[c].Mx[15]*derivative[44] + cells[c].Mx[16]*derivative[46] + cells[c].Mx[17]*derivative[47] + cells[c].Mx[18]*derivative[48] + cells[c].Mx[19]*derivative[49] + cells[c].Mx[1]*derivative[12] + cells[c].Mx[2]*derivative[14] + cells[c].Mx[3]*derivative[15] + cells[c].Mx[4]*derivative[22] + cells[c].Mx[5]*derivative[24] + cells[c].Mx[6]*derivative[25] + cells[c].Mx[7]*derivative[27] + cells[c].Mx[8]*derivative[28] + cells[c].Mx[9]*derivative[29] + cells[c].My[0]*derivative[8] + cells[c].My[10]*derivative[39] + cells[c].My[11]*derivative[42] + cells[c].My[12]*derivative[43] + cells[c].My[13]*derivative[46] + cells[c].My[14]*derivative[47] + cells[c].My[15]*derivative[48] + cells[c].My[16]*derivative[51] + cells[c].My[17]*derivative[52] + cells[c].My[18]*derivative[53] + cells[c].My[19]*derivative[54] + cells[c].My[1]*derivative[14] + cells[c].My[2]*derivative[17] + cells[c].My[3]*derivative[18] + cells[c].My[4]*derivative[24] + cells[c].My[5]*derivative[27] + cells[c].My[6]*derivative[28] + cells[c].My[7]*derivative[31] + cells[c].My[8]*derivative[32] + cells[c].My[9]*derivative[33] + cells[c].Mz[0]*derivative[9] + cells[c].Mz[10]*derivative[40] + cells[c].Mz[11]*derivative[43] + cells[c].Mz[12]*derivative[44] + cells[c].Mz[13]*derivative[47] + cells[c].Mz[14]*derivative[48] + cells[c].Mz[15]*derivative[49] + cells[c].Mz[16]*derivative[52] + cells[c].Mz[17]*derivative[53] + cells[c].Mz[18]*derivative[54] + cells[c].Mz[19]*derivative[55] + cells[c].Mz[1]*derivative[15] + cells[c].Mz[2]*derivative[18] + cells[c].Mz[3]*derivative[19] + cells[c].Mz[4]*derivative[25] + cells[c].Mz[5]*derivative[28] + cells[c].Mz[6]*derivative[29] + cells[c].Mz[7]*derivative[32] + cells[c].Mz[8]*derivative[33] + cells[c].Mz[9]*derivative[34]; -} -void P2M_4(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit) { - unsigned int l; - - if (cells[p].nleaf >= ncrit) { - for(int c = 0; c < 8; c++) { - if (cells[p].nchild & (1 << c)) { - P2M_4(particles, cells[p].child[c], cells, ncrit); - } - } - } - else { - for(unsigned int i = 0; i < (cells[p].nleaf); i++) { - l = cells[p].leaf[i]; -double dx = (particles[l].x - cells[p].x); -double dy = (particles[l].y - cells[p].y); -double dz = (particles[l].z - cells[p].z); - cells[p].Mx[0] += particles[l].mux; - cells[p].Mx[1] += -dx*particles[l].mux; - cells[p].Mx[2] += -dy*particles[l].mux; - cells[p].Mx[3] += -dz*particles[l].mux; - cells[p].Mx[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].mux; - cells[p].Mx[5] += dx*dy*particles[l].mux; - cells[p].Mx[6] += dx*dz*particles[l].mux; - cells[p].Mx[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[8] += dy*dz*particles[l].mux; - cells[p].Mx[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].mux; - cells[p].Mx[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].mux; - cells[p].Mx[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].mux; - cells[p].Mx[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].mux; - cells[p].Mx[14] += -dx*dy*dz*particles[l].mux; - cells[p].Mx[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].mux; - cells[p].Mx[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].mux; - cells[p].Mx[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].mux; - cells[p].Mx[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].mux; - cells[p].Mx[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].mux; - cells[p].Mx[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].mux; - cells[p].Mx[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].mux; - cells[p].Mx[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].mux; - cells[p].Mx[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].mux; - cells[p].Mx[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].mux; - cells[p].Mx[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].mux; - cells[p].My[0] += particles[l].muy; - cells[p].My[1] += -dx*particles[l].muy; - cells[p].My[2] += -dy*particles[l].muy; - cells[p].My[3] += -dz*particles[l].muy; - cells[p].My[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muy; - cells[p].My[5] += dx*dy*particles[l].muy; - cells[p].My[6] += dx*dz*particles[l].muy; - cells[p].My[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muy; - cells[p].My[8] += dy*dz*particles[l].muy; - cells[p].My[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muy; - cells[p].My[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muy; - cells[p].My[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muy; - cells[p].My[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muy; - cells[p].My[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muy; - cells[p].My[14] += -dx*dy*dz*particles[l].muy; - cells[p].My[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muy; - cells[p].My[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muy; - cells[p].My[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muy; - cells[p].My[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].muy; - cells[p].My[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].muy; - cells[p].My[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].muy; - cells[p].My[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].muy; - cells[p].My[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].muy; - cells[p].My[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].muy; - cells[p].My[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].muy; - cells[p].My[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].muy; - cells[p].My[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].muy; - cells[p].Mz[0] += particles[l].muz; - cells[p].Mz[1] += -dx*particles[l].muz; - cells[p].Mz[2] += -dy*particles[l].muz; - cells[p].Mz[3] += -dz*particles[l].muz; - cells[p].Mz[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muz; - cells[p].Mz[5] += dx*dy*particles[l].muz; - cells[p].Mz[6] += dx*dz*particles[l].muz; - cells[p].Mz[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[8] += dy*dz*particles[l].muz; - cells[p].Mz[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muz; - cells[p].Mz[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muz; - cells[p].Mz[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muz; - cells[p].Mz[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muz; - cells[p].Mz[14] += -dx*dy*dz*particles[l].muz; - cells[p].Mz[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muz; - cells[p].Mz[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muz; - cells[p].Mz[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muz; - cells[p].Mz[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].muz; - cells[p].Mz[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].muz; - cells[p].Mz[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].muz; - cells[p].Mz[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].muz; - cells[p].Mz[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].muz; - cells[p].Mz[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].muz; - cells[p].Mz[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].muz; - cells[p].Mz[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].muz; - } - } -} - - -void M2M_4(unsigned int p, unsigned int c, std::vector &cells) { -double dx = (cells[p].x - cells[c].x); -double dy = (cells[p].y - cells[c].y); -double dz = (cells[p].z - cells[c].z); - cells[p].Mx[0] += cells[c].Mx[0]; - cells[p].Mx[1] += cells[c].Mx[0]*dx + cells[c].Mx[1]; - cells[p].Mx[2] += cells[c].Mx[0]*dy + cells[c].Mx[2]; - cells[p].Mx[3] += cells[c].Mx[0]*dz + cells[c].Mx[3]; - cells[p].Mx[4] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2) + cells[c].Mx[1]*dx + cells[c].Mx[4]; - cells[p].Mx[5] += cells[c].Mx[0]*dx*dy + cells[c].Mx[1]*dy + cells[c].Mx[2]*dx + cells[c].Mx[5]; - cells[p].Mx[6] += cells[c].Mx[0]*dx*dz + cells[c].Mx[1]*dz + cells[c].Mx[3]*dx + cells[c].Mx[6]; - cells[p].Mx[7] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2) + cells[c].Mx[2]*dy + cells[c].Mx[7]; - cells[p].Mx[8] += cells[c].Mx[0]*dy*dz + cells[c].Mx[2]*dz + cells[c].Mx[3]*dy + cells[c].Mx[8]; - cells[p].Mx[9] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dz, 2) + cells[c].Mx[3]*dz + cells[c].Mx[9]; - cells[p].Mx[10] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3) + cells[c].Mx[10] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2) + cells[c].Mx[4]*dx; - cells[p].Mx[11] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy + cells[c].Mx[11] + cells[c].Mx[1]*dx*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2) + cells[c].Mx[4]*dy + cells[c].Mx[5]*dx; - cells[p].Mx[12] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dz + cells[c].Mx[12] + cells[c].Mx[1]*dx*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2) + cells[c].Mx[4]*dz + cells[c].Mx[6]*dx; - cells[p].Mx[13] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2) + cells[c].Mx[13] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2) + cells[c].Mx[2]*dx*dy + cells[c].Mx[5]*dy + cells[c].Mx[7]*dx; - cells[p].Mx[14] += cells[c].Mx[0]*dx*dy*dz + cells[c].Mx[14] + cells[c].Mx[1]*dy*dz + cells[c].Mx[2]*dx*dz + cells[c].Mx[3]*dx*dy + cells[c].Mx[5]*dz + cells[c].Mx[6]*dy + cells[c].Mx[8]*dx; - cells[p].Mx[15] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dz, 2) + cells[c].Mx[15] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dz, 2) + cells[c].Mx[3]*dx*dz + cells[c].Mx[6]*dz + cells[c].Mx[9]*dx; - cells[p].Mx[16] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3) + cells[c].Mx[16] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2) + cells[c].Mx[7]*dy; - cells[p].Mx[17] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2)*dz + cells[c].Mx[17] + cells[c].Mx[2]*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2) + cells[c].Mx[7]*dz + cells[c].Mx[8]*dy; - cells[p].Mx[18] += (1.0L/2.0L)*cells[c].Mx[0]*dy*pow(dz, 2) + cells[c].Mx[18] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dz, 2) + cells[c].Mx[3]*dy*dz + cells[c].Mx[8]*dz + cells[c].Mx[9]*dy; - cells[p].Mx[19] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dz, 3) + cells[c].Mx[19] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dz, 2) + cells[c].Mx[9]*dz; - cells[p].Mx[20] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4) + cells[c].Mx[10]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3) + cells[c].Mx[20] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2); - cells[p].Mx[21] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dy + cells[c].Mx[10]*dy + cells[c].Mx[11]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dy + cells[c].Mx[21] + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3) + cells[c].Mx[4]*dx*dy + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2); - cells[p].Mx[22] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dz + cells[c].Mx[10]*dz + cells[c].Mx[12]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dz + cells[c].Mx[22] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3) + cells[c].Mx[4]*dx*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2); - cells[p].Mx[23] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[11]*dy + cells[c].Mx[13]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dy, 2) + cells[c].Mx[23] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mx[4]*pow(dy, 2) + cells[c].Mx[5]*dx*dy + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2); - cells[p].Mx[24] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*dz + cells[c].Mx[11]*dz + cells[c].Mx[12]*dy + cells[c].Mx[14]*dx + cells[c].Mx[1]*dx*dy*dz + cells[c].Mx[24] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dy + cells[c].Mx[4]*dy*dz + cells[c].Mx[5]*dx*dz + cells[c].Mx[6]*dx*dy + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2); - cells[p].Mx[25] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[12]*dz + cells[c].Mx[15]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dz, 2) + cells[c].Mx[25] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[4]*pow(dz, 2) + cells[c].Mx[6]*dx*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2); - cells[p].Mx[26] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dy, 3) + cells[c].Mx[13]*dy + cells[c].Mx[16]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dy, 3) + cells[c].Mx[26] + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[5]*pow(dy, 2) + cells[c].Mx[7]*dx*dy; - cells[p].Mx[27] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*dz + cells[c].Mx[13]*dz + cells[c].Mx[14]*dy + cells[c].Mx[17]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2)*dz + cells[c].Mx[27] + cells[c].Mx[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dy, 2) + cells[c].Mx[5]*dy*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dy, 2) + cells[c].Mx[7]*dx*dz + cells[c].Mx[8]*dx*dy; - cells[p].Mx[28] += (1.0L/2.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 2) + cells[c].Mx[14]*dz + cells[c].Mx[15]*dy + cells[c].Mx[18]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dy*pow(dz, 2) + cells[c].Mx[28] + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dz, 2) + cells[c].Mx[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dz, 2) + cells[c].Mx[6]*dy*dz + cells[c].Mx[8]*dx*dz + cells[c].Mx[9]*dx*dy; - cells[p].Mx[29] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dz, 3) + cells[c].Mx[15]*dz + cells[c].Mx[19]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dz, 3) + cells[c].Mx[29] + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dz, 2) + cells[c].Mx[9]*dx*dz; - cells[p].Mx[30] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dy, 4) + cells[c].Mx[16]*dy + (1.0L/6.0L)*cells[c].Mx[2]*pow(dy, 3) + cells[c].Mx[30] + (1.0L/2.0L)*cells[c].Mx[7]*pow(dy, 2); - cells[p].Mx[31] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3)*dz + cells[c].Mx[16]*dz + cells[c].Mx[17]*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2)*dz + cells[c].Mx[31] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dy, 3) + cells[c].Mx[7]*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dy, 2); - cells[p].Mx[32] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[17]*dz + cells[c].Mx[18]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dy*pow(dz, 2) + cells[c].Mx[32] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[7]*pow(dz, 2) + cells[c].Mx[8]*dy*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dy, 2); - cells[p].Mx[33] += (1.0L/6.0L)*cells[c].Mx[0]*dy*pow(dz, 3) + cells[c].Mx[18]*dz + cells[c].Mx[19]*dy + (1.0L/6.0L)*cells[c].Mx[2]*pow(dz, 3) + cells[c].Mx[33] + (1.0L/2.0L)*cells[c].Mx[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dz, 2) + cells[c].Mx[9]*dy*dz; - cells[p].Mx[34] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dz, 4) + cells[c].Mx[19]*dz + cells[c].Mx[34] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dz, 2); - - - cells[p].My[0] += cells[c].My[0]; - cells[p].My[1] += cells[c].My[0]*dx + cells[c].My[1]; - cells[p].My[2] += cells[c].My[0]*dy + cells[c].My[2]; - cells[p].My[3] += cells[c].My[0]*dz + cells[c].My[3]; - cells[p].My[4] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2) + cells[c].My[1]*dx + cells[c].My[4]; - cells[p].My[5] += cells[c].My[0]*dx*dy + cells[c].My[1]*dy + cells[c].My[2]*dx + cells[c].My[5]; - cells[p].My[6] += cells[c].My[0]*dx*dz + cells[c].My[1]*dz + cells[c].My[3]*dx + cells[c].My[6]; - cells[p].My[7] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2) + cells[c].My[2]*dy + cells[c].My[7]; - cells[p].My[8] += cells[c].My[0]*dy*dz + cells[c].My[2]*dz + cells[c].My[3]*dy + cells[c].My[8]; - cells[p].My[9] += (1.0L/2.0L)*cells[c].My[0]*pow(dz, 2) + cells[c].My[3]*dz + cells[c].My[9]; - cells[p].My[10] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3) + cells[c].My[10] + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2) + cells[c].My[4]*dx; - cells[p].My[11] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy + cells[c].My[11] + cells[c].My[1]*dx*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2) + cells[c].My[4]*dy + cells[c].My[5]*dx; - cells[p].My[12] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dz + cells[c].My[12] + cells[c].My[1]*dx*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2) + cells[c].My[4]*dz + cells[c].My[6]*dx; - cells[p].My[13] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2) + cells[c].My[13] + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2) + cells[c].My[2]*dx*dy + cells[c].My[5]*dy + cells[c].My[7]*dx; - cells[p].My[14] += cells[c].My[0]*dx*dy*dz + cells[c].My[14] + cells[c].My[1]*dy*dz + cells[c].My[2]*dx*dz + cells[c].My[3]*dx*dy + cells[c].My[5]*dz + cells[c].My[6]*dy + cells[c].My[8]*dx; - cells[p].My[15] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dz, 2) + cells[c].My[15] + (1.0L/2.0L)*cells[c].My[1]*pow(dz, 2) + cells[c].My[3]*dx*dz + cells[c].My[6]*dz + cells[c].My[9]*dx; - cells[p].My[16] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3) + cells[c].My[16] + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2) + cells[c].My[7]*dy; - cells[p].My[17] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2)*dz + cells[c].My[17] + cells[c].My[2]*dy*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2) + cells[c].My[7]*dz + cells[c].My[8]*dy; - cells[p].My[18] += (1.0L/2.0L)*cells[c].My[0]*dy*pow(dz, 2) + cells[c].My[18] + (1.0L/2.0L)*cells[c].My[2]*pow(dz, 2) + cells[c].My[3]*dy*dz + cells[c].My[8]*dz + cells[c].My[9]*dy; - cells[p].My[19] += (1.0L/6.0L)*cells[c].My[0]*pow(dz, 3) + cells[c].My[19] + (1.0L/2.0L)*cells[c].My[3]*pow(dz, 2) + cells[c].My[9]*dz; - cells[p].My[20] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4) + cells[c].My[10]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3) + cells[c].My[20] + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2); - cells[p].My[21] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dy + cells[c].My[10]*dy + cells[c].My[11]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dy + cells[c].My[21] + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3) + cells[c].My[4]*dx*dy + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2); - cells[p].My[22] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dz + cells[c].My[10]*dz + cells[c].My[12]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dz + cells[c].My[22] + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3) + cells[c].My[4]*dx*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2); - cells[p].My[23] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2) + cells[c].My[11]*dy + cells[c].My[13]*dx + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dy, 2) + cells[c].My[23] + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].My[4]*pow(dy, 2) + cells[c].My[5]*dx*dy + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2); - cells[p].My[24] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy*dz + cells[c].My[11]*dz + cells[c].My[12]*dy + cells[c].My[14]*dx + cells[c].My[1]*dx*dy*dz + cells[c].My[24] + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dy + cells[c].My[4]*dy*dz + cells[c].My[5]*dx*dz + cells[c].My[6]*dx*dy + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2); - cells[p].My[25] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 2) + cells[c].My[12]*dz + cells[c].My[15]*dx + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dz, 2) + cells[c].My[25] + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[4]*pow(dz, 2) + cells[c].My[6]*dx*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2); - cells[p].My[26] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dy, 3) + cells[c].My[13]*dy + cells[c].My[16]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dy, 3) + cells[c].My[26] + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[5]*pow(dy, 2) + cells[c].My[7]*dx*dy; - cells[p].My[27] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2)*dz + cells[c].My[13]*dz + cells[c].My[14]*dy + cells[c].My[17]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2)*dz + cells[c].My[27] + cells[c].My[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dy, 2) + cells[c].My[5]*dy*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dy, 2) + cells[c].My[7]*dx*dz + cells[c].My[8]*dx*dy; - cells[p].My[28] += (1.0L/2.0L)*cells[c].My[0]*dx*dy*pow(dz, 2) + cells[c].My[14]*dz + cells[c].My[15]*dy + cells[c].My[18]*dx + (1.0L/2.0L)*cells[c].My[1]*dy*pow(dz, 2) + cells[c].My[28] + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dz, 2) + cells[c].My[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dz, 2) + cells[c].My[6]*dy*dz + cells[c].My[8]*dx*dz + cells[c].My[9]*dx*dy; - cells[p].My[29] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dz, 3) + cells[c].My[15]*dz + cells[c].My[19]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dz, 3) + cells[c].My[29] + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dz, 2) + cells[c].My[9]*dx*dz; - cells[p].My[30] += (1.0L/24.0L)*cells[c].My[0]*pow(dy, 4) + cells[c].My[16]*dy + (1.0L/6.0L)*cells[c].My[2]*pow(dy, 3) + cells[c].My[30] + (1.0L/2.0L)*cells[c].My[7]*pow(dy, 2); - cells[p].My[31] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3)*dz + cells[c].My[16]*dz + cells[c].My[17]*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2)*dz + cells[c].My[31] + (1.0L/6.0L)*cells[c].My[3]*pow(dy, 3) + cells[c].My[7]*dy*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dy, 2); - cells[p].My[32] += (1.0L/4.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 2) + cells[c].My[17]*dz + cells[c].My[18]*dy + (1.0L/2.0L)*cells[c].My[2]*dy*pow(dz, 2) + cells[c].My[32] + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[7]*pow(dz, 2) + cells[c].My[8]*dy*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dy, 2); - cells[p].My[33] += (1.0L/6.0L)*cells[c].My[0]*dy*pow(dz, 3) + cells[c].My[18]*dz + cells[c].My[19]*dy + (1.0L/6.0L)*cells[c].My[2]*pow(dz, 3) + cells[c].My[33] + (1.0L/2.0L)*cells[c].My[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dz, 2) + cells[c].My[9]*dy*dz; - cells[p].My[34] += (1.0L/24.0L)*cells[c].My[0]*pow(dz, 4) + cells[c].My[19]*dz + cells[c].My[34] + (1.0L/6.0L)*cells[c].My[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*pow(dz, 2); - - - cells[p].Mz[0] += cells[c].Mz[0]; - cells[p].Mz[1] += cells[c].Mz[0]*dx + cells[c].Mz[1]; - cells[p].Mz[2] += cells[c].Mz[0]*dy + cells[c].Mz[2]; - cells[p].Mz[3] += cells[c].Mz[0]*dz + cells[c].Mz[3]; - cells[p].Mz[4] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2) + cells[c].Mz[1]*dx + cells[c].Mz[4]; - cells[p].Mz[5] += cells[c].Mz[0]*dx*dy + cells[c].Mz[1]*dy + cells[c].Mz[2]*dx + cells[c].Mz[5]; - cells[p].Mz[6] += cells[c].Mz[0]*dx*dz + cells[c].Mz[1]*dz + cells[c].Mz[3]*dx + cells[c].Mz[6]; - cells[p].Mz[7] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2) + cells[c].Mz[2]*dy + cells[c].Mz[7]; - cells[p].Mz[8] += cells[c].Mz[0]*dy*dz + cells[c].Mz[2]*dz + cells[c].Mz[3]*dy + cells[c].Mz[8]; - cells[p].Mz[9] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dz, 2) + cells[c].Mz[3]*dz + cells[c].Mz[9]; - cells[p].Mz[10] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3) + cells[c].Mz[10] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2) + cells[c].Mz[4]*dx; - cells[p].Mz[11] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy + cells[c].Mz[11] + cells[c].Mz[1]*dx*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2) + cells[c].Mz[4]*dy + cells[c].Mz[5]*dx; - cells[p].Mz[12] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dz + cells[c].Mz[12] + cells[c].Mz[1]*dx*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2) + cells[c].Mz[4]*dz + cells[c].Mz[6]*dx; - cells[p].Mz[13] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2) + cells[c].Mz[13] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2) + cells[c].Mz[2]*dx*dy + cells[c].Mz[5]*dy + cells[c].Mz[7]*dx; - cells[p].Mz[14] += cells[c].Mz[0]*dx*dy*dz + cells[c].Mz[14] + cells[c].Mz[1]*dy*dz + cells[c].Mz[2]*dx*dz + cells[c].Mz[3]*dx*dy + cells[c].Mz[5]*dz + cells[c].Mz[6]*dy + cells[c].Mz[8]*dx; - cells[p].Mz[15] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dz, 2) + cells[c].Mz[15] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dz, 2) + cells[c].Mz[3]*dx*dz + cells[c].Mz[6]*dz + cells[c].Mz[9]*dx; - cells[p].Mz[16] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3) + cells[c].Mz[16] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2) + cells[c].Mz[7]*dy; - cells[p].Mz[17] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2)*dz + cells[c].Mz[17] + cells[c].Mz[2]*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2) + cells[c].Mz[7]*dz + cells[c].Mz[8]*dy; - cells[p].Mz[18] += (1.0L/2.0L)*cells[c].Mz[0]*dy*pow(dz, 2) + cells[c].Mz[18] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dz, 2) + cells[c].Mz[3]*dy*dz + cells[c].Mz[8]*dz + cells[c].Mz[9]*dy; - cells[p].Mz[19] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dz, 3) + cells[c].Mz[19] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dz, 2) + cells[c].Mz[9]*dz; - cells[p].Mz[20] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4) + cells[c].Mz[10]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3) + cells[c].Mz[20] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2); - cells[p].Mz[21] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dy + cells[c].Mz[10]*dy + cells[c].Mz[11]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dy + cells[c].Mz[21] + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3) + cells[c].Mz[4]*dx*dy + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2); - cells[p].Mz[22] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dz + cells[c].Mz[10]*dz + cells[c].Mz[12]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dz + cells[c].Mz[22] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3) + cells[c].Mz[4]*dx*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2); - cells[p].Mz[23] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[11]*dy + cells[c].Mz[13]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dy, 2) + cells[c].Mz[23] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mz[4]*pow(dy, 2) + cells[c].Mz[5]*dx*dy + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2); - cells[p].Mz[24] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*dz + cells[c].Mz[11]*dz + cells[c].Mz[12]*dy + cells[c].Mz[14]*dx + cells[c].Mz[1]*dx*dy*dz + cells[c].Mz[24] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dy + cells[c].Mz[4]*dy*dz + cells[c].Mz[5]*dx*dz + cells[c].Mz[6]*dx*dy + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2); - cells[p].Mz[25] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[12]*dz + cells[c].Mz[15]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dz, 2) + cells[c].Mz[25] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[4]*pow(dz, 2) + cells[c].Mz[6]*dx*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2); - cells[p].Mz[26] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dy, 3) + cells[c].Mz[13]*dy + cells[c].Mz[16]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dy, 3) + cells[c].Mz[26] + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[5]*pow(dy, 2) + cells[c].Mz[7]*dx*dy; - cells[p].Mz[27] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*dz + cells[c].Mz[13]*dz + cells[c].Mz[14]*dy + cells[c].Mz[17]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2)*dz + cells[c].Mz[27] + cells[c].Mz[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dy, 2) + cells[c].Mz[5]*dy*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dy, 2) + cells[c].Mz[7]*dx*dz + cells[c].Mz[8]*dx*dy; - cells[p].Mz[28] += (1.0L/2.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 2) + cells[c].Mz[14]*dz + cells[c].Mz[15]*dy + cells[c].Mz[18]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dy*pow(dz, 2) + cells[c].Mz[28] + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dz, 2) + cells[c].Mz[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dz, 2) + cells[c].Mz[6]*dy*dz + cells[c].Mz[8]*dx*dz + cells[c].Mz[9]*dx*dy; - cells[p].Mz[29] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dz, 3) + cells[c].Mz[15]*dz + cells[c].Mz[19]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dz, 3) + cells[c].Mz[29] + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dz, 2) + cells[c].Mz[9]*dx*dz; - cells[p].Mz[30] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dy, 4) + cells[c].Mz[16]*dy + (1.0L/6.0L)*cells[c].Mz[2]*pow(dy, 3) + cells[c].Mz[30] + (1.0L/2.0L)*cells[c].Mz[7]*pow(dy, 2); - cells[p].Mz[31] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3)*dz + cells[c].Mz[16]*dz + cells[c].Mz[17]*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2)*dz + cells[c].Mz[31] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dy, 3) + cells[c].Mz[7]*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dy, 2); - cells[p].Mz[32] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[17]*dz + cells[c].Mz[18]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dy*pow(dz, 2) + cells[c].Mz[32] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[7]*pow(dz, 2) + cells[c].Mz[8]*dy*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dy, 2); - cells[p].Mz[33] += (1.0L/6.0L)*cells[c].Mz[0]*dy*pow(dz, 3) + cells[c].Mz[18]*dz + cells[c].Mz[19]*dy + (1.0L/6.0L)*cells[c].Mz[2]*pow(dz, 3) + cells[c].Mz[33] + (1.0L/2.0L)*cells[c].Mz[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dz, 2) + cells[c].Mz[9]*dy*dz; - cells[p].Mz[34] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dz, 4) + cells[c].Mz[19]*dz + cells[c].Mz[34] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dz, 2); - - -} -void M2P_4(unsigned int c, unsigned int i, std::vector &cells, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz, std::vector &derivative) { - double dx = -(cells[c].x - particles[i].x); - double dy = -(cells[c].y - particles[i].y); - double dz = -(cells[c].z - particles[i].z); - //std::vector derivative(84); - double dl = sqrt(dx*dx + dy*dy + dz*dz); - derivative[0] = 1.0/dl; - derivative[1] = -dx/pow(dl, 3); - derivative[2] = -dy/pow(dl, 3); - derivative[3] = -dz/pow(dl, 3); - derivative[4] = (-1 + 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 3); - derivative[5] = 3*dx*dy/pow(dl, 5); - derivative[6] = 3*dx*dz/pow(dl, 5); - derivative[7] = (-1 + 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 3); - derivative[8] = 3*dy*dz/pow(dl, 5); - derivative[9] = (-1 + 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 3); - derivative[10] = 3*dx*(3 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[11] = 3*dy*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[12] = 3*dz*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[13] = 3*dx*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[14] = -15*dx*dy*dz/pow(dl, 7); - derivative[15] = 3*dx*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[16] = 3*dy*(3 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[17] = 3*dz*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[18] = 3*dy*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[19] = 3*dz*(3 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[20] = 3*(3 - 30*pow(dx, 2)/pow(dl, 2) + 35*pow(dx, 4)/pow(dl, 4))/pow(dl, 5); - derivative[21] = 15*dx*dy*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[22] = 15*dx*dz*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[23] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dy, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 5); - derivative[24] = 15*dy*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[25] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[26] = 15*dx*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[27] = 15*dx*dz*(-1 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[28] = 15*dx*dy*(-1 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[29] = 15*dx*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[30] = 3*(3 - 30*pow(dy, 2)/pow(dl, 2) + 35*pow(dy, 4)/pow(dl, 4))/pow(dl, 5); - derivative[31] = 15*dy*dz*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[32] = 3*(1 - 5*pow(dy, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[33] = 15*dy*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[34] = 3*(3 - 30*pow(dz, 2)/pow(dl, 2) + 35*pow(dz, 4)/pow(dl, 4))/pow(dl, 5); - derivative[35] = 15*dx*(-15 + 70*pow(dx, 2)/pow(dl, 2) - 63*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[36] = 45*dy*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[37] = 45*dz*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[38] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[39] = 315*dx*dy*dz*(1 - 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 9); - derivative[40] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[41] = 15*dy*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[42] = 15*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[43] = 15*dy*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[44] = 15*dz*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[45] = 45*dx*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[46] = 315*dx*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 9); - derivative[47] = 15*dx*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[48] = 315*dx*dy*dz*(1 - 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 9); - derivative[49] = 45*dx*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[50] = 15*dy*(-15 + 70*pow(dy, 2)/pow(dl, 2) - 63*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[51] = 45*dz*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[52] = 15*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[53] = 15*dz*(-3 + 21*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[54] = 45*dy*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[55] = 15*dz*(-15 + 70*pow(dz, 2)/pow(dl, 2) - 63*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[56] = 45*(-5 + 105*pow(dx, 2)/pow(dl, 2) - 315*pow(dx, 4)/pow(dl, 4) + 231*pow(dx, 6)/pow(dl, 6))/pow(dl, 7); - derivative[57] = 315*dx*dy*(5 - 30*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[58] = 315*dx*dz*(5 - 30*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[59] = 45*(-1 + 14*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4) - 126*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 231*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 7); - derivative[60] = 315*dy*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[61] = 45*(-1 + 14*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4) - 126*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 231*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[62] = 945*dx*dy*(1 - 3*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 11*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[63] = 315*dx*dz*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[64] = 315*dx*dy*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[65] = 945*dx*dz*(1 - 3*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 11*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[66] = 45*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 14*pow(dy, 2)/pow(dl, 2) - 126*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 21*pow(dy, 4)/pow(dl, 4) + 231*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 7); - derivative[67] = 315*dy*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[68] = 15*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 693*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[69] = 315*dy*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[70] = 45*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 14*pow(dz, 2)/pow(dl, 2) - 126*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 21*pow(dz, 4)/pow(dl, 4) + 231*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 7); - derivative[71] = 315*dx*dy*(5 - 30*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[72] = 315*dx*dz*(1 - 18*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[73] = 315*dx*dy*(1 - 3*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[74] = 315*dx*dz*(1 - 9*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[75] = 315*dx*dy*(1 - 18*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[76] = 315*dx*dz*(5 - 30*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[77] = 45*(-5 + 105*pow(dy, 2)/pow(dl, 2) - 315*pow(dy, 4)/pow(dl, 4) + 231*pow(dy, 6)/pow(dl, 6))/pow(dl, 7); - derivative[78] = 315*dy*dz*(5 - 30*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[79] = 45*(-1 + 14*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4) - 126*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 231*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[80] = 945*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 11*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[81] = 45*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 14*pow(dz, 2)/pow(dl, 2) - 126*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 21*pow(dz, 4)/pow(dl, 4) + 231*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 7); - derivative[82] = 315*dy*dz*(5 - 30*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[83] = 45*(-5 + 105*pow(dz, 2)/pow(dl, 2) - 315*pow(dz, 4)/pow(dl, 4) + 231*pow(dz, 6)/pow(dl, 6))/pow(dl, 7); - Bx[i] += cells[c].Mx[0]*derivative[4] + cells[c].Mx[10]*derivative[35] + cells[c].Mx[11]*derivative[36] + cells[c].Mx[12]*derivative[37] + cells[c].Mx[13]*derivative[38] + cells[c].Mx[14]*derivative[39] + cells[c].Mx[15]*derivative[40] + cells[c].Mx[16]*derivative[41] + cells[c].Mx[17]*derivative[42] + cells[c].Mx[18]*derivative[43] + cells[c].Mx[19]*derivative[44] + cells[c].Mx[1]*derivative[10] + cells[c].Mx[20]*derivative[56] + cells[c].Mx[21]*derivative[57] + cells[c].Mx[22]*derivative[58] + cells[c].Mx[23]*derivative[59] + cells[c].Mx[24]*derivative[60] + cells[c].Mx[25]*derivative[61] + cells[c].Mx[26]*derivative[62] + cells[c].Mx[27]*derivative[63] + cells[c].Mx[28]*derivative[64] + cells[c].Mx[29]*derivative[65] + cells[c].Mx[2]*derivative[11] + cells[c].Mx[30]*derivative[66] + cells[c].Mx[31]*derivative[67] + cells[c].Mx[32]*derivative[68] + cells[c].Mx[33]*derivative[69] + cells[c].Mx[34]*derivative[70] + cells[c].Mx[3]*derivative[12] + cells[c].Mx[4]*derivative[20] + cells[c].Mx[5]*derivative[21] + cells[c].Mx[6]*derivative[22] + cells[c].Mx[7]*derivative[23] + cells[c].Mx[8]*derivative[24] + cells[c].Mx[9]*derivative[25] + cells[c].My[0]*derivative[5] + cells[c].My[10]*derivative[36] + cells[c].My[11]*derivative[38] + cells[c].My[12]*derivative[39] + cells[c].My[13]*derivative[41] + cells[c].My[14]*derivative[42] + cells[c].My[15]*derivative[43] + cells[c].My[16]*derivative[45] + cells[c].My[17]*derivative[46] + cells[c].My[18]*derivative[47] + cells[c].My[19]*derivative[48] + cells[c].My[1]*derivative[11] + cells[c].My[20]*derivative[57] + cells[c].My[21]*derivative[59] + cells[c].My[22]*derivative[60] + cells[c].My[23]*derivative[62] + cells[c].My[24]*derivative[63] + cells[c].My[25]*derivative[64] + cells[c].My[26]*derivative[66] + cells[c].My[27]*derivative[67] + cells[c].My[28]*derivative[68] + cells[c].My[29]*derivative[69] + cells[c].My[2]*derivative[13] + cells[c].My[30]*derivative[71] + cells[c].My[31]*derivative[72] + cells[c].My[32]*derivative[73] + cells[c].My[33]*derivative[74] + cells[c].My[34]*derivative[75] + cells[c].My[3]*derivative[14] + cells[c].My[4]*derivative[21] + cells[c].My[5]*derivative[23] + cells[c].My[6]*derivative[24] + cells[c].My[7]*derivative[26] + cells[c].My[8]*derivative[27] + cells[c].My[9]*derivative[28] + cells[c].Mz[0]*derivative[6] + cells[c].Mz[10]*derivative[37] + cells[c].Mz[11]*derivative[39] + cells[c].Mz[12]*derivative[40] + cells[c].Mz[13]*derivative[42] + cells[c].Mz[14]*derivative[43] + cells[c].Mz[15]*derivative[44] + cells[c].Mz[16]*derivative[46] + cells[c].Mz[17]*derivative[47] + cells[c].Mz[18]*derivative[48] + cells[c].Mz[19]*derivative[49] + cells[c].Mz[1]*derivative[12] + cells[c].Mz[20]*derivative[58] + cells[c].Mz[21]*derivative[60] + cells[c].Mz[22]*derivative[61] + cells[c].Mz[23]*derivative[63] + cells[c].Mz[24]*derivative[64] + cells[c].Mz[25]*derivative[65] + cells[c].Mz[26]*derivative[67] + cells[c].Mz[27]*derivative[68] + cells[c].Mz[28]*derivative[69] + cells[c].Mz[29]*derivative[70] + cells[c].Mz[2]*derivative[14] + cells[c].Mz[30]*derivative[72] + cells[c].Mz[31]*derivative[73] + cells[c].Mz[32]*derivative[74] + cells[c].Mz[33]*derivative[75] + cells[c].Mz[34]*derivative[76] + cells[c].Mz[3]*derivative[15] + cells[c].Mz[4]*derivative[22] + cells[c].Mz[5]*derivative[24] + cells[c].Mz[6]*derivative[25] + cells[c].Mz[7]*derivative[27] + cells[c].Mz[8]*derivative[28] + cells[c].Mz[9]*derivative[29]; - By[i] += cells[c].Mx[0]*derivative[5] + cells[c].Mx[10]*derivative[36] + cells[c].Mx[11]*derivative[38] + cells[c].Mx[12]*derivative[39] + cells[c].Mx[13]*derivative[41] + cells[c].Mx[14]*derivative[42] + cells[c].Mx[15]*derivative[43] + cells[c].Mx[16]*derivative[45] + cells[c].Mx[17]*derivative[46] + cells[c].Mx[18]*derivative[47] + cells[c].Mx[19]*derivative[48] + cells[c].Mx[1]*derivative[11] + cells[c].Mx[20]*derivative[57] + cells[c].Mx[21]*derivative[59] + cells[c].Mx[22]*derivative[60] + cells[c].Mx[23]*derivative[62] + cells[c].Mx[24]*derivative[63] + cells[c].Mx[25]*derivative[64] + cells[c].Mx[26]*derivative[66] + cells[c].Mx[27]*derivative[67] + cells[c].Mx[28]*derivative[68] + cells[c].Mx[29]*derivative[69] + cells[c].Mx[2]*derivative[13] + cells[c].Mx[30]*derivative[71] + cells[c].Mx[31]*derivative[72] + cells[c].Mx[32]*derivative[73] + cells[c].Mx[33]*derivative[74] + cells[c].Mx[34]*derivative[75] + cells[c].Mx[3]*derivative[14] + cells[c].Mx[4]*derivative[21] + cells[c].Mx[5]*derivative[23] + cells[c].Mx[6]*derivative[24] + cells[c].Mx[7]*derivative[26] + cells[c].Mx[8]*derivative[27] + cells[c].Mx[9]*derivative[28] + cells[c].My[0]*derivative[7] + cells[c].My[10]*derivative[38] + cells[c].My[11]*derivative[41] + cells[c].My[12]*derivative[42] + cells[c].My[13]*derivative[45] + cells[c].My[14]*derivative[46] + cells[c].My[15]*derivative[47] + cells[c].My[16]*derivative[50] + cells[c].My[17]*derivative[51] + cells[c].My[18]*derivative[52] + cells[c].My[19]*derivative[53] + cells[c].My[1]*derivative[13] + cells[c].My[20]*derivative[59] + cells[c].My[21]*derivative[62] + cells[c].My[22]*derivative[63] + cells[c].My[23]*derivative[66] + cells[c].My[24]*derivative[67] + cells[c].My[25]*derivative[68] + cells[c].My[26]*derivative[71] + cells[c].My[27]*derivative[72] + cells[c].My[28]*derivative[73] + cells[c].My[29]*derivative[74] + cells[c].My[2]*derivative[16] + cells[c].My[30]*derivative[77] + cells[c].My[31]*derivative[78] + cells[c].My[32]*derivative[79] + cells[c].My[33]*derivative[80] + cells[c].My[34]*derivative[81] + cells[c].My[3]*derivative[17] + cells[c].My[4]*derivative[23] + cells[c].My[5]*derivative[26] + cells[c].My[6]*derivative[27] + cells[c].My[7]*derivative[30] + cells[c].My[8]*derivative[31] + cells[c].My[9]*derivative[32] + cells[c].Mz[0]*derivative[8] + cells[c].Mz[10]*derivative[39] + cells[c].Mz[11]*derivative[42] + cells[c].Mz[12]*derivative[43] + cells[c].Mz[13]*derivative[46] + cells[c].Mz[14]*derivative[47] + cells[c].Mz[15]*derivative[48] + cells[c].Mz[16]*derivative[51] + cells[c].Mz[17]*derivative[52] + cells[c].Mz[18]*derivative[53] + cells[c].Mz[19]*derivative[54] + cells[c].Mz[1]*derivative[14] + cells[c].Mz[20]*derivative[60] + cells[c].Mz[21]*derivative[63] + cells[c].Mz[22]*derivative[64] + cells[c].Mz[23]*derivative[67] + cells[c].Mz[24]*derivative[68] + cells[c].Mz[25]*derivative[69] + cells[c].Mz[26]*derivative[72] + cells[c].Mz[27]*derivative[73] + cells[c].Mz[28]*derivative[74] + cells[c].Mz[29]*derivative[75] + cells[c].Mz[2]*derivative[17] + cells[c].Mz[30]*derivative[78] + cells[c].Mz[31]*derivative[79] + cells[c].Mz[32]*derivative[80] + cells[c].Mz[33]*derivative[81] + cells[c].Mz[34]*derivative[82] + cells[c].Mz[3]*derivative[18] + cells[c].Mz[4]*derivative[24] + cells[c].Mz[5]*derivative[27] + cells[c].Mz[6]*derivative[28] + cells[c].Mz[7]*derivative[31] + cells[c].Mz[8]*derivative[32] + cells[c].Mz[9]*derivative[33]; - Bz[i] += cells[c].Mx[0]*derivative[6] + cells[c].Mx[10]*derivative[37] + cells[c].Mx[11]*derivative[39] + cells[c].Mx[12]*derivative[40] + cells[c].Mx[13]*derivative[42] + cells[c].Mx[14]*derivative[43] + cells[c].Mx[15]*derivative[44] + cells[c].Mx[16]*derivative[46] + cells[c].Mx[17]*derivative[47] + cells[c].Mx[18]*derivative[48] + cells[c].Mx[19]*derivative[49] + cells[c].Mx[1]*derivative[12] + cells[c].Mx[20]*derivative[58] + cells[c].Mx[21]*derivative[60] + cells[c].Mx[22]*derivative[61] + cells[c].Mx[23]*derivative[63] + cells[c].Mx[24]*derivative[64] + cells[c].Mx[25]*derivative[65] + cells[c].Mx[26]*derivative[67] + cells[c].Mx[27]*derivative[68] + cells[c].Mx[28]*derivative[69] + cells[c].Mx[29]*derivative[70] + cells[c].Mx[2]*derivative[14] + cells[c].Mx[30]*derivative[72] + cells[c].Mx[31]*derivative[73] + cells[c].Mx[32]*derivative[74] + cells[c].Mx[33]*derivative[75] + cells[c].Mx[34]*derivative[76] + cells[c].Mx[3]*derivative[15] + cells[c].Mx[4]*derivative[22] + cells[c].Mx[5]*derivative[24] + cells[c].Mx[6]*derivative[25] + cells[c].Mx[7]*derivative[27] + cells[c].Mx[8]*derivative[28] + cells[c].Mx[9]*derivative[29] + cells[c].My[0]*derivative[8] + cells[c].My[10]*derivative[39] + cells[c].My[11]*derivative[42] + cells[c].My[12]*derivative[43] + cells[c].My[13]*derivative[46] + cells[c].My[14]*derivative[47] + cells[c].My[15]*derivative[48] + cells[c].My[16]*derivative[51] + cells[c].My[17]*derivative[52] + cells[c].My[18]*derivative[53] + cells[c].My[19]*derivative[54] + cells[c].My[1]*derivative[14] + cells[c].My[20]*derivative[60] + cells[c].My[21]*derivative[63] + cells[c].My[22]*derivative[64] + cells[c].My[23]*derivative[67] + cells[c].My[24]*derivative[68] + cells[c].My[25]*derivative[69] + cells[c].My[26]*derivative[72] + cells[c].My[27]*derivative[73] + cells[c].My[28]*derivative[74] + cells[c].My[29]*derivative[75] + cells[c].My[2]*derivative[17] + cells[c].My[30]*derivative[78] + cells[c].My[31]*derivative[79] + cells[c].My[32]*derivative[80] + cells[c].My[33]*derivative[81] + cells[c].My[34]*derivative[82] + cells[c].My[3]*derivative[18] + cells[c].My[4]*derivative[24] + cells[c].My[5]*derivative[27] + cells[c].My[6]*derivative[28] + cells[c].My[7]*derivative[31] + cells[c].My[8]*derivative[32] + cells[c].My[9]*derivative[33] + cells[c].Mz[0]*derivative[9] + cells[c].Mz[10]*derivative[40] + cells[c].Mz[11]*derivative[43] + cells[c].Mz[12]*derivative[44] + cells[c].Mz[13]*derivative[47] + cells[c].Mz[14]*derivative[48] + cells[c].Mz[15]*derivative[49] + cells[c].Mz[16]*derivative[52] + cells[c].Mz[17]*derivative[53] + cells[c].Mz[18]*derivative[54] + cells[c].Mz[19]*derivative[55] + cells[c].Mz[1]*derivative[15] + cells[c].Mz[20]*derivative[61] + cells[c].Mz[21]*derivative[64] + cells[c].Mz[22]*derivative[65] + cells[c].Mz[23]*derivative[68] + cells[c].Mz[24]*derivative[69] + cells[c].Mz[25]*derivative[70] + cells[c].Mz[26]*derivative[73] + cells[c].Mz[27]*derivative[74] + cells[c].Mz[28]*derivative[75] + cells[c].Mz[29]*derivative[76] + cells[c].Mz[2]*derivative[18] + cells[c].Mz[30]*derivative[79] + cells[c].Mz[31]*derivative[80] + cells[c].Mz[32]*derivative[81] + cells[c].Mz[33]*derivative[82] + cells[c].Mz[34]*derivative[83] + cells[c].Mz[3]*derivative[19] + cells[c].Mz[4]*derivative[25] + cells[c].Mz[5]*derivative[28] + cells[c].Mz[6]*derivative[29] + cells[c].Mz[7]*derivative[32] + cells[c].Mz[8]*derivative[33] + cells[c].Mz[9]*derivative[34]; -} -void P2M_5(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit) { - unsigned int l; - - if (cells[p].nleaf >= ncrit) { - for(int c = 0; c < 8; c++) { - if (cells[p].nchild & (1 << c)) { - P2M_5(particles, cells[p].child[c], cells, ncrit); - } - } - } - else { - for(unsigned int i = 0; i < (cells[p].nleaf); i++) { - l = cells[p].leaf[i]; -double dx = (particles[l].x - cells[p].x); -double dy = (particles[l].y - cells[p].y); -double dz = (particles[l].z - cells[p].z); - cells[p].Mx[0] += particles[l].mux; - cells[p].Mx[1] += -dx*particles[l].mux; - cells[p].Mx[2] += -dy*particles[l].mux; - cells[p].Mx[3] += -dz*particles[l].mux; - cells[p].Mx[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].mux; - cells[p].Mx[5] += dx*dy*particles[l].mux; - cells[p].Mx[6] += dx*dz*particles[l].mux; - cells[p].Mx[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[8] += dy*dz*particles[l].mux; - cells[p].Mx[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].mux; - cells[p].Mx[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].mux; - cells[p].Mx[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].mux; - cells[p].Mx[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].mux; - cells[p].Mx[14] += -dx*dy*dz*particles[l].mux; - cells[p].Mx[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].mux; - cells[p].Mx[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].mux; - cells[p].Mx[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].mux; - cells[p].Mx[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].mux; - cells[p].Mx[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].mux; - cells[p].Mx[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].mux; - cells[p].Mx[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].mux; - cells[p].Mx[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].mux; - cells[p].Mx[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].mux; - cells[p].Mx[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].mux; - cells[p].Mx[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].mux; - cells[p].Mx[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].mux; - cells[p].Mx[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].mux; - cells[p].Mx[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].mux; - cells[p].Mx[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].mux; - cells[p].Mx[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].mux; - cells[p].Mx[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].mux; - cells[p].Mx[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].mux; - cells[p].Mx[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].mux; - cells[p].Mx[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].mux; - cells[p].Mx[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].mux; - cells[p].My[0] += particles[l].muy; - cells[p].My[1] += -dx*particles[l].muy; - cells[p].My[2] += -dy*particles[l].muy; - cells[p].My[3] += -dz*particles[l].muy; - cells[p].My[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muy; - cells[p].My[5] += dx*dy*particles[l].muy; - cells[p].My[6] += dx*dz*particles[l].muy; - cells[p].My[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muy; - cells[p].My[8] += dy*dz*particles[l].muy; - cells[p].My[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muy; - cells[p].My[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muy; - cells[p].My[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muy; - cells[p].My[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muy; - cells[p].My[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muy; - cells[p].My[14] += -dx*dy*dz*particles[l].muy; - cells[p].My[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muy; - cells[p].My[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muy; - cells[p].My[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muy; - cells[p].My[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].muy; - cells[p].My[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].muy; - cells[p].My[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].muy; - cells[p].My[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].muy; - cells[p].My[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].muy; - cells[p].My[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].muy; - cells[p].My[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].muy; - cells[p].My[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].muy; - cells[p].My[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].muy; - cells[p].My[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].muy; - cells[p].My[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].muy; - cells[p].My[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].muy; - cells[p].My[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].muy; - cells[p].My[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].muy; - cells[p].My[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].muy; - cells[p].My[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].muy; - cells[p].My[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].muy; - cells[p].My[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].muy; - cells[p].My[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].muy; - cells[p].My[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].muy; - cells[p].My[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].muy; - cells[p].Mz[0] += particles[l].muz; - cells[p].Mz[1] += -dx*particles[l].muz; - cells[p].Mz[2] += -dy*particles[l].muz; - cells[p].Mz[3] += -dz*particles[l].muz; - cells[p].Mz[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muz; - cells[p].Mz[5] += dx*dy*particles[l].muz; - cells[p].Mz[6] += dx*dz*particles[l].muz; - cells[p].Mz[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[8] += dy*dz*particles[l].muz; - cells[p].Mz[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muz; - cells[p].Mz[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muz; - cells[p].Mz[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muz; - cells[p].Mz[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muz; - cells[p].Mz[14] += -dx*dy*dz*particles[l].muz; - cells[p].Mz[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muz; - cells[p].Mz[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muz; - cells[p].Mz[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muz; - cells[p].Mz[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].muz; - cells[p].Mz[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].muz; - cells[p].Mz[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].muz; - cells[p].Mz[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].muz; - cells[p].Mz[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].muz; - cells[p].Mz[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].muz; - cells[p].Mz[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].muz; - cells[p].Mz[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].muz; - cells[p].Mz[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].muz; - cells[p].Mz[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].muz; - cells[p].Mz[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].muz; - cells[p].Mz[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].muz; - cells[p].Mz[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].muz; - cells[p].Mz[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].muz; - cells[p].Mz[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].muz; - cells[p].Mz[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].muz; - cells[p].Mz[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].muz; - cells[p].Mz[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].muz; - } - } -} - - -void M2M_5(unsigned int p, unsigned int c, std::vector &cells) { -double dx = (cells[p].x - cells[c].x); -double dy = (cells[p].y - cells[c].y); -double dz = (cells[p].z - cells[c].z); - cells[p].Mx[0] += cells[c].Mx[0]; - cells[p].Mx[1] += cells[c].Mx[0]*dx + cells[c].Mx[1]; - cells[p].Mx[2] += cells[c].Mx[0]*dy + cells[c].Mx[2]; - cells[p].Mx[3] += cells[c].Mx[0]*dz + cells[c].Mx[3]; - cells[p].Mx[4] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2) + cells[c].Mx[1]*dx + cells[c].Mx[4]; - cells[p].Mx[5] += cells[c].Mx[0]*dx*dy + cells[c].Mx[1]*dy + cells[c].Mx[2]*dx + cells[c].Mx[5]; - cells[p].Mx[6] += cells[c].Mx[0]*dx*dz + cells[c].Mx[1]*dz + cells[c].Mx[3]*dx + cells[c].Mx[6]; - cells[p].Mx[7] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2) + cells[c].Mx[2]*dy + cells[c].Mx[7]; - cells[p].Mx[8] += cells[c].Mx[0]*dy*dz + cells[c].Mx[2]*dz + cells[c].Mx[3]*dy + cells[c].Mx[8]; - cells[p].Mx[9] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dz, 2) + cells[c].Mx[3]*dz + cells[c].Mx[9]; - cells[p].Mx[10] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3) + cells[c].Mx[10] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2) + cells[c].Mx[4]*dx; - cells[p].Mx[11] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy + cells[c].Mx[11] + cells[c].Mx[1]*dx*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2) + cells[c].Mx[4]*dy + cells[c].Mx[5]*dx; - cells[p].Mx[12] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dz + cells[c].Mx[12] + cells[c].Mx[1]*dx*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2) + cells[c].Mx[4]*dz + cells[c].Mx[6]*dx; - cells[p].Mx[13] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2) + cells[c].Mx[13] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2) + cells[c].Mx[2]*dx*dy + cells[c].Mx[5]*dy + cells[c].Mx[7]*dx; - cells[p].Mx[14] += cells[c].Mx[0]*dx*dy*dz + cells[c].Mx[14] + cells[c].Mx[1]*dy*dz + cells[c].Mx[2]*dx*dz + cells[c].Mx[3]*dx*dy + cells[c].Mx[5]*dz + cells[c].Mx[6]*dy + cells[c].Mx[8]*dx; - cells[p].Mx[15] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dz, 2) + cells[c].Mx[15] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dz, 2) + cells[c].Mx[3]*dx*dz + cells[c].Mx[6]*dz + cells[c].Mx[9]*dx; - cells[p].Mx[16] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3) + cells[c].Mx[16] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2) + cells[c].Mx[7]*dy; - cells[p].Mx[17] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2)*dz + cells[c].Mx[17] + cells[c].Mx[2]*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2) + cells[c].Mx[7]*dz + cells[c].Mx[8]*dy; - cells[p].Mx[18] += (1.0L/2.0L)*cells[c].Mx[0]*dy*pow(dz, 2) + cells[c].Mx[18] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dz, 2) + cells[c].Mx[3]*dy*dz + cells[c].Mx[8]*dz + cells[c].Mx[9]*dy; - cells[p].Mx[19] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dz, 3) + cells[c].Mx[19] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dz, 2) + cells[c].Mx[9]*dz; - cells[p].Mx[20] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4) + cells[c].Mx[10]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3) + cells[c].Mx[20] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2); - cells[p].Mx[21] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dy + cells[c].Mx[10]*dy + cells[c].Mx[11]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dy + cells[c].Mx[21] + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3) + cells[c].Mx[4]*dx*dy + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2); - cells[p].Mx[22] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dz + cells[c].Mx[10]*dz + cells[c].Mx[12]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dz + cells[c].Mx[22] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3) + cells[c].Mx[4]*dx*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2); - cells[p].Mx[23] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[11]*dy + cells[c].Mx[13]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dy, 2) + cells[c].Mx[23] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mx[4]*pow(dy, 2) + cells[c].Mx[5]*dx*dy + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2); - cells[p].Mx[24] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*dz + cells[c].Mx[11]*dz + cells[c].Mx[12]*dy + cells[c].Mx[14]*dx + cells[c].Mx[1]*dx*dy*dz + cells[c].Mx[24] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dy + cells[c].Mx[4]*dy*dz + cells[c].Mx[5]*dx*dz + cells[c].Mx[6]*dx*dy + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2); - cells[p].Mx[25] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[12]*dz + cells[c].Mx[15]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dz, 2) + cells[c].Mx[25] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[4]*pow(dz, 2) + cells[c].Mx[6]*dx*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2); - cells[p].Mx[26] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dy, 3) + cells[c].Mx[13]*dy + cells[c].Mx[16]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dy, 3) + cells[c].Mx[26] + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[5]*pow(dy, 2) + cells[c].Mx[7]*dx*dy; - cells[p].Mx[27] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*dz + cells[c].Mx[13]*dz + cells[c].Mx[14]*dy + cells[c].Mx[17]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2)*dz + cells[c].Mx[27] + cells[c].Mx[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dy, 2) + cells[c].Mx[5]*dy*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dy, 2) + cells[c].Mx[7]*dx*dz + cells[c].Mx[8]*dx*dy; - cells[p].Mx[28] += (1.0L/2.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 2) + cells[c].Mx[14]*dz + cells[c].Mx[15]*dy + cells[c].Mx[18]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dy*pow(dz, 2) + cells[c].Mx[28] + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dz, 2) + cells[c].Mx[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dz, 2) + cells[c].Mx[6]*dy*dz + cells[c].Mx[8]*dx*dz + cells[c].Mx[9]*dx*dy; - cells[p].Mx[29] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dz, 3) + cells[c].Mx[15]*dz + cells[c].Mx[19]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dz, 3) + cells[c].Mx[29] + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dz, 2) + cells[c].Mx[9]*dx*dz; - cells[p].Mx[30] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dy, 4) + cells[c].Mx[16]*dy + (1.0L/6.0L)*cells[c].Mx[2]*pow(dy, 3) + cells[c].Mx[30] + (1.0L/2.0L)*cells[c].Mx[7]*pow(dy, 2); - cells[p].Mx[31] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3)*dz + cells[c].Mx[16]*dz + cells[c].Mx[17]*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2)*dz + cells[c].Mx[31] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dy, 3) + cells[c].Mx[7]*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dy, 2); - cells[p].Mx[32] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[17]*dz + cells[c].Mx[18]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dy*pow(dz, 2) + cells[c].Mx[32] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[7]*pow(dz, 2) + cells[c].Mx[8]*dy*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dy, 2); - cells[p].Mx[33] += (1.0L/6.0L)*cells[c].Mx[0]*dy*pow(dz, 3) + cells[c].Mx[18]*dz + cells[c].Mx[19]*dy + (1.0L/6.0L)*cells[c].Mx[2]*pow(dz, 3) + cells[c].Mx[33] + (1.0L/2.0L)*cells[c].Mx[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dz, 2) + cells[c].Mx[9]*dy*dz; - cells[p].Mx[34] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dz, 4) + cells[c].Mx[19]*dz + cells[c].Mx[34] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dz, 2); - cells[p].Mx[35] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dx, 4) + cells[c].Mx[20]*dx + cells[c].Mx[35] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dx, 3); - cells[p].Mx[36] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4)*dy + cells[c].Mx[10]*dx*dy + (1.0L/2.0L)*cells[c].Mx[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3)*dy + cells[c].Mx[20]*dy + cells[c].Mx[21]*dx + (1.0L/24.0L)*cells[c].Mx[2]*pow(dx, 4) + cells[c].Mx[36] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[5]*pow(dx, 3); - cells[p].Mx[37] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4)*dz + cells[c].Mx[10]*dx*dz + (1.0L/2.0L)*cells[c].Mx[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3)*dz + cells[c].Mx[20]*dz + cells[c].Mx[22]*dx + cells[c].Mx[37] + (1.0L/24.0L)*cells[c].Mx[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[6]*pow(dx, 3); - cells[p].Mx[38] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dy, 2) + cells[c].Mx[11]*dx*dy + (1.0L/2.0L)*cells[c].Mx[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[21]*dy + cells[c].Mx[23]*dx + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3)*dy + cells[c].Mx[38] + (1.0L/2.0L)*cells[c].Mx[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[7]*pow(dx, 3); - cells[p].Mx[39] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dy*dz + cells[c].Mx[10]*dy*dz + cells[c].Mx[11]*dx*dz + cells[c].Mx[12]*dx*dy + (1.0L/2.0L)*cells[c].Mx[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dy*dz + cells[c].Mx[21]*dz + cells[c].Mx[22]*dy + cells[c].Mx[24]*dx + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3)*dz + cells[c].Mx[39] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3)*dy + cells[c].Mx[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[8]*pow(dx, 3); - cells[p].Mx[40] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dz, 2) + cells[c].Mx[12]*dx*dz + (1.0L/2.0L)*cells[c].Mx[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[22]*dz + cells[c].Mx[25]*dx + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3)*dz + cells[c].Mx[40] + (1.0L/2.0L)*cells[c].Mx[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[9]*pow(dx, 3); - cells[p].Mx[41] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[11]*pow(dy, 2) + cells[c].Mx[13]*dx*dy + (1.0L/2.0L)*cells[c].Mx[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*dx*pow(dy, 3) + cells[c].Mx[23]*dy + cells[c].Mx[26]*dx + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[41] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2)*dy; - cells[p].Mx[42] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[11]*dy*dz + (1.0L/2.0L)*cells[c].Mx[12]*pow(dy, 2) + cells[c].Mx[13]*dx*dz + cells[c].Mx[14]*dx*dy + (1.0L/2.0L)*cells[c].Mx[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dy, 2)*dz + cells[c].Mx[23]*dz + cells[c].Mx[24]*dy + cells[c].Mx[27]*dx + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[42] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dy, 2)*dz + cells[c].Mx[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2)*dy; - cells[p].Mx[43] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[11]*pow(dz, 2) + cells[c].Mx[12]*dy*dz + cells[c].Mx[14]*dx*dz + cells[c].Mx[15]*dx*dy + (1.0L/2.0L)*cells[c].Mx[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*dx*dy*pow(dz, 2) + cells[c].Mx[24]*dz + cells[c].Mx[25]*dy + cells[c].Mx[28]*dx + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dy*dz + cells[c].Mx[43] + (1.0L/2.0L)*cells[c].Mx[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[5]*dx*pow(dz, 2) + cells[c].Mx[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2)*dy; - cells[p].Mx[44] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[12]*pow(dz, 2) + cells[c].Mx[15]*dx*dz + (1.0L/2.0L)*cells[c].Mx[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*dx*pow(dz, 3) + cells[c].Mx[25]*dz + cells[c].Mx[29]*dx + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[44] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2)*dz; - cells[p].Mx[45] += (1.0L/24.0L)*cells[c].Mx[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dy, 2) + cells[c].Mx[16]*dx*dy + (1.0L/24.0L)*cells[c].Mx[1]*pow(dy, 4) + cells[c].Mx[26]*dy + (1.0L/6.0L)*cells[c].Mx[2]*dx*pow(dy, 3) + cells[c].Mx[30]*dx + cells[c].Mx[45] + (1.0L/6.0L)*cells[c].Mx[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[7]*dx*pow(dy, 2); - cells[p].Mx[46] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dy, 3)*dz + cells[c].Mx[13]*dy*dz + (1.0L/2.0L)*cells[c].Mx[14]*pow(dy, 2) + cells[c].Mx[16]*dx*dz + cells[c].Mx[17]*dx*dy + (1.0L/6.0L)*cells[c].Mx[1]*pow(dy, 3)*dz + cells[c].Mx[26]*dz + cells[c].Mx[27]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dy, 2)*dz + cells[c].Mx[31]*dx + (1.0L/6.0L)*cells[c].Mx[3]*dx*pow(dy, 3) + cells[c].Mx[46] + (1.0L/2.0L)*cells[c].Mx[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[6]*pow(dy, 3) + cells[c].Mx[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*dx*pow(dy, 2); - cells[p].Mx[47] += (1.0L/4.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dz, 2) + cells[c].Mx[14]*dy*dz + (1.0L/2.0L)*cells[c].Mx[15]*pow(dy, 2) + cells[c].Mx[17]*dx*dz + cells[c].Mx[18]*dx*dy + (1.0L/4.0L)*cells[c].Mx[1]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[27]*dz + cells[c].Mx[28]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dx*dy*pow(dz, 2) + cells[c].Mx[32]*dx + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dy, 2)*dz + cells[c].Mx[47] + (1.0L/2.0L)*cells[c].Mx[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[7]*dx*pow(dz, 2) + cells[c].Mx[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[9]*dx*pow(dy, 2); - cells[p].Mx[48] += (1.0L/6.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[14]*pow(dz, 2) + cells[c].Mx[15]*dy*dz + cells[c].Mx[18]*dx*dz + cells[c].Mx[19]*dx*dy + (1.0L/6.0L)*cells[c].Mx[1]*dy*pow(dz, 3) + cells[c].Mx[28]*dz + cells[c].Mx[29]*dy + (1.0L/6.0L)*cells[c].Mx[2]*dx*pow(dz, 3) + cells[c].Mx[33]*dx + (1.0L/2.0L)*cells[c].Mx[3]*dx*dy*pow(dz, 2) + cells[c].Mx[48] + (1.0L/6.0L)*cells[c].Mx[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*dx*pow(dz, 2) + cells[c].Mx[9]*dx*dy*dz; - cells[p].Mx[49] += (1.0L/24.0L)*cells[c].Mx[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[15]*pow(dz, 2) + cells[c].Mx[19]*dx*dz + (1.0L/24.0L)*cells[c].Mx[1]*pow(dz, 4) + cells[c].Mx[29]*dz + cells[c].Mx[34]*dx + (1.0L/6.0L)*cells[c].Mx[3]*dx*pow(dz, 3) + cells[c].Mx[49] + (1.0L/6.0L)*cells[c].Mx[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*dx*pow(dz, 2); - cells[p].Mx[50] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dy, 4) + cells[c].Mx[30]*dy + cells[c].Mx[50] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dy, 3); - cells[p].Mx[51] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dy, 4)*dz + cells[c].Mx[16]*dy*dz + (1.0L/2.0L)*cells[c].Mx[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*pow(dy, 3)*dz + cells[c].Mx[30]*dz + cells[c].Mx[31]*dy + (1.0L/24.0L)*cells[c].Mx[3]*pow(dy, 4) + cells[c].Mx[51] + (1.0L/2.0L)*cells[c].Mx[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[8]*pow(dy, 3); - cells[p].Mx[52] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dz, 2) + cells[c].Mx[17]*dy*dz + (1.0L/2.0L)*cells[c].Mx[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mx[2]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[31]*dz + cells[c].Mx[32]*dy + (1.0L/6.0L)*cells[c].Mx[3]*pow(dy, 3)*dz + cells[c].Mx[52] + (1.0L/2.0L)*cells[c].Mx[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[9]*pow(dy, 3); - cells[p].Mx[53] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[17]*pow(dz, 2) + cells[c].Mx[18]*dy*dz + (1.0L/2.0L)*cells[c].Mx[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*dy*pow(dz, 3) + cells[c].Mx[32]*dz + cells[c].Mx[33]*dy + (1.0L/4.0L)*cells[c].Mx[3]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[53] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dy, 2)*dz; - cells[p].Mx[54] += (1.0L/24.0L)*cells[c].Mx[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[18]*pow(dz, 2) + cells[c].Mx[19]*dy*dz + (1.0L/24.0L)*cells[c].Mx[2]*pow(dz, 4) + cells[c].Mx[33]*dz + cells[c].Mx[34]*dy + (1.0L/6.0L)*cells[c].Mx[3]*dy*pow(dz, 3) + cells[c].Mx[54] + (1.0L/6.0L)*cells[c].Mx[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*dy*pow(dz, 2); - cells[p].Mx[55] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[19]*pow(dz, 2) + cells[c].Mx[34]*dz + (1.0L/24.0L)*cells[c].Mx[3]*pow(dz, 4) + cells[c].Mx[55] + (1.0L/6.0L)*cells[c].Mx[9]*pow(dz, 3); - - - cells[p].My[0] += cells[c].My[0]; - cells[p].My[1] += cells[c].My[0]*dx + cells[c].My[1]; - cells[p].My[2] += cells[c].My[0]*dy + cells[c].My[2]; - cells[p].My[3] += cells[c].My[0]*dz + cells[c].My[3]; - cells[p].My[4] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2) + cells[c].My[1]*dx + cells[c].My[4]; - cells[p].My[5] += cells[c].My[0]*dx*dy + cells[c].My[1]*dy + cells[c].My[2]*dx + cells[c].My[5]; - cells[p].My[6] += cells[c].My[0]*dx*dz + cells[c].My[1]*dz + cells[c].My[3]*dx + cells[c].My[6]; - cells[p].My[7] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2) + cells[c].My[2]*dy + cells[c].My[7]; - cells[p].My[8] += cells[c].My[0]*dy*dz + cells[c].My[2]*dz + cells[c].My[3]*dy + cells[c].My[8]; - cells[p].My[9] += (1.0L/2.0L)*cells[c].My[0]*pow(dz, 2) + cells[c].My[3]*dz + cells[c].My[9]; - cells[p].My[10] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3) + cells[c].My[10] + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2) + cells[c].My[4]*dx; - cells[p].My[11] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy + cells[c].My[11] + cells[c].My[1]*dx*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2) + cells[c].My[4]*dy + cells[c].My[5]*dx; - cells[p].My[12] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dz + cells[c].My[12] + cells[c].My[1]*dx*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2) + cells[c].My[4]*dz + cells[c].My[6]*dx; - cells[p].My[13] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2) + cells[c].My[13] + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2) + cells[c].My[2]*dx*dy + cells[c].My[5]*dy + cells[c].My[7]*dx; - cells[p].My[14] += cells[c].My[0]*dx*dy*dz + cells[c].My[14] + cells[c].My[1]*dy*dz + cells[c].My[2]*dx*dz + cells[c].My[3]*dx*dy + cells[c].My[5]*dz + cells[c].My[6]*dy + cells[c].My[8]*dx; - cells[p].My[15] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dz, 2) + cells[c].My[15] + (1.0L/2.0L)*cells[c].My[1]*pow(dz, 2) + cells[c].My[3]*dx*dz + cells[c].My[6]*dz + cells[c].My[9]*dx; - cells[p].My[16] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3) + cells[c].My[16] + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2) + cells[c].My[7]*dy; - cells[p].My[17] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2)*dz + cells[c].My[17] + cells[c].My[2]*dy*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2) + cells[c].My[7]*dz + cells[c].My[8]*dy; - cells[p].My[18] += (1.0L/2.0L)*cells[c].My[0]*dy*pow(dz, 2) + cells[c].My[18] + (1.0L/2.0L)*cells[c].My[2]*pow(dz, 2) + cells[c].My[3]*dy*dz + cells[c].My[8]*dz + cells[c].My[9]*dy; - cells[p].My[19] += (1.0L/6.0L)*cells[c].My[0]*pow(dz, 3) + cells[c].My[19] + (1.0L/2.0L)*cells[c].My[3]*pow(dz, 2) + cells[c].My[9]*dz; - cells[p].My[20] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4) + cells[c].My[10]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3) + cells[c].My[20] + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2); - cells[p].My[21] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dy + cells[c].My[10]*dy + cells[c].My[11]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dy + cells[c].My[21] + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3) + cells[c].My[4]*dx*dy + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2); - cells[p].My[22] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dz + cells[c].My[10]*dz + cells[c].My[12]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dz + cells[c].My[22] + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3) + cells[c].My[4]*dx*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2); - cells[p].My[23] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2) + cells[c].My[11]*dy + cells[c].My[13]*dx + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dy, 2) + cells[c].My[23] + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].My[4]*pow(dy, 2) + cells[c].My[5]*dx*dy + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2); - cells[p].My[24] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy*dz + cells[c].My[11]*dz + cells[c].My[12]*dy + cells[c].My[14]*dx + cells[c].My[1]*dx*dy*dz + cells[c].My[24] + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dy + cells[c].My[4]*dy*dz + cells[c].My[5]*dx*dz + cells[c].My[6]*dx*dy + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2); - cells[p].My[25] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 2) + cells[c].My[12]*dz + cells[c].My[15]*dx + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dz, 2) + cells[c].My[25] + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[4]*pow(dz, 2) + cells[c].My[6]*dx*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2); - cells[p].My[26] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dy, 3) + cells[c].My[13]*dy + cells[c].My[16]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dy, 3) + cells[c].My[26] + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[5]*pow(dy, 2) + cells[c].My[7]*dx*dy; - cells[p].My[27] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2)*dz + cells[c].My[13]*dz + cells[c].My[14]*dy + cells[c].My[17]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2)*dz + cells[c].My[27] + cells[c].My[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dy, 2) + cells[c].My[5]*dy*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dy, 2) + cells[c].My[7]*dx*dz + cells[c].My[8]*dx*dy; - cells[p].My[28] += (1.0L/2.0L)*cells[c].My[0]*dx*dy*pow(dz, 2) + cells[c].My[14]*dz + cells[c].My[15]*dy + cells[c].My[18]*dx + (1.0L/2.0L)*cells[c].My[1]*dy*pow(dz, 2) + cells[c].My[28] + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dz, 2) + cells[c].My[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dz, 2) + cells[c].My[6]*dy*dz + cells[c].My[8]*dx*dz + cells[c].My[9]*dx*dy; - cells[p].My[29] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dz, 3) + cells[c].My[15]*dz + cells[c].My[19]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dz, 3) + cells[c].My[29] + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dz, 2) + cells[c].My[9]*dx*dz; - cells[p].My[30] += (1.0L/24.0L)*cells[c].My[0]*pow(dy, 4) + cells[c].My[16]*dy + (1.0L/6.0L)*cells[c].My[2]*pow(dy, 3) + cells[c].My[30] + (1.0L/2.0L)*cells[c].My[7]*pow(dy, 2); - cells[p].My[31] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3)*dz + cells[c].My[16]*dz + cells[c].My[17]*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2)*dz + cells[c].My[31] + (1.0L/6.0L)*cells[c].My[3]*pow(dy, 3) + cells[c].My[7]*dy*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dy, 2); - cells[p].My[32] += (1.0L/4.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 2) + cells[c].My[17]*dz + cells[c].My[18]*dy + (1.0L/2.0L)*cells[c].My[2]*dy*pow(dz, 2) + cells[c].My[32] + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[7]*pow(dz, 2) + cells[c].My[8]*dy*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dy, 2); - cells[p].My[33] += (1.0L/6.0L)*cells[c].My[0]*dy*pow(dz, 3) + cells[c].My[18]*dz + cells[c].My[19]*dy + (1.0L/6.0L)*cells[c].My[2]*pow(dz, 3) + cells[c].My[33] + (1.0L/2.0L)*cells[c].My[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dz, 2) + cells[c].My[9]*dy*dz; - cells[p].My[34] += (1.0L/24.0L)*cells[c].My[0]*pow(dz, 4) + cells[c].My[19]*dz + cells[c].My[34] + (1.0L/6.0L)*cells[c].My[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*pow(dz, 2); - cells[p].My[35] += (1.0L/120.0L)*cells[c].My[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].My[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[1]*pow(dx, 4) + cells[c].My[20]*dx + cells[c].My[35] + (1.0L/6.0L)*cells[c].My[4]*pow(dx, 3); - cells[p].My[36] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4)*dy + cells[c].My[10]*dx*dy + (1.0L/2.0L)*cells[c].My[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3)*dy + cells[c].My[20]*dy + cells[c].My[21]*dx + (1.0L/24.0L)*cells[c].My[2]*pow(dx, 4) + cells[c].My[36] + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[5]*pow(dx, 3); - cells[p].My[37] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4)*dz + cells[c].My[10]*dx*dz + (1.0L/2.0L)*cells[c].My[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3)*dz + cells[c].My[20]*dz + cells[c].My[22]*dx + cells[c].My[37] + (1.0L/24.0L)*cells[c].My[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[6]*pow(dx, 3); - cells[p].My[38] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[10]*pow(dy, 2) + cells[c].My[11]*dx*dy + (1.0L/2.0L)*cells[c].My[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 2) + cells[c].My[21]*dy + cells[c].My[23]*dx + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3)*dy + cells[c].My[38] + (1.0L/2.0L)*cells[c].My[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[7]*pow(dx, 3); - cells[p].My[39] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dy*dz + cells[c].My[10]*dy*dz + cells[c].My[11]*dx*dz + cells[c].My[12]*dx*dy + (1.0L/2.0L)*cells[c].My[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dy*dz + cells[c].My[21]*dz + cells[c].My[22]*dy + cells[c].My[24]*dx + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3)*dz + cells[c].My[39] + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3)*dy + cells[c].My[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[8]*pow(dx, 3); - cells[p].My[40] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[10]*pow(dz, 2) + cells[c].My[12]*dx*dz + (1.0L/2.0L)*cells[c].My[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*pow(dz, 2) + cells[c].My[22]*dz + cells[c].My[25]*dx + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3)*dz + cells[c].My[40] + (1.0L/2.0L)*cells[c].My[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[9]*pow(dx, 3); - cells[p].My[41] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[11]*pow(dy, 2) + cells[c].My[13]*dx*dy + (1.0L/2.0L)*cells[c].My[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*dx*pow(dy, 3) + cells[c].My[23]*dy + cells[c].My[26]*dx + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 2) + cells[c].My[41] + (1.0L/6.0L)*cells[c].My[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2)*dy; - cells[p].My[42] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[11]*dy*dz + (1.0L/2.0L)*cells[c].My[12]*pow(dy, 2) + cells[c].My[13]*dx*dz + cells[c].My[14]*dx*dy + (1.0L/2.0L)*cells[c].My[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dy, 2)*dz + cells[c].My[23]*dz + cells[c].My[24]*dy + cells[c].My[27]*dx + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 2) + cells[c].My[42] + (1.0L/2.0L)*cells[c].My[4]*pow(dy, 2)*dz + cells[c].My[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2)*dy; - cells[p].My[43] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[11]*pow(dz, 2) + cells[c].My[12]*dy*dz + cells[c].My[14]*dx*dz + cells[c].My[15]*dx*dy + (1.0L/2.0L)*cells[c].My[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*dx*dy*pow(dz, 2) + cells[c].My[24]*dz + cells[c].My[25]*dy + cells[c].My[28]*dx + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dy*dz + cells[c].My[43] + (1.0L/2.0L)*cells[c].My[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[5]*dx*pow(dz, 2) + cells[c].My[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2)*dy; - cells[p].My[44] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[12]*pow(dz, 2) + cells[c].My[15]*dx*dz + (1.0L/2.0L)*cells[c].My[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*dx*pow(dz, 3) + cells[c].My[25]*dz + cells[c].My[29]*dx + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*pow(dz, 2) + cells[c].My[44] + (1.0L/6.0L)*cells[c].My[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2)*dz; - cells[p].My[45] += (1.0L/24.0L)*cells[c].My[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[13]*pow(dy, 2) + cells[c].My[16]*dx*dy + (1.0L/24.0L)*cells[c].My[1]*pow(dy, 4) + cells[c].My[26]*dy + (1.0L/6.0L)*cells[c].My[2]*dx*pow(dy, 3) + cells[c].My[30]*dx + cells[c].My[45] + (1.0L/6.0L)*cells[c].My[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[7]*dx*pow(dy, 2); - cells[p].My[46] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dy, 3)*dz + cells[c].My[13]*dy*dz + (1.0L/2.0L)*cells[c].My[14]*pow(dy, 2) + cells[c].My[16]*dx*dz + cells[c].My[17]*dx*dy + (1.0L/6.0L)*cells[c].My[1]*pow(dy, 3)*dz + cells[c].My[26]*dz + cells[c].My[27]*dy + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dy, 2)*dz + cells[c].My[31]*dx + (1.0L/6.0L)*cells[c].My[3]*dx*pow(dy, 3) + cells[c].My[46] + (1.0L/2.0L)*cells[c].My[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[6]*pow(dy, 3) + cells[c].My[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[8]*dx*pow(dy, 2); - cells[p].My[47] += (1.0L/4.0L)*cells[c].My[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[13]*pow(dz, 2) + cells[c].My[14]*dy*dz + (1.0L/2.0L)*cells[c].My[15]*pow(dy, 2) + cells[c].My[17]*dx*dz + cells[c].My[18]*dx*dy + (1.0L/4.0L)*cells[c].My[1]*pow(dy, 2)*pow(dz, 2) + cells[c].My[27]*dz + cells[c].My[28]*dy + (1.0L/2.0L)*cells[c].My[2]*dx*dy*pow(dz, 2) + cells[c].My[32]*dx + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dy, 2)*dz + cells[c].My[47] + (1.0L/2.0L)*cells[c].My[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[7]*dx*pow(dz, 2) + cells[c].My[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[9]*dx*pow(dy, 2); - cells[p].My[48] += (1.0L/6.0L)*cells[c].My[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[14]*pow(dz, 2) + cells[c].My[15]*dy*dz + cells[c].My[18]*dx*dz + cells[c].My[19]*dx*dy + (1.0L/6.0L)*cells[c].My[1]*dy*pow(dz, 3) + cells[c].My[28]*dz + cells[c].My[29]*dy + (1.0L/6.0L)*cells[c].My[2]*dx*pow(dz, 3) + cells[c].My[33]*dx + (1.0L/2.0L)*cells[c].My[3]*dx*dy*pow(dz, 2) + cells[c].My[48] + (1.0L/6.0L)*cells[c].My[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*dx*pow(dz, 2) + cells[c].My[9]*dx*dy*dz; - cells[p].My[49] += (1.0L/24.0L)*cells[c].My[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[15]*pow(dz, 2) + cells[c].My[19]*dx*dz + (1.0L/24.0L)*cells[c].My[1]*pow(dz, 4) + cells[c].My[29]*dz + cells[c].My[34]*dx + (1.0L/6.0L)*cells[c].My[3]*dx*pow(dz, 3) + cells[c].My[49] + (1.0L/6.0L)*cells[c].My[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*dx*pow(dz, 2); - cells[p].My[50] += (1.0L/120.0L)*cells[c].My[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[2]*pow(dy, 4) + cells[c].My[30]*dy + cells[c].My[50] + (1.0L/6.0L)*cells[c].My[7]*pow(dy, 3); - cells[p].My[51] += (1.0L/24.0L)*cells[c].My[0]*pow(dy, 4)*dz + cells[c].My[16]*dy*dz + (1.0L/2.0L)*cells[c].My[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*pow(dy, 3)*dz + cells[c].My[30]*dz + cells[c].My[31]*dy + (1.0L/24.0L)*cells[c].My[3]*pow(dy, 4) + cells[c].My[51] + (1.0L/2.0L)*cells[c].My[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[8]*pow(dy, 3); - cells[p].My[52] += (1.0L/12.0L)*cells[c].My[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[16]*pow(dz, 2) + cells[c].My[17]*dy*dz + (1.0L/2.0L)*cells[c].My[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].My[2]*pow(dy, 2)*pow(dz, 2) + cells[c].My[31]*dz + cells[c].My[32]*dy + (1.0L/6.0L)*cells[c].My[3]*pow(dy, 3)*dz + cells[c].My[52] + (1.0L/2.0L)*cells[c].My[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[9]*pow(dy, 3); - cells[p].My[53] += (1.0L/12.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[17]*pow(dz, 2) + cells[c].My[18]*dy*dz + (1.0L/2.0L)*cells[c].My[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*dy*pow(dz, 3) + cells[c].My[32]*dz + cells[c].My[33]*dy + (1.0L/4.0L)*cells[c].My[3]*pow(dy, 2)*pow(dz, 2) + cells[c].My[53] + (1.0L/6.0L)*cells[c].My[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*pow(dy, 2)*dz; - cells[p].My[54] += (1.0L/24.0L)*cells[c].My[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[18]*pow(dz, 2) + cells[c].My[19]*dy*dz + (1.0L/24.0L)*cells[c].My[2]*pow(dz, 4) + cells[c].My[33]*dz + cells[c].My[34]*dy + (1.0L/6.0L)*cells[c].My[3]*dy*pow(dz, 3) + cells[c].My[54] + (1.0L/6.0L)*cells[c].My[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*dy*pow(dz, 2); - cells[p].My[55] += (1.0L/120.0L)*cells[c].My[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[19]*pow(dz, 2) + cells[c].My[34]*dz + (1.0L/24.0L)*cells[c].My[3]*pow(dz, 4) + cells[c].My[55] + (1.0L/6.0L)*cells[c].My[9]*pow(dz, 3); - - - cells[p].Mz[0] += cells[c].Mz[0]; - cells[p].Mz[1] += cells[c].Mz[0]*dx + cells[c].Mz[1]; - cells[p].Mz[2] += cells[c].Mz[0]*dy + cells[c].Mz[2]; - cells[p].Mz[3] += cells[c].Mz[0]*dz + cells[c].Mz[3]; - cells[p].Mz[4] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2) + cells[c].Mz[1]*dx + cells[c].Mz[4]; - cells[p].Mz[5] += cells[c].Mz[0]*dx*dy + cells[c].Mz[1]*dy + cells[c].Mz[2]*dx + cells[c].Mz[5]; - cells[p].Mz[6] += cells[c].Mz[0]*dx*dz + cells[c].Mz[1]*dz + cells[c].Mz[3]*dx + cells[c].Mz[6]; - cells[p].Mz[7] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2) + cells[c].Mz[2]*dy + cells[c].Mz[7]; - cells[p].Mz[8] += cells[c].Mz[0]*dy*dz + cells[c].Mz[2]*dz + cells[c].Mz[3]*dy + cells[c].Mz[8]; - cells[p].Mz[9] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dz, 2) + cells[c].Mz[3]*dz + cells[c].Mz[9]; - cells[p].Mz[10] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3) + cells[c].Mz[10] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2) + cells[c].Mz[4]*dx; - cells[p].Mz[11] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy + cells[c].Mz[11] + cells[c].Mz[1]*dx*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2) + cells[c].Mz[4]*dy + cells[c].Mz[5]*dx; - cells[p].Mz[12] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dz + cells[c].Mz[12] + cells[c].Mz[1]*dx*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2) + cells[c].Mz[4]*dz + cells[c].Mz[6]*dx; - cells[p].Mz[13] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2) + cells[c].Mz[13] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2) + cells[c].Mz[2]*dx*dy + cells[c].Mz[5]*dy + cells[c].Mz[7]*dx; - cells[p].Mz[14] += cells[c].Mz[0]*dx*dy*dz + cells[c].Mz[14] + cells[c].Mz[1]*dy*dz + cells[c].Mz[2]*dx*dz + cells[c].Mz[3]*dx*dy + cells[c].Mz[5]*dz + cells[c].Mz[6]*dy + cells[c].Mz[8]*dx; - cells[p].Mz[15] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dz, 2) + cells[c].Mz[15] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dz, 2) + cells[c].Mz[3]*dx*dz + cells[c].Mz[6]*dz + cells[c].Mz[9]*dx; - cells[p].Mz[16] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3) + cells[c].Mz[16] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2) + cells[c].Mz[7]*dy; - cells[p].Mz[17] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2)*dz + cells[c].Mz[17] + cells[c].Mz[2]*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2) + cells[c].Mz[7]*dz + cells[c].Mz[8]*dy; - cells[p].Mz[18] += (1.0L/2.0L)*cells[c].Mz[0]*dy*pow(dz, 2) + cells[c].Mz[18] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dz, 2) + cells[c].Mz[3]*dy*dz + cells[c].Mz[8]*dz + cells[c].Mz[9]*dy; - cells[p].Mz[19] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dz, 3) + cells[c].Mz[19] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dz, 2) + cells[c].Mz[9]*dz; - cells[p].Mz[20] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4) + cells[c].Mz[10]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3) + cells[c].Mz[20] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2); - cells[p].Mz[21] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dy + cells[c].Mz[10]*dy + cells[c].Mz[11]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dy + cells[c].Mz[21] + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3) + cells[c].Mz[4]*dx*dy + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2); - cells[p].Mz[22] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dz + cells[c].Mz[10]*dz + cells[c].Mz[12]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dz + cells[c].Mz[22] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3) + cells[c].Mz[4]*dx*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2); - cells[p].Mz[23] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[11]*dy + cells[c].Mz[13]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dy, 2) + cells[c].Mz[23] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mz[4]*pow(dy, 2) + cells[c].Mz[5]*dx*dy + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2); - cells[p].Mz[24] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*dz + cells[c].Mz[11]*dz + cells[c].Mz[12]*dy + cells[c].Mz[14]*dx + cells[c].Mz[1]*dx*dy*dz + cells[c].Mz[24] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dy + cells[c].Mz[4]*dy*dz + cells[c].Mz[5]*dx*dz + cells[c].Mz[6]*dx*dy + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2); - cells[p].Mz[25] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[12]*dz + cells[c].Mz[15]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dz, 2) + cells[c].Mz[25] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[4]*pow(dz, 2) + cells[c].Mz[6]*dx*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2); - cells[p].Mz[26] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dy, 3) + cells[c].Mz[13]*dy + cells[c].Mz[16]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dy, 3) + cells[c].Mz[26] + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[5]*pow(dy, 2) + cells[c].Mz[7]*dx*dy; - cells[p].Mz[27] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*dz + cells[c].Mz[13]*dz + cells[c].Mz[14]*dy + cells[c].Mz[17]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2)*dz + cells[c].Mz[27] + cells[c].Mz[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dy, 2) + cells[c].Mz[5]*dy*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dy, 2) + cells[c].Mz[7]*dx*dz + cells[c].Mz[8]*dx*dy; - cells[p].Mz[28] += (1.0L/2.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 2) + cells[c].Mz[14]*dz + cells[c].Mz[15]*dy + cells[c].Mz[18]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dy*pow(dz, 2) + cells[c].Mz[28] + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dz, 2) + cells[c].Mz[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dz, 2) + cells[c].Mz[6]*dy*dz + cells[c].Mz[8]*dx*dz + cells[c].Mz[9]*dx*dy; - cells[p].Mz[29] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dz, 3) + cells[c].Mz[15]*dz + cells[c].Mz[19]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dz, 3) + cells[c].Mz[29] + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dz, 2) + cells[c].Mz[9]*dx*dz; - cells[p].Mz[30] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dy, 4) + cells[c].Mz[16]*dy + (1.0L/6.0L)*cells[c].Mz[2]*pow(dy, 3) + cells[c].Mz[30] + (1.0L/2.0L)*cells[c].Mz[7]*pow(dy, 2); - cells[p].Mz[31] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3)*dz + cells[c].Mz[16]*dz + cells[c].Mz[17]*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2)*dz + cells[c].Mz[31] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dy, 3) + cells[c].Mz[7]*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dy, 2); - cells[p].Mz[32] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[17]*dz + cells[c].Mz[18]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dy*pow(dz, 2) + cells[c].Mz[32] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[7]*pow(dz, 2) + cells[c].Mz[8]*dy*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dy, 2); - cells[p].Mz[33] += (1.0L/6.0L)*cells[c].Mz[0]*dy*pow(dz, 3) + cells[c].Mz[18]*dz + cells[c].Mz[19]*dy + (1.0L/6.0L)*cells[c].Mz[2]*pow(dz, 3) + cells[c].Mz[33] + (1.0L/2.0L)*cells[c].Mz[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dz, 2) + cells[c].Mz[9]*dy*dz; - cells[p].Mz[34] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dz, 4) + cells[c].Mz[19]*dz + cells[c].Mz[34] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dz, 2); - cells[p].Mz[35] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dx, 4) + cells[c].Mz[20]*dx + cells[c].Mz[35] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dx, 3); - cells[p].Mz[36] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4)*dy + cells[c].Mz[10]*dx*dy + (1.0L/2.0L)*cells[c].Mz[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3)*dy + cells[c].Mz[20]*dy + cells[c].Mz[21]*dx + (1.0L/24.0L)*cells[c].Mz[2]*pow(dx, 4) + cells[c].Mz[36] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[5]*pow(dx, 3); - cells[p].Mz[37] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4)*dz + cells[c].Mz[10]*dx*dz + (1.0L/2.0L)*cells[c].Mz[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3)*dz + cells[c].Mz[20]*dz + cells[c].Mz[22]*dx + cells[c].Mz[37] + (1.0L/24.0L)*cells[c].Mz[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[6]*pow(dx, 3); - cells[p].Mz[38] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dy, 2) + cells[c].Mz[11]*dx*dy + (1.0L/2.0L)*cells[c].Mz[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[21]*dy + cells[c].Mz[23]*dx + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3)*dy + cells[c].Mz[38] + (1.0L/2.0L)*cells[c].Mz[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[7]*pow(dx, 3); - cells[p].Mz[39] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dy*dz + cells[c].Mz[10]*dy*dz + cells[c].Mz[11]*dx*dz + cells[c].Mz[12]*dx*dy + (1.0L/2.0L)*cells[c].Mz[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dy*dz + cells[c].Mz[21]*dz + cells[c].Mz[22]*dy + cells[c].Mz[24]*dx + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3)*dz + cells[c].Mz[39] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3)*dy + cells[c].Mz[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[8]*pow(dx, 3); - cells[p].Mz[40] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dz, 2) + cells[c].Mz[12]*dx*dz + (1.0L/2.0L)*cells[c].Mz[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[22]*dz + cells[c].Mz[25]*dx + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3)*dz + cells[c].Mz[40] + (1.0L/2.0L)*cells[c].Mz[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[9]*pow(dx, 3); - cells[p].Mz[41] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[11]*pow(dy, 2) + cells[c].Mz[13]*dx*dy + (1.0L/2.0L)*cells[c].Mz[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*dx*pow(dy, 3) + cells[c].Mz[23]*dy + cells[c].Mz[26]*dx + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[41] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2)*dy; - cells[p].Mz[42] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[11]*dy*dz + (1.0L/2.0L)*cells[c].Mz[12]*pow(dy, 2) + cells[c].Mz[13]*dx*dz + cells[c].Mz[14]*dx*dy + (1.0L/2.0L)*cells[c].Mz[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dy, 2)*dz + cells[c].Mz[23]*dz + cells[c].Mz[24]*dy + cells[c].Mz[27]*dx + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[42] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dy, 2)*dz + cells[c].Mz[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2)*dy; - cells[p].Mz[43] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[11]*pow(dz, 2) + cells[c].Mz[12]*dy*dz + cells[c].Mz[14]*dx*dz + cells[c].Mz[15]*dx*dy + (1.0L/2.0L)*cells[c].Mz[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*dx*dy*pow(dz, 2) + cells[c].Mz[24]*dz + cells[c].Mz[25]*dy + cells[c].Mz[28]*dx + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dy*dz + cells[c].Mz[43] + (1.0L/2.0L)*cells[c].Mz[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[5]*dx*pow(dz, 2) + cells[c].Mz[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2)*dy; - cells[p].Mz[44] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[12]*pow(dz, 2) + cells[c].Mz[15]*dx*dz + (1.0L/2.0L)*cells[c].Mz[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*dx*pow(dz, 3) + cells[c].Mz[25]*dz + cells[c].Mz[29]*dx + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[44] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2)*dz; - cells[p].Mz[45] += (1.0L/24.0L)*cells[c].Mz[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dy, 2) + cells[c].Mz[16]*dx*dy + (1.0L/24.0L)*cells[c].Mz[1]*pow(dy, 4) + cells[c].Mz[26]*dy + (1.0L/6.0L)*cells[c].Mz[2]*dx*pow(dy, 3) + cells[c].Mz[30]*dx + cells[c].Mz[45] + (1.0L/6.0L)*cells[c].Mz[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[7]*dx*pow(dy, 2); - cells[p].Mz[46] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dy, 3)*dz + cells[c].Mz[13]*dy*dz + (1.0L/2.0L)*cells[c].Mz[14]*pow(dy, 2) + cells[c].Mz[16]*dx*dz + cells[c].Mz[17]*dx*dy + (1.0L/6.0L)*cells[c].Mz[1]*pow(dy, 3)*dz + cells[c].Mz[26]*dz + cells[c].Mz[27]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dy, 2)*dz + cells[c].Mz[31]*dx + (1.0L/6.0L)*cells[c].Mz[3]*dx*pow(dy, 3) + cells[c].Mz[46] + (1.0L/2.0L)*cells[c].Mz[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[6]*pow(dy, 3) + cells[c].Mz[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*dx*pow(dy, 2); - cells[p].Mz[47] += (1.0L/4.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dz, 2) + cells[c].Mz[14]*dy*dz + (1.0L/2.0L)*cells[c].Mz[15]*pow(dy, 2) + cells[c].Mz[17]*dx*dz + cells[c].Mz[18]*dx*dy + (1.0L/4.0L)*cells[c].Mz[1]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[27]*dz + cells[c].Mz[28]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dx*dy*pow(dz, 2) + cells[c].Mz[32]*dx + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dy, 2)*dz + cells[c].Mz[47] + (1.0L/2.0L)*cells[c].Mz[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[7]*dx*pow(dz, 2) + cells[c].Mz[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[9]*dx*pow(dy, 2); - cells[p].Mz[48] += (1.0L/6.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[14]*pow(dz, 2) + cells[c].Mz[15]*dy*dz + cells[c].Mz[18]*dx*dz + cells[c].Mz[19]*dx*dy + (1.0L/6.0L)*cells[c].Mz[1]*dy*pow(dz, 3) + cells[c].Mz[28]*dz + cells[c].Mz[29]*dy + (1.0L/6.0L)*cells[c].Mz[2]*dx*pow(dz, 3) + cells[c].Mz[33]*dx + (1.0L/2.0L)*cells[c].Mz[3]*dx*dy*pow(dz, 2) + cells[c].Mz[48] + (1.0L/6.0L)*cells[c].Mz[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*dx*pow(dz, 2) + cells[c].Mz[9]*dx*dy*dz; - cells[p].Mz[49] += (1.0L/24.0L)*cells[c].Mz[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[15]*pow(dz, 2) + cells[c].Mz[19]*dx*dz + (1.0L/24.0L)*cells[c].Mz[1]*pow(dz, 4) + cells[c].Mz[29]*dz + cells[c].Mz[34]*dx + (1.0L/6.0L)*cells[c].Mz[3]*dx*pow(dz, 3) + cells[c].Mz[49] + (1.0L/6.0L)*cells[c].Mz[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*dx*pow(dz, 2); - cells[p].Mz[50] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dy, 4) + cells[c].Mz[30]*dy + cells[c].Mz[50] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dy, 3); - cells[p].Mz[51] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dy, 4)*dz + cells[c].Mz[16]*dy*dz + (1.0L/2.0L)*cells[c].Mz[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*pow(dy, 3)*dz + cells[c].Mz[30]*dz + cells[c].Mz[31]*dy + (1.0L/24.0L)*cells[c].Mz[3]*pow(dy, 4) + cells[c].Mz[51] + (1.0L/2.0L)*cells[c].Mz[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[8]*pow(dy, 3); - cells[p].Mz[52] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dz, 2) + cells[c].Mz[17]*dy*dz + (1.0L/2.0L)*cells[c].Mz[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mz[2]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[31]*dz + cells[c].Mz[32]*dy + (1.0L/6.0L)*cells[c].Mz[3]*pow(dy, 3)*dz + cells[c].Mz[52] + (1.0L/2.0L)*cells[c].Mz[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[9]*pow(dy, 3); - cells[p].Mz[53] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[17]*pow(dz, 2) + cells[c].Mz[18]*dy*dz + (1.0L/2.0L)*cells[c].Mz[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*dy*pow(dz, 3) + cells[c].Mz[32]*dz + cells[c].Mz[33]*dy + (1.0L/4.0L)*cells[c].Mz[3]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[53] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dy, 2)*dz; - cells[p].Mz[54] += (1.0L/24.0L)*cells[c].Mz[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[18]*pow(dz, 2) + cells[c].Mz[19]*dy*dz + (1.0L/24.0L)*cells[c].Mz[2]*pow(dz, 4) + cells[c].Mz[33]*dz + cells[c].Mz[34]*dy + (1.0L/6.0L)*cells[c].Mz[3]*dy*pow(dz, 3) + cells[c].Mz[54] + (1.0L/6.0L)*cells[c].Mz[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*dy*pow(dz, 2); - cells[p].Mz[55] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[19]*pow(dz, 2) + cells[c].Mz[34]*dz + (1.0L/24.0L)*cells[c].Mz[3]*pow(dz, 4) + cells[c].Mz[55] + (1.0L/6.0L)*cells[c].Mz[9]*pow(dz, 3); - - -} -void M2P_5(unsigned int c, unsigned int i, std::vector &cells, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz, std::vector &derivative) { - double dx = -(cells[c].x - particles[i].x); - double dy = -(cells[c].y - particles[i].y); - double dz = -(cells[c].z - particles[i].z); - //std::vector derivative(120); - double dl = sqrt(dx*dx + dy*dy + dz*dz); - derivative[0] = 1.0/dl; - derivative[1] = -dx/pow(dl, 3); - derivative[2] = -dy/pow(dl, 3); - derivative[3] = -dz/pow(dl, 3); - derivative[4] = (-1 + 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 3); - derivative[5] = 3*dx*dy/pow(dl, 5); - derivative[6] = 3*dx*dz/pow(dl, 5); - derivative[7] = (-1 + 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 3); - derivative[8] = 3*dy*dz/pow(dl, 5); - derivative[9] = (-1 + 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 3); - derivative[10] = 3*dx*(3 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[11] = 3*dy*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[12] = 3*dz*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[13] = 3*dx*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[14] = -15*dx*dy*dz/pow(dl, 7); - derivative[15] = 3*dx*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[16] = 3*dy*(3 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[17] = 3*dz*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[18] = 3*dy*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[19] = 3*dz*(3 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[20] = 3*(3 - 30*pow(dx, 2)/pow(dl, 2) + 35*pow(dx, 4)/pow(dl, 4))/pow(dl, 5); - derivative[21] = 15*dx*dy*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[22] = 15*dx*dz*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[23] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dy, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 5); - derivative[24] = 15*dy*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[25] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[26] = 15*dx*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[27] = 15*dx*dz*(-1 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[28] = 15*dx*dy*(-1 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[29] = 15*dx*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[30] = 3*(3 - 30*pow(dy, 2)/pow(dl, 2) + 35*pow(dy, 4)/pow(dl, 4))/pow(dl, 5); - derivative[31] = 15*dy*dz*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[32] = 3*(1 - 5*pow(dy, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[33] = 15*dy*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[34] = 3*(3 - 30*pow(dz, 2)/pow(dl, 2) + 35*pow(dz, 4)/pow(dl, 4))/pow(dl, 5); - derivative[35] = 15*dx*(-15 + 70*pow(dx, 2)/pow(dl, 2) - 63*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[36] = 45*dy*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[37] = 45*dz*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[38] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[39] = 315*dx*dy*dz*(1 - 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 9); - derivative[40] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[41] = 15*dy*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[42] = 15*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[43] = 15*dy*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[44] = 15*dz*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[45] = 45*dx*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[46] = 315*dx*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 9); - derivative[47] = 15*dx*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[48] = 315*dx*dy*dz*(1 - 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 9); - derivative[49] = 45*dx*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[50] = 15*dy*(-15 + 70*pow(dy, 2)/pow(dl, 2) - 63*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[51] = 45*dz*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[52] = 15*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[53] = 15*dz*(-3 + 21*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[54] = 45*dy*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[55] = 15*dz*(-15 + 70*pow(dz, 2)/pow(dl, 2) - 63*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[56] = 45*(-5 + 105*pow(dx, 2)/pow(dl, 2) - 315*pow(dx, 4)/pow(dl, 4) + 231*pow(dx, 6)/pow(dl, 6))/pow(dl, 7); - derivative[57] = 315*dx*dy*(5 - 30*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[58] = 315*dx*dz*(5 - 30*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[59] = 45*(-1 + 14*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4) - 126*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 231*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 7); - derivative[60] = 315*dy*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[61] = 45*(-1 + 14*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4) - 126*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 231*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[62] = 945*dx*dy*(1 - 3*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 11*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[63] = 315*dx*dz*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[64] = 315*dx*dy*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[65] = 945*dx*dz*(1 - 3*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 11*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[66] = 45*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 14*pow(dy, 2)/pow(dl, 2) - 126*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 21*pow(dy, 4)/pow(dl, 4) + 231*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 7); - derivative[67] = 315*dy*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[68] = 15*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 693*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[69] = 315*dy*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[70] = 45*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 14*pow(dz, 2)/pow(dl, 2) - 126*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 21*pow(dz, 4)/pow(dl, 4) + 231*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 7); - derivative[71] = 315*dx*dy*(5 - 30*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[72] = 315*dx*dz*(1 - 18*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[73] = 315*dx*dy*(1 - 3*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[74] = 315*dx*dz*(1 - 9*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[75] = 315*dx*dy*(1 - 18*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[76] = 315*dx*dz*(5 - 30*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[77] = 45*(-5 + 105*pow(dy, 2)/pow(dl, 2) - 315*pow(dy, 4)/pow(dl, 4) + 231*pow(dy, 6)/pow(dl, 6))/pow(dl, 7); - derivative[78] = 315*dy*dz*(5 - 30*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[79] = 45*(-1 + 14*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4) - 126*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 231*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[80] = 945*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 11*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[81] = 45*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 14*pow(dz, 2)/pow(dl, 2) - 126*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 21*pow(dz, 4)/pow(dl, 4) + 231*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 7); - derivative[82] = 315*dy*dz*(5 - 30*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[83] = 45*(-5 + 105*pow(dz, 2)/pow(dl, 2) - 315*pow(dz, 4)/pow(dl, 4) + 231*pow(dz, 6)/pow(dl, 6))/pow(dl, 7); - derivative[84] = 315*dx*(35 - 315*pow(dx, 2)/pow(dl, 2) + 693*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[85] = 315*dy*(5 - 135*pow(dx, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[86] = 315*dz*(5 - 135*pow(dx, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[87] = 315*dx*(5 - 30*pow(dx, 2)/pow(dl, 2) - 45*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 330*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[88] = 945*dx*dy*dz*(-15 + 110*pow(dx, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4))/pow(dl, 11); - derivative[89] = 315*dx*(5 - 30*pow(dx, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 330*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[90] = 945*dy*(1 - 18*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 66*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[91] = 315*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[92] = 315*dy*(1 - 18*pow(dx, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[93] = 945*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 66*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[94] = 945*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) + 66*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 143*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[95] = 945*dx*dy*dz*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 11); - derivative[96] = 315*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 99*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[97] = 945*dx*dy*dz*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 11); - derivative[98] = 945*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 66*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 143*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[99] = 315*dy*(5 - 45*pow(dx, 2)/pow(dl, 2) - 30*pow(dy, 2)/pow(dl, 2) + 330*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[100] = 315*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[101] = 315*dy*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 99*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[102] = 315*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 99*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[103] = 315*dy*(1 - 9*pow(dx, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[104] = 315*dz*(5 - 45*pow(dx, 2)/pow(dl, 2) - 30*pow(dz, 2)/pow(dl, 2) + 330*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[105] = 315*dx*(5 - 135*pow(dy, 2)/pow(dl, 2) + 495*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[106] = 945*dx*dy*dz*(-15 + 110*pow(dy, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4))/pow(dl, 11); - derivative[107] = 315*dx*(1 - 18*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[108] = 945*dx*dy*dz*(-9 + 33*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 11); - derivative[109] = 315*dx*(1 - 9*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[110] = 945*dx*dy*dz*(-15 + 110*pow(dz, 2)/pow(dl, 2) - 143*pow(dz, 4)/pow(dl, 4))/pow(dl, 11); - derivative[111] = 315*dx*(5 - 135*pow(dz, 2)/pow(dl, 2) + 495*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - derivative[112] = 315*dy*(35 - 315*pow(dy, 2)/pow(dl, 2) + 693*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[113] = 315*dz*(5 - 135*pow(dy, 2)/pow(dl, 2) + 495*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[114] = 315*dy*(5 - 30*pow(dy, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 330*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[115] = 945*dz*(1 - 18*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 66*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[116] = 945*dy*(1 - 3*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 66*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 143*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[117] = 315*dz*(5 - 45*pow(dy, 2)/pow(dl, 2) - 30*pow(dz, 2)/pow(dl, 2) + 330*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[118] = 315*dy*(5 - 135*pow(dz, 2)/pow(dl, 2) + 495*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - derivative[119] = 315*dz*(35 - 315*pow(dz, 2)/pow(dl, 2) + 693*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - Bx[i] += cells[c].Mx[0]*derivative[4] + cells[c].Mx[10]*derivative[35] + cells[c].Mx[11]*derivative[36] + cells[c].Mx[12]*derivative[37] + cells[c].Mx[13]*derivative[38] + cells[c].Mx[14]*derivative[39] + cells[c].Mx[15]*derivative[40] + cells[c].Mx[16]*derivative[41] + cells[c].Mx[17]*derivative[42] + cells[c].Mx[18]*derivative[43] + cells[c].Mx[19]*derivative[44] + cells[c].Mx[1]*derivative[10] + cells[c].Mx[20]*derivative[56] + cells[c].Mx[21]*derivative[57] + cells[c].Mx[22]*derivative[58] + cells[c].Mx[23]*derivative[59] + cells[c].Mx[24]*derivative[60] + cells[c].Mx[25]*derivative[61] + cells[c].Mx[26]*derivative[62] + cells[c].Mx[27]*derivative[63] + cells[c].Mx[28]*derivative[64] + cells[c].Mx[29]*derivative[65] + cells[c].Mx[2]*derivative[11] + cells[c].Mx[30]*derivative[66] + cells[c].Mx[31]*derivative[67] + cells[c].Mx[32]*derivative[68] + cells[c].Mx[33]*derivative[69] + cells[c].Mx[34]*derivative[70] + cells[c].Mx[35]*derivative[84] + cells[c].Mx[36]*derivative[85] + cells[c].Mx[37]*derivative[86] + cells[c].Mx[38]*derivative[87] + cells[c].Mx[39]*derivative[88] + cells[c].Mx[3]*derivative[12] + cells[c].Mx[40]*derivative[89] + cells[c].Mx[41]*derivative[90] + cells[c].Mx[42]*derivative[91] + cells[c].Mx[43]*derivative[92] + cells[c].Mx[44]*derivative[93] + cells[c].Mx[45]*derivative[94] + cells[c].Mx[46]*derivative[95] + cells[c].Mx[47]*derivative[96] + cells[c].Mx[48]*derivative[97] + cells[c].Mx[49]*derivative[98] + cells[c].Mx[4]*derivative[20] + cells[c].Mx[50]*derivative[99] + cells[c].Mx[51]*derivative[100] + cells[c].Mx[52]*derivative[101] + cells[c].Mx[53]*derivative[102] + cells[c].Mx[54]*derivative[103] + cells[c].Mx[55]*derivative[104] + cells[c].Mx[5]*derivative[21] + cells[c].Mx[6]*derivative[22] + cells[c].Mx[7]*derivative[23] + cells[c].Mx[8]*derivative[24] + cells[c].Mx[9]*derivative[25] + cells[c].My[0]*derivative[5] + cells[c].My[10]*derivative[36] + cells[c].My[11]*derivative[38] + cells[c].My[12]*derivative[39] + cells[c].My[13]*derivative[41] + cells[c].My[14]*derivative[42] + cells[c].My[15]*derivative[43] + cells[c].My[16]*derivative[45] + cells[c].My[17]*derivative[46] + cells[c].My[18]*derivative[47] + cells[c].My[19]*derivative[48] + cells[c].My[1]*derivative[11] + cells[c].My[20]*derivative[57] + cells[c].My[21]*derivative[59] + cells[c].My[22]*derivative[60] + cells[c].My[23]*derivative[62] + cells[c].My[24]*derivative[63] + cells[c].My[25]*derivative[64] + cells[c].My[26]*derivative[66] + cells[c].My[27]*derivative[67] + cells[c].My[28]*derivative[68] + cells[c].My[29]*derivative[69] + cells[c].My[2]*derivative[13] + cells[c].My[30]*derivative[71] + cells[c].My[31]*derivative[72] + cells[c].My[32]*derivative[73] + cells[c].My[33]*derivative[74] + cells[c].My[34]*derivative[75] + cells[c].My[35]*derivative[85] + cells[c].My[36]*derivative[87] + cells[c].My[37]*derivative[88] + cells[c].My[38]*derivative[90] + cells[c].My[39]*derivative[91] + cells[c].My[3]*derivative[14] + cells[c].My[40]*derivative[92] + cells[c].My[41]*derivative[94] + cells[c].My[42]*derivative[95] + cells[c].My[43]*derivative[96] + cells[c].My[44]*derivative[97] + cells[c].My[45]*derivative[99] + cells[c].My[46]*derivative[100] + cells[c].My[47]*derivative[101] + cells[c].My[48]*derivative[102] + cells[c].My[49]*derivative[103] + cells[c].My[4]*derivative[21] + cells[c].My[50]*derivative[105] + cells[c].My[51]*derivative[106] + cells[c].My[52]*derivative[107] + cells[c].My[53]*derivative[108] + cells[c].My[54]*derivative[109] + cells[c].My[55]*derivative[110] + cells[c].My[5]*derivative[23] + cells[c].My[6]*derivative[24] + cells[c].My[7]*derivative[26] + cells[c].My[8]*derivative[27] + cells[c].My[9]*derivative[28] + cells[c].Mz[0]*derivative[6] + cells[c].Mz[10]*derivative[37] + cells[c].Mz[11]*derivative[39] + cells[c].Mz[12]*derivative[40] + cells[c].Mz[13]*derivative[42] + cells[c].Mz[14]*derivative[43] + cells[c].Mz[15]*derivative[44] + cells[c].Mz[16]*derivative[46] + cells[c].Mz[17]*derivative[47] + cells[c].Mz[18]*derivative[48] + cells[c].Mz[19]*derivative[49] + cells[c].Mz[1]*derivative[12] + cells[c].Mz[20]*derivative[58] + cells[c].Mz[21]*derivative[60] + cells[c].Mz[22]*derivative[61] + cells[c].Mz[23]*derivative[63] + cells[c].Mz[24]*derivative[64] + cells[c].Mz[25]*derivative[65] + cells[c].Mz[26]*derivative[67] + cells[c].Mz[27]*derivative[68] + cells[c].Mz[28]*derivative[69] + cells[c].Mz[29]*derivative[70] + cells[c].Mz[2]*derivative[14] + cells[c].Mz[30]*derivative[72] + cells[c].Mz[31]*derivative[73] + cells[c].Mz[32]*derivative[74] + cells[c].Mz[33]*derivative[75] + cells[c].Mz[34]*derivative[76] + cells[c].Mz[35]*derivative[86] + cells[c].Mz[36]*derivative[88] + cells[c].Mz[37]*derivative[89] + cells[c].Mz[38]*derivative[91] + cells[c].Mz[39]*derivative[92] + cells[c].Mz[3]*derivative[15] + cells[c].Mz[40]*derivative[93] + cells[c].Mz[41]*derivative[95] + cells[c].Mz[42]*derivative[96] + cells[c].Mz[43]*derivative[97] + cells[c].Mz[44]*derivative[98] + cells[c].Mz[45]*derivative[100] + cells[c].Mz[46]*derivative[101] + cells[c].Mz[47]*derivative[102] + cells[c].Mz[48]*derivative[103] + cells[c].Mz[49]*derivative[104] + cells[c].Mz[4]*derivative[22] + cells[c].Mz[50]*derivative[106] + cells[c].Mz[51]*derivative[107] + cells[c].Mz[52]*derivative[108] + cells[c].Mz[53]*derivative[109] + cells[c].Mz[54]*derivative[110] + cells[c].Mz[55]*derivative[111] + cells[c].Mz[5]*derivative[24] + cells[c].Mz[6]*derivative[25] + cells[c].Mz[7]*derivative[27] + cells[c].Mz[8]*derivative[28] + cells[c].Mz[9]*derivative[29]; - By[i] += cells[c].Mx[0]*derivative[5] + cells[c].Mx[10]*derivative[36] + cells[c].Mx[11]*derivative[38] + cells[c].Mx[12]*derivative[39] + cells[c].Mx[13]*derivative[41] + cells[c].Mx[14]*derivative[42] + cells[c].Mx[15]*derivative[43] + cells[c].Mx[16]*derivative[45] + cells[c].Mx[17]*derivative[46] + cells[c].Mx[18]*derivative[47] + cells[c].Mx[19]*derivative[48] + cells[c].Mx[1]*derivative[11] + cells[c].Mx[20]*derivative[57] + cells[c].Mx[21]*derivative[59] + cells[c].Mx[22]*derivative[60] + cells[c].Mx[23]*derivative[62] + cells[c].Mx[24]*derivative[63] + cells[c].Mx[25]*derivative[64] + cells[c].Mx[26]*derivative[66] + cells[c].Mx[27]*derivative[67] + cells[c].Mx[28]*derivative[68] + cells[c].Mx[29]*derivative[69] + cells[c].Mx[2]*derivative[13] + cells[c].Mx[30]*derivative[71] + cells[c].Mx[31]*derivative[72] + cells[c].Mx[32]*derivative[73] + cells[c].Mx[33]*derivative[74] + cells[c].Mx[34]*derivative[75] + cells[c].Mx[35]*derivative[85] + cells[c].Mx[36]*derivative[87] + cells[c].Mx[37]*derivative[88] + cells[c].Mx[38]*derivative[90] + cells[c].Mx[39]*derivative[91] + cells[c].Mx[3]*derivative[14] + cells[c].Mx[40]*derivative[92] + cells[c].Mx[41]*derivative[94] + cells[c].Mx[42]*derivative[95] + cells[c].Mx[43]*derivative[96] + cells[c].Mx[44]*derivative[97] + cells[c].Mx[45]*derivative[99] + cells[c].Mx[46]*derivative[100] + cells[c].Mx[47]*derivative[101] + cells[c].Mx[48]*derivative[102] + cells[c].Mx[49]*derivative[103] + cells[c].Mx[4]*derivative[21] + cells[c].Mx[50]*derivative[105] + cells[c].Mx[51]*derivative[106] + cells[c].Mx[52]*derivative[107] + cells[c].Mx[53]*derivative[108] + cells[c].Mx[54]*derivative[109] + cells[c].Mx[55]*derivative[110] + cells[c].Mx[5]*derivative[23] + cells[c].Mx[6]*derivative[24] + cells[c].Mx[7]*derivative[26] + cells[c].Mx[8]*derivative[27] + cells[c].Mx[9]*derivative[28] + cells[c].My[0]*derivative[7] + cells[c].My[10]*derivative[38] + cells[c].My[11]*derivative[41] + cells[c].My[12]*derivative[42] + cells[c].My[13]*derivative[45] + cells[c].My[14]*derivative[46] + cells[c].My[15]*derivative[47] + cells[c].My[16]*derivative[50] + cells[c].My[17]*derivative[51] + cells[c].My[18]*derivative[52] + cells[c].My[19]*derivative[53] + cells[c].My[1]*derivative[13] + cells[c].My[20]*derivative[59] + cells[c].My[21]*derivative[62] + cells[c].My[22]*derivative[63] + cells[c].My[23]*derivative[66] + cells[c].My[24]*derivative[67] + cells[c].My[25]*derivative[68] + cells[c].My[26]*derivative[71] + cells[c].My[27]*derivative[72] + cells[c].My[28]*derivative[73] + cells[c].My[29]*derivative[74] + cells[c].My[2]*derivative[16] + cells[c].My[30]*derivative[77] + cells[c].My[31]*derivative[78] + cells[c].My[32]*derivative[79] + cells[c].My[33]*derivative[80] + cells[c].My[34]*derivative[81] + cells[c].My[35]*derivative[87] + cells[c].My[36]*derivative[90] + cells[c].My[37]*derivative[91] + cells[c].My[38]*derivative[94] + cells[c].My[39]*derivative[95] + cells[c].My[3]*derivative[17] + cells[c].My[40]*derivative[96] + cells[c].My[41]*derivative[99] + cells[c].My[42]*derivative[100] + cells[c].My[43]*derivative[101] + cells[c].My[44]*derivative[102] + cells[c].My[45]*derivative[105] + cells[c].My[46]*derivative[106] + cells[c].My[47]*derivative[107] + cells[c].My[48]*derivative[108] + cells[c].My[49]*derivative[109] + cells[c].My[4]*derivative[23] + cells[c].My[50]*derivative[112] + cells[c].My[51]*derivative[113] + cells[c].My[52]*derivative[114] + cells[c].My[53]*derivative[115] + cells[c].My[54]*derivative[116] + cells[c].My[55]*derivative[117] + cells[c].My[5]*derivative[26] + cells[c].My[6]*derivative[27] + cells[c].My[7]*derivative[30] + cells[c].My[8]*derivative[31] + cells[c].My[9]*derivative[32] + cells[c].Mz[0]*derivative[8] + cells[c].Mz[10]*derivative[39] + cells[c].Mz[11]*derivative[42] + cells[c].Mz[12]*derivative[43] + cells[c].Mz[13]*derivative[46] + cells[c].Mz[14]*derivative[47] + cells[c].Mz[15]*derivative[48] + cells[c].Mz[16]*derivative[51] + cells[c].Mz[17]*derivative[52] + cells[c].Mz[18]*derivative[53] + cells[c].Mz[19]*derivative[54] + cells[c].Mz[1]*derivative[14] + cells[c].Mz[20]*derivative[60] + cells[c].Mz[21]*derivative[63] + cells[c].Mz[22]*derivative[64] + cells[c].Mz[23]*derivative[67] + cells[c].Mz[24]*derivative[68] + cells[c].Mz[25]*derivative[69] + cells[c].Mz[26]*derivative[72] + cells[c].Mz[27]*derivative[73] + cells[c].Mz[28]*derivative[74] + cells[c].Mz[29]*derivative[75] + cells[c].Mz[2]*derivative[17] + cells[c].Mz[30]*derivative[78] + cells[c].Mz[31]*derivative[79] + cells[c].Mz[32]*derivative[80] + cells[c].Mz[33]*derivative[81] + cells[c].Mz[34]*derivative[82] + cells[c].Mz[35]*derivative[88] + cells[c].Mz[36]*derivative[91] + cells[c].Mz[37]*derivative[92] + cells[c].Mz[38]*derivative[95] + cells[c].Mz[39]*derivative[96] + cells[c].Mz[3]*derivative[18] + cells[c].Mz[40]*derivative[97] + cells[c].Mz[41]*derivative[100] + cells[c].Mz[42]*derivative[101] + cells[c].Mz[43]*derivative[102] + cells[c].Mz[44]*derivative[103] + cells[c].Mz[45]*derivative[106] + cells[c].Mz[46]*derivative[107] + cells[c].Mz[47]*derivative[108] + cells[c].Mz[48]*derivative[109] + cells[c].Mz[49]*derivative[110] + cells[c].Mz[4]*derivative[24] + cells[c].Mz[50]*derivative[113] + cells[c].Mz[51]*derivative[114] + cells[c].Mz[52]*derivative[115] + cells[c].Mz[53]*derivative[116] + cells[c].Mz[54]*derivative[117] + cells[c].Mz[55]*derivative[118] + cells[c].Mz[5]*derivative[27] + cells[c].Mz[6]*derivative[28] + cells[c].Mz[7]*derivative[31] + cells[c].Mz[8]*derivative[32] + cells[c].Mz[9]*derivative[33]; - Bz[i] += cells[c].Mx[0]*derivative[6] + cells[c].Mx[10]*derivative[37] + cells[c].Mx[11]*derivative[39] + cells[c].Mx[12]*derivative[40] + cells[c].Mx[13]*derivative[42] + cells[c].Mx[14]*derivative[43] + cells[c].Mx[15]*derivative[44] + cells[c].Mx[16]*derivative[46] + cells[c].Mx[17]*derivative[47] + cells[c].Mx[18]*derivative[48] + cells[c].Mx[19]*derivative[49] + cells[c].Mx[1]*derivative[12] + cells[c].Mx[20]*derivative[58] + cells[c].Mx[21]*derivative[60] + cells[c].Mx[22]*derivative[61] + cells[c].Mx[23]*derivative[63] + cells[c].Mx[24]*derivative[64] + cells[c].Mx[25]*derivative[65] + cells[c].Mx[26]*derivative[67] + cells[c].Mx[27]*derivative[68] + cells[c].Mx[28]*derivative[69] + cells[c].Mx[29]*derivative[70] + cells[c].Mx[2]*derivative[14] + cells[c].Mx[30]*derivative[72] + cells[c].Mx[31]*derivative[73] + cells[c].Mx[32]*derivative[74] + cells[c].Mx[33]*derivative[75] + cells[c].Mx[34]*derivative[76] + cells[c].Mx[35]*derivative[86] + cells[c].Mx[36]*derivative[88] + cells[c].Mx[37]*derivative[89] + cells[c].Mx[38]*derivative[91] + cells[c].Mx[39]*derivative[92] + cells[c].Mx[3]*derivative[15] + cells[c].Mx[40]*derivative[93] + cells[c].Mx[41]*derivative[95] + cells[c].Mx[42]*derivative[96] + cells[c].Mx[43]*derivative[97] + cells[c].Mx[44]*derivative[98] + cells[c].Mx[45]*derivative[100] + cells[c].Mx[46]*derivative[101] + cells[c].Mx[47]*derivative[102] + cells[c].Mx[48]*derivative[103] + cells[c].Mx[49]*derivative[104] + cells[c].Mx[4]*derivative[22] + cells[c].Mx[50]*derivative[106] + cells[c].Mx[51]*derivative[107] + cells[c].Mx[52]*derivative[108] + cells[c].Mx[53]*derivative[109] + cells[c].Mx[54]*derivative[110] + cells[c].Mx[55]*derivative[111] + cells[c].Mx[5]*derivative[24] + cells[c].Mx[6]*derivative[25] + cells[c].Mx[7]*derivative[27] + cells[c].Mx[8]*derivative[28] + cells[c].Mx[9]*derivative[29] + cells[c].My[0]*derivative[8] + cells[c].My[10]*derivative[39] + cells[c].My[11]*derivative[42] + cells[c].My[12]*derivative[43] + cells[c].My[13]*derivative[46] + cells[c].My[14]*derivative[47] + cells[c].My[15]*derivative[48] + cells[c].My[16]*derivative[51] + cells[c].My[17]*derivative[52] + cells[c].My[18]*derivative[53] + cells[c].My[19]*derivative[54] + cells[c].My[1]*derivative[14] + cells[c].My[20]*derivative[60] + cells[c].My[21]*derivative[63] + cells[c].My[22]*derivative[64] + cells[c].My[23]*derivative[67] + cells[c].My[24]*derivative[68] + cells[c].My[25]*derivative[69] + cells[c].My[26]*derivative[72] + cells[c].My[27]*derivative[73] + cells[c].My[28]*derivative[74] + cells[c].My[29]*derivative[75] + cells[c].My[2]*derivative[17] + cells[c].My[30]*derivative[78] + cells[c].My[31]*derivative[79] + cells[c].My[32]*derivative[80] + cells[c].My[33]*derivative[81] + cells[c].My[34]*derivative[82] + cells[c].My[35]*derivative[88] + cells[c].My[36]*derivative[91] + cells[c].My[37]*derivative[92] + cells[c].My[38]*derivative[95] + cells[c].My[39]*derivative[96] + cells[c].My[3]*derivative[18] + cells[c].My[40]*derivative[97] + cells[c].My[41]*derivative[100] + cells[c].My[42]*derivative[101] + cells[c].My[43]*derivative[102] + cells[c].My[44]*derivative[103] + cells[c].My[45]*derivative[106] + cells[c].My[46]*derivative[107] + cells[c].My[47]*derivative[108] + cells[c].My[48]*derivative[109] + cells[c].My[49]*derivative[110] + cells[c].My[4]*derivative[24] + cells[c].My[50]*derivative[113] + cells[c].My[51]*derivative[114] + cells[c].My[52]*derivative[115] + cells[c].My[53]*derivative[116] + cells[c].My[54]*derivative[117] + cells[c].My[55]*derivative[118] + cells[c].My[5]*derivative[27] + cells[c].My[6]*derivative[28] + cells[c].My[7]*derivative[31] + cells[c].My[8]*derivative[32] + cells[c].My[9]*derivative[33] + cells[c].Mz[0]*derivative[9] + cells[c].Mz[10]*derivative[40] + cells[c].Mz[11]*derivative[43] + cells[c].Mz[12]*derivative[44] + cells[c].Mz[13]*derivative[47] + cells[c].Mz[14]*derivative[48] + cells[c].Mz[15]*derivative[49] + cells[c].Mz[16]*derivative[52] + cells[c].Mz[17]*derivative[53] + cells[c].Mz[18]*derivative[54] + cells[c].Mz[19]*derivative[55] + cells[c].Mz[1]*derivative[15] + cells[c].Mz[20]*derivative[61] + cells[c].Mz[21]*derivative[64] + cells[c].Mz[22]*derivative[65] + cells[c].Mz[23]*derivative[68] + cells[c].Mz[24]*derivative[69] + cells[c].Mz[25]*derivative[70] + cells[c].Mz[26]*derivative[73] + cells[c].Mz[27]*derivative[74] + cells[c].Mz[28]*derivative[75] + cells[c].Mz[29]*derivative[76] + cells[c].Mz[2]*derivative[18] + cells[c].Mz[30]*derivative[79] + cells[c].Mz[31]*derivative[80] + cells[c].Mz[32]*derivative[81] + cells[c].Mz[33]*derivative[82] + cells[c].Mz[34]*derivative[83] + cells[c].Mz[35]*derivative[89] + cells[c].Mz[36]*derivative[92] + cells[c].Mz[37]*derivative[93] + cells[c].Mz[38]*derivative[96] + cells[c].Mz[39]*derivative[97] + cells[c].Mz[3]*derivative[19] + cells[c].Mz[40]*derivative[98] + cells[c].Mz[41]*derivative[101] + cells[c].Mz[42]*derivative[102] + cells[c].Mz[43]*derivative[103] + cells[c].Mz[44]*derivative[104] + cells[c].Mz[45]*derivative[107] + cells[c].Mz[46]*derivative[108] + cells[c].Mz[47]*derivative[109] + cells[c].Mz[48]*derivative[110] + cells[c].Mz[49]*derivative[111] + cells[c].Mz[4]*derivative[25] + cells[c].Mz[50]*derivative[114] + cells[c].Mz[51]*derivative[115] + cells[c].Mz[52]*derivative[116] + cells[c].Mz[53]*derivative[117] + cells[c].Mz[54]*derivative[118] + cells[c].Mz[55]*derivative[119] + cells[c].Mz[5]*derivative[28] + cells[c].Mz[6]*derivative[29] + cells[c].Mz[7]*derivative[32] + cells[c].Mz[8]*derivative[33] + cells[c].Mz[9]*derivative[34]; -} -void P2M_6(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit) { - unsigned int l; - - if (cells[p].nleaf >= ncrit) { - for(int c = 0; c < 8; c++) { - if (cells[p].nchild & (1 << c)) { - P2M_6(particles, cells[p].child[c], cells, ncrit); - } - } - } - else { - for(unsigned int i = 0; i < (cells[p].nleaf); i++) { - l = cells[p].leaf[i]; -double dx = (particles[l].x - cells[p].x); -double dy = (particles[l].y - cells[p].y); -double dz = (particles[l].z - cells[p].z); - cells[p].Mx[0] += particles[l].mux; - cells[p].Mx[1] += -dx*particles[l].mux; - cells[p].Mx[2] += -dy*particles[l].mux; - cells[p].Mx[3] += -dz*particles[l].mux; - cells[p].Mx[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].mux; - cells[p].Mx[5] += dx*dy*particles[l].mux; - cells[p].Mx[6] += dx*dz*particles[l].mux; - cells[p].Mx[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[8] += dy*dz*particles[l].mux; - cells[p].Mx[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].mux; - cells[p].Mx[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].mux; - cells[p].Mx[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].mux; - cells[p].Mx[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].mux; - cells[p].Mx[14] += -dx*dy*dz*particles[l].mux; - cells[p].Mx[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].mux; - cells[p].Mx[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].mux; - cells[p].Mx[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].mux; - cells[p].Mx[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].mux; - cells[p].Mx[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].mux; - cells[p].Mx[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].mux; - cells[p].Mx[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].mux; - cells[p].Mx[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].mux; - cells[p].Mx[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].mux; - cells[p].Mx[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].mux; - cells[p].Mx[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].mux; - cells[p].Mx[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].mux; - cells[p].Mx[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].mux; - cells[p].Mx[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].mux; - cells[p].Mx[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].mux; - cells[p].Mx[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].mux; - cells[p].Mx[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].mux; - cells[p].Mx[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].mux; - cells[p].Mx[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].mux; - cells[p].Mx[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].mux; - cells[p].Mx[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].mux; - cells[p].Mx[56] += (1.0L/720.0L)*pow(dx, 6)*particles[l].mux; - cells[p].Mx[57] += (1.0L/120.0L)*pow(dx, 5)*dy*particles[l].mux; - cells[p].Mx[58] += (1.0L/120.0L)*pow(dx, 5)*dz*particles[l].mux; - cells[p].Mx[59] += (1.0L/48.0L)*pow(dx, 4)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[60] += (1.0L/24.0L)*pow(dx, 4)*dy*dz*particles[l].mux; - cells[p].Mx[61] += (1.0L/48.0L)*pow(dx, 4)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[62] += (1.0L/36.0L)*pow(dx, 3)*pow(dy, 3)*particles[l].mux; - cells[p].Mx[63] += (1.0L/12.0L)*pow(dx, 3)*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[64] += (1.0L/12.0L)*pow(dx, 3)*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[65] += (1.0L/36.0L)*pow(dx, 3)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[66] += (1.0L/48.0L)*pow(dx, 2)*pow(dy, 4)*particles[l].mux; - cells[p].Mx[67] += (1.0L/12.0L)*pow(dx, 2)*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[68] += (1.0L/8.0L)*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[69] += (1.0L/12.0L)*pow(dx, 2)*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[70] += (1.0L/48.0L)*pow(dx, 2)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[71] += (1.0L/120.0L)*dx*pow(dy, 5)*particles[l].mux; - cells[p].Mx[72] += (1.0L/24.0L)*dx*pow(dy, 4)*dz*particles[l].mux; - cells[p].Mx[73] += (1.0L/12.0L)*dx*pow(dy, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[74] += (1.0L/12.0L)*dx*pow(dy, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[75] += (1.0L/24.0L)*dx*dy*pow(dz, 4)*particles[l].mux; - cells[p].Mx[76] += (1.0L/120.0L)*dx*pow(dz, 5)*particles[l].mux; - cells[p].Mx[77] += (1.0L/720.0L)*pow(dy, 6)*particles[l].mux; - cells[p].Mx[78] += (1.0L/120.0L)*pow(dy, 5)*dz*particles[l].mux; - cells[p].Mx[79] += (1.0L/48.0L)*pow(dy, 4)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[80] += (1.0L/36.0L)*pow(dy, 3)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[81] += (1.0L/48.0L)*pow(dy, 2)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[82] += (1.0L/120.0L)*dy*pow(dz, 5)*particles[l].mux; - cells[p].Mx[83] += (1.0L/720.0L)*pow(dz, 6)*particles[l].mux; - cells[p].My[0] += particles[l].muy; - cells[p].My[1] += -dx*particles[l].muy; - cells[p].My[2] += -dy*particles[l].muy; - cells[p].My[3] += -dz*particles[l].muy; - cells[p].My[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muy; - cells[p].My[5] += dx*dy*particles[l].muy; - cells[p].My[6] += dx*dz*particles[l].muy; - cells[p].My[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muy; - cells[p].My[8] += dy*dz*particles[l].muy; - cells[p].My[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muy; - cells[p].My[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muy; - cells[p].My[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muy; - cells[p].My[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muy; - cells[p].My[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muy; - cells[p].My[14] += -dx*dy*dz*particles[l].muy; - cells[p].My[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muy; - cells[p].My[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muy; - cells[p].My[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muy; - cells[p].My[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].muy; - cells[p].My[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].muy; - cells[p].My[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].muy; - cells[p].My[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].muy; - cells[p].My[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].muy; - cells[p].My[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].muy; - cells[p].My[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].muy; - cells[p].My[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].muy; - cells[p].My[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].muy; - cells[p].My[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].muy; - cells[p].My[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].muy; - cells[p].My[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].muy; - cells[p].My[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].muy; - cells[p].My[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].muy; - cells[p].My[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].muy; - cells[p].My[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].muy; - cells[p].My[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].muy; - cells[p].My[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].muy; - cells[p].My[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].muy; - cells[p].My[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].muy; - cells[p].My[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].muy; - cells[p].My[56] += (1.0L/720.0L)*pow(dx, 6)*particles[l].muy; - cells[p].My[57] += (1.0L/120.0L)*pow(dx, 5)*dy*particles[l].muy; - cells[p].My[58] += (1.0L/120.0L)*pow(dx, 5)*dz*particles[l].muy; - cells[p].My[59] += (1.0L/48.0L)*pow(dx, 4)*pow(dy, 2)*particles[l].muy; - cells[p].My[60] += (1.0L/24.0L)*pow(dx, 4)*dy*dz*particles[l].muy; - cells[p].My[61] += (1.0L/48.0L)*pow(dx, 4)*pow(dz, 2)*particles[l].muy; - cells[p].My[62] += (1.0L/36.0L)*pow(dx, 3)*pow(dy, 3)*particles[l].muy; - cells[p].My[63] += (1.0L/12.0L)*pow(dx, 3)*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[64] += (1.0L/12.0L)*pow(dx, 3)*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[65] += (1.0L/36.0L)*pow(dx, 3)*pow(dz, 3)*particles[l].muy; - cells[p].My[66] += (1.0L/48.0L)*pow(dx, 2)*pow(dy, 4)*particles[l].muy; - cells[p].My[67] += (1.0L/12.0L)*pow(dx, 2)*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[68] += (1.0L/8.0L)*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[69] += (1.0L/12.0L)*pow(dx, 2)*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[70] += (1.0L/48.0L)*pow(dx, 2)*pow(dz, 4)*particles[l].muy; - cells[p].My[71] += (1.0L/120.0L)*dx*pow(dy, 5)*particles[l].muy; - cells[p].My[72] += (1.0L/24.0L)*dx*pow(dy, 4)*dz*particles[l].muy; - cells[p].My[73] += (1.0L/12.0L)*dx*pow(dy, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[74] += (1.0L/12.0L)*dx*pow(dy, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[75] += (1.0L/24.0L)*dx*dy*pow(dz, 4)*particles[l].muy; - cells[p].My[76] += (1.0L/120.0L)*dx*pow(dz, 5)*particles[l].muy; - cells[p].My[77] += (1.0L/720.0L)*pow(dy, 6)*particles[l].muy; - cells[p].My[78] += (1.0L/120.0L)*pow(dy, 5)*dz*particles[l].muy; - cells[p].My[79] += (1.0L/48.0L)*pow(dy, 4)*pow(dz, 2)*particles[l].muy; - cells[p].My[80] += (1.0L/36.0L)*pow(dy, 3)*pow(dz, 3)*particles[l].muy; - cells[p].My[81] += (1.0L/48.0L)*pow(dy, 2)*pow(dz, 4)*particles[l].muy; - cells[p].My[82] += (1.0L/120.0L)*dy*pow(dz, 5)*particles[l].muy; - cells[p].My[83] += (1.0L/720.0L)*pow(dz, 6)*particles[l].muy; - cells[p].Mz[0] += particles[l].muz; - cells[p].Mz[1] += -dx*particles[l].muz; - cells[p].Mz[2] += -dy*particles[l].muz; - cells[p].Mz[3] += -dz*particles[l].muz; - cells[p].Mz[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muz; - cells[p].Mz[5] += dx*dy*particles[l].muz; - cells[p].Mz[6] += dx*dz*particles[l].muz; - cells[p].Mz[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[8] += dy*dz*particles[l].muz; - cells[p].Mz[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muz; - cells[p].Mz[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muz; - cells[p].Mz[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muz; - cells[p].Mz[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muz; - cells[p].Mz[14] += -dx*dy*dz*particles[l].muz; - cells[p].Mz[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muz; - cells[p].Mz[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muz; - cells[p].Mz[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muz; - cells[p].Mz[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].muz; - cells[p].Mz[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].muz; - cells[p].Mz[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].muz; - cells[p].Mz[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].muz; - cells[p].Mz[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].muz; - cells[p].Mz[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].muz; - cells[p].Mz[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].muz; - cells[p].Mz[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].muz; - cells[p].Mz[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].muz; - cells[p].Mz[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].muz; - cells[p].Mz[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].muz; - cells[p].Mz[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].muz; - cells[p].Mz[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].muz; - cells[p].Mz[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].muz; - cells[p].Mz[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].muz; - cells[p].Mz[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].muz; - cells[p].Mz[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].muz; - cells[p].Mz[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].muz; - cells[p].Mz[56] += (1.0L/720.0L)*pow(dx, 6)*particles[l].muz; - cells[p].Mz[57] += (1.0L/120.0L)*pow(dx, 5)*dy*particles[l].muz; - cells[p].Mz[58] += (1.0L/120.0L)*pow(dx, 5)*dz*particles[l].muz; - cells[p].Mz[59] += (1.0L/48.0L)*pow(dx, 4)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[60] += (1.0L/24.0L)*pow(dx, 4)*dy*dz*particles[l].muz; - cells[p].Mz[61] += (1.0L/48.0L)*pow(dx, 4)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[62] += (1.0L/36.0L)*pow(dx, 3)*pow(dy, 3)*particles[l].muz; - cells[p].Mz[63] += (1.0L/12.0L)*pow(dx, 3)*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[64] += (1.0L/12.0L)*pow(dx, 3)*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[65] += (1.0L/36.0L)*pow(dx, 3)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[66] += (1.0L/48.0L)*pow(dx, 2)*pow(dy, 4)*particles[l].muz; - cells[p].Mz[67] += (1.0L/12.0L)*pow(dx, 2)*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[68] += (1.0L/8.0L)*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[69] += (1.0L/12.0L)*pow(dx, 2)*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[70] += (1.0L/48.0L)*pow(dx, 2)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[71] += (1.0L/120.0L)*dx*pow(dy, 5)*particles[l].muz; - cells[p].Mz[72] += (1.0L/24.0L)*dx*pow(dy, 4)*dz*particles[l].muz; - cells[p].Mz[73] += (1.0L/12.0L)*dx*pow(dy, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[74] += (1.0L/12.0L)*dx*pow(dy, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[75] += (1.0L/24.0L)*dx*dy*pow(dz, 4)*particles[l].muz; - cells[p].Mz[76] += (1.0L/120.0L)*dx*pow(dz, 5)*particles[l].muz; - cells[p].Mz[77] += (1.0L/720.0L)*pow(dy, 6)*particles[l].muz; - cells[p].Mz[78] += (1.0L/120.0L)*pow(dy, 5)*dz*particles[l].muz; - cells[p].Mz[79] += (1.0L/48.0L)*pow(dy, 4)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[80] += (1.0L/36.0L)*pow(dy, 3)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[81] += (1.0L/48.0L)*pow(dy, 2)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[82] += (1.0L/120.0L)*dy*pow(dz, 5)*particles[l].muz; - cells[p].Mz[83] += (1.0L/720.0L)*pow(dz, 6)*particles[l].muz; - } - } -} - - -void M2M_6(unsigned int p, unsigned int c, std::vector &cells) { -double dx = (cells[p].x - cells[c].x); -double dy = (cells[p].y - cells[c].y); -double dz = (cells[p].z - cells[c].z); - cells[p].Mx[0] += cells[c].Mx[0]; - cells[p].Mx[1] += cells[c].Mx[0]*dx + cells[c].Mx[1]; - cells[p].Mx[2] += cells[c].Mx[0]*dy + cells[c].Mx[2]; - cells[p].Mx[3] += cells[c].Mx[0]*dz + cells[c].Mx[3]; - cells[p].Mx[4] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2) + cells[c].Mx[1]*dx + cells[c].Mx[4]; - cells[p].Mx[5] += cells[c].Mx[0]*dx*dy + cells[c].Mx[1]*dy + cells[c].Mx[2]*dx + cells[c].Mx[5]; - cells[p].Mx[6] += cells[c].Mx[0]*dx*dz + cells[c].Mx[1]*dz + cells[c].Mx[3]*dx + cells[c].Mx[6]; - cells[p].Mx[7] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2) + cells[c].Mx[2]*dy + cells[c].Mx[7]; - cells[p].Mx[8] += cells[c].Mx[0]*dy*dz + cells[c].Mx[2]*dz + cells[c].Mx[3]*dy + cells[c].Mx[8]; - cells[p].Mx[9] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dz, 2) + cells[c].Mx[3]*dz + cells[c].Mx[9]; - cells[p].Mx[10] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3) + cells[c].Mx[10] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2) + cells[c].Mx[4]*dx; - cells[p].Mx[11] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy + cells[c].Mx[11] + cells[c].Mx[1]*dx*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2) + cells[c].Mx[4]*dy + cells[c].Mx[5]*dx; - cells[p].Mx[12] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dz + cells[c].Mx[12] + cells[c].Mx[1]*dx*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2) + cells[c].Mx[4]*dz + cells[c].Mx[6]*dx; - cells[p].Mx[13] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2) + cells[c].Mx[13] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2) + cells[c].Mx[2]*dx*dy + cells[c].Mx[5]*dy + cells[c].Mx[7]*dx; - cells[p].Mx[14] += cells[c].Mx[0]*dx*dy*dz + cells[c].Mx[14] + cells[c].Mx[1]*dy*dz + cells[c].Mx[2]*dx*dz + cells[c].Mx[3]*dx*dy + cells[c].Mx[5]*dz + cells[c].Mx[6]*dy + cells[c].Mx[8]*dx; - cells[p].Mx[15] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dz, 2) + cells[c].Mx[15] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dz, 2) + cells[c].Mx[3]*dx*dz + cells[c].Mx[6]*dz + cells[c].Mx[9]*dx; - cells[p].Mx[16] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3) + cells[c].Mx[16] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2) + cells[c].Mx[7]*dy; - cells[p].Mx[17] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2)*dz + cells[c].Mx[17] + cells[c].Mx[2]*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2) + cells[c].Mx[7]*dz + cells[c].Mx[8]*dy; - cells[p].Mx[18] += (1.0L/2.0L)*cells[c].Mx[0]*dy*pow(dz, 2) + cells[c].Mx[18] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dz, 2) + cells[c].Mx[3]*dy*dz + cells[c].Mx[8]*dz + cells[c].Mx[9]*dy; - cells[p].Mx[19] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dz, 3) + cells[c].Mx[19] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dz, 2) + cells[c].Mx[9]*dz; - cells[p].Mx[20] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4) + cells[c].Mx[10]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3) + cells[c].Mx[20] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2); - cells[p].Mx[21] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dy + cells[c].Mx[10]*dy + cells[c].Mx[11]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dy + cells[c].Mx[21] + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3) + cells[c].Mx[4]*dx*dy + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2); - cells[p].Mx[22] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dz + cells[c].Mx[10]*dz + cells[c].Mx[12]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dz + cells[c].Mx[22] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3) + cells[c].Mx[4]*dx*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2); - cells[p].Mx[23] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[11]*dy + cells[c].Mx[13]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dy, 2) + cells[c].Mx[23] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mx[4]*pow(dy, 2) + cells[c].Mx[5]*dx*dy + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2); - cells[p].Mx[24] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*dz + cells[c].Mx[11]*dz + cells[c].Mx[12]*dy + cells[c].Mx[14]*dx + cells[c].Mx[1]*dx*dy*dz + cells[c].Mx[24] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dy + cells[c].Mx[4]*dy*dz + cells[c].Mx[5]*dx*dz + cells[c].Mx[6]*dx*dy + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2); - cells[p].Mx[25] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[12]*dz + cells[c].Mx[15]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dz, 2) + cells[c].Mx[25] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[4]*pow(dz, 2) + cells[c].Mx[6]*dx*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2); - cells[p].Mx[26] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dy, 3) + cells[c].Mx[13]*dy + cells[c].Mx[16]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dy, 3) + cells[c].Mx[26] + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[5]*pow(dy, 2) + cells[c].Mx[7]*dx*dy; - cells[p].Mx[27] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*dz + cells[c].Mx[13]*dz + cells[c].Mx[14]*dy + cells[c].Mx[17]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2)*dz + cells[c].Mx[27] + cells[c].Mx[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dy, 2) + cells[c].Mx[5]*dy*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dy, 2) + cells[c].Mx[7]*dx*dz + cells[c].Mx[8]*dx*dy; - cells[p].Mx[28] += (1.0L/2.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 2) + cells[c].Mx[14]*dz + cells[c].Mx[15]*dy + cells[c].Mx[18]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dy*pow(dz, 2) + cells[c].Mx[28] + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dz, 2) + cells[c].Mx[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dz, 2) + cells[c].Mx[6]*dy*dz + cells[c].Mx[8]*dx*dz + cells[c].Mx[9]*dx*dy; - cells[p].Mx[29] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dz, 3) + cells[c].Mx[15]*dz + cells[c].Mx[19]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dz, 3) + cells[c].Mx[29] + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dz, 2) + cells[c].Mx[9]*dx*dz; - cells[p].Mx[30] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dy, 4) + cells[c].Mx[16]*dy + (1.0L/6.0L)*cells[c].Mx[2]*pow(dy, 3) + cells[c].Mx[30] + (1.0L/2.0L)*cells[c].Mx[7]*pow(dy, 2); - cells[p].Mx[31] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3)*dz + cells[c].Mx[16]*dz + cells[c].Mx[17]*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2)*dz + cells[c].Mx[31] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dy, 3) + cells[c].Mx[7]*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dy, 2); - cells[p].Mx[32] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[17]*dz + cells[c].Mx[18]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dy*pow(dz, 2) + cells[c].Mx[32] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[7]*pow(dz, 2) + cells[c].Mx[8]*dy*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dy, 2); - cells[p].Mx[33] += (1.0L/6.0L)*cells[c].Mx[0]*dy*pow(dz, 3) + cells[c].Mx[18]*dz + cells[c].Mx[19]*dy + (1.0L/6.0L)*cells[c].Mx[2]*pow(dz, 3) + cells[c].Mx[33] + (1.0L/2.0L)*cells[c].Mx[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dz, 2) + cells[c].Mx[9]*dy*dz; - cells[p].Mx[34] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dz, 4) + cells[c].Mx[19]*dz + cells[c].Mx[34] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dz, 2); - cells[p].Mx[35] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dx, 4) + cells[c].Mx[20]*dx + cells[c].Mx[35] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dx, 3); - cells[p].Mx[36] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4)*dy + cells[c].Mx[10]*dx*dy + (1.0L/2.0L)*cells[c].Mx[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3)*dy + cells[c].Mx[20]*dy + cells[c].Mx[21]*dx + (1.0L/24.0L)*cells[c].Mx[2]*pow(dx, 4) + cells[c].Mx[36] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[5]*pow(dx, 3); - cells[p].Mx[37] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4)*dz + cells[c].Mx[10]*dx*dz + (1.0L/2.0L)*cells[c].Mx[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3)*dz + cells[c].Mx[20]*dz + cells[c].Mx[22]*dx + cells[c].Mx[37] + (1.0L/24.0L)*cells[c].Mx[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[6]*pow(dx, 3); - cells[p].Mx[38] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dy, 2) + cells[c].Mx[11]*dx*dy + (1.0L/2.0L)*cells[c].Mx[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[21]*dy + cells[c].Mx[23]*dx + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3)*dy + cells[c].Mx[38] + (1.0L/2.0L)*cells[c].Mx[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[7]*pow(dx, 3); - cells[p].Mx[39] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dy*dz + cells[c].Mx[10]*dy*dz + cells[c].Mx[11]*dx*dz + cells[c].Mx[12]*dx*dy + (1.0L/2.0L)*cells[c].Mx[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dy*dz + cells[c].Mx[21]*dz + cells[c].Mx[22]*dy + cells[c].Mx[24]*dx + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3)*dz + cells[c].Mx[39] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3)*dy + cells[c].Mx[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[8]*pow(dx, 3); - cells[p].Mx[40] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dz, 2) + cells[c].Mx[12]*dx*dz + (1.0L/2.0L)*cells[c].Mx[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[22]*dz + cells[c].Mx[25]*dx + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3)*dz + cells[c].Mx[40] + (1.0L/2.0L)*cells[c].Mx[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[9]*pow(dx, 3); - cells[p].Mx[41] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[11]*pow(dy, 2) + cells[c].Mx[13]*dx*dy + (1.0L/2.0L)*cells[c].Mx[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*dx*pow(dy, 3) + cells[c].Mx[23]*dy + cells[c].Mx[26]*dx + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[41] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2)*dy; - cells[p].Mx[42] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[11]*dy*dz + (1.0L/2.0L)*cells[c].Mx[12]*pow(dy, 2) + cells[c].Mx[13]*dx*dz + cells[c].Mx[14]*dx*dy + (1.0L/2.0L)*cells[c].Mx[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dy, 2)*dz + cells[c].Mx[23]*dz + cells[c].Mx[24]*dy + cells[c].Mx[27]*dx + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[42] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dy, 2)*dz + cells[c].Mx[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2)*dy; - cells[p].Mx[43] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[11]*pow(dz, 2) + cells[c].Mx[12]*dy*dz + cells[c].Mx[14]*dx*dz + cells[c].Mx[15]*dx*dy + (1.0L/2.0L)*cells[c].Mx[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*dx*dy*pow(dz, 2) + cells[c].Mx[24]*dz + cells[c].Mx[25]*dy + cells[c].Mx[28]*dx + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dy*dz + cells[c].Mx[43] + (1.0L/2.0L)*cells[c].Mx[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[5]*dx*pow(dz, 2) + cells[c].Mx[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2)*dy; - cells[p].Mx[44] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[12]*pow(dz, 2) + cells[c].Mx[15]*dx*dz + (1.0L/2.0L)*cells[c].Mx[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*dx*pow(dz, 3) + cells[c].Mx[25]*dz + cells[c].Mx[29]*dx + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[44] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2)*dz; - cells[p].Mx[45] += (1.0L/24.0L)*cells[c].Mx[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dy, 2) + cells[c].Mx[16]*dx*dy + (1.0L/24.0L)*cells[c].Mx[1]*pow(dy, 4) + cells[c].Mx[26]*dy + (1.0L/6.0L)*cells[c].Mx[2]*dx*pow(dy, 3) + cells[c].Mx[30]*dx + cells[c].Mx[45] + (1.0L/6.0L)*cells[c].Mx[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[7]*dx*pow(dy, 2); - cells[p].Mx[46] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dy, 3)*dz + cells[c].Mx[13]*dy*dz + (1.0L/2.0L)*cells[c].Mx[14]*pow(dy, 2) + cells[c].Mx[16]*dx*dz + cells[c].Mx[17]*dx*dy + (1.0L/6.0L)*cells[c].Mx[1]*pow(dy, 3)*dz + cells[c].Mx[26]*dz + cells[c].Mx[27]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dy, 2)*dz + cells[c].Mx[31]*dx + (1.0L/6.0L)*cells[c].Mx[3]*dx*pow(dy, 3) + cells[c].Mx[46] + (1.0L/2.0L)*cells[c].Mx[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[6]*pow(dy, 3) + cells[c].Mx[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*dx*pow(dy, 2); - cells[p].Mx[47] += (1.0L/4.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dz, 2) + cells[c].Mx[14]*dy*dz + (1.0L/2.0L)*cells[c].Mx[15]*pow(dy, 2) + cells[c].Mx[17]*dx*dz + cells[c].Mx[18]*dx*dy + (1.0L/4.0L)*cells[c].Mx[1]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[27]*dz + cells[c].Mx[28]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dx*dy*pow(dz, 2) + cells[c].Mx[32]*dx + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dy, 2)*dz + cells[c].Mx[47] + (1.0L/2.0L)*cells[c].Mx[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[7]*dx*pow(dz, 2) + cells[c].Mx[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[9]*dx*pow(dy, 2); - cells[p].Mx[48] += (1.0L/6.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[14]*pow(dz, 2) + cells[c].Mx[15]*dy*dz + cells[c].Mx[18]*dx*dz + cells[c].Mx[19]*dx*dy + (1.0L/6.0L)*cells[c].Mx[1]*dy*pow(dz, 3) + cells[c].Mx[28]*dz + cells[c].Mx[29]*dy + (1.0L/6.0L)*cells[c].Mx[2]*dx*pow(dz, 3) + cells[c].Mx[33]*dx + (1.0L/2.0L)*cells[c].Mx[3]*dx*dy*pow(dz, 2) + cells[c].Mx[48] + (1.0L/6.0L)*cells[c].Mx[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*dx*pow(dz, 2) + cells[c].Mx[9]*dx*dy*dz; - cells[p].Mx[49] += (1.0L/24.0L)*cells[c].Mx[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[15]*pow(dz, 2) + cells[c].Mx[19]*dx*dz + (1.0L/24.0L)*cells[c].Mx[1]*pow(dz, 4) + cells[c].Mx[29]*dz + cells[c].Mx[34]*dx + (1.0L/6.0L)*cells[c].Mx[3]*dx*pow(dz, 3) + cells[c].Mx[49] + (1.0L/6.0L)*cells[c].Mx[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*dx*pow(dz, 2); - cells[p].Mx[50] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dy, 4) + cells[c].Mx[30]*dy + cells[c].Mx[50] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dy, 3); - cells[p].Mx[51] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dy, 4)*dz + cells[c].Mx[16]*dy*dz + (1.0L/2.0L)*cells[c].Mx[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*pow(dy, 3)*dz + cells[c].Mx[30]*dz + cells[c].Mx[31]*dy + (1.0L/24.0L)*cells[c].Mx[3]*pow(dy, 4) + cells[c].Mx[51] + (1.0L/2.0L)*cells[c].Mx[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[8]*pow(dy, 3); - cells[p].Mx[52] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dz, 2) + cells[c].Mx[17]*dy*dz + (1.0L/2.0L)*cells[c].Mx[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mx[2]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[31]*dz + cells[c].Mx[32]*dy + (1.0L/6.0L)*cells[c].Mx[3]*pow(dy, 3)*dz + cells[c].Mx[52] + (1.0L/2.0L)*cells[c].Mx[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[9]*pow(dy, 3); - cells[p].Mx[53] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[17]*pow(dz, 2) + cells[c].Mx[18]*dy*dz + (1.0L/2.0L)*cells[c].Mx[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*dy*pow(dz, 3) + cells[c].Mx[32]*dz + cells[c].Mx[33]*dy + (1.0L/4.0L)*cells[c].Mx[3]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[53] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dy, 2)*dz; - cells[p].Mx[54] += (1.0L/24.0L)*cells[c].Mx[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[18]*pow(dz, 2) + cells[c].Mx[19]*dy*dz + (1.0L/24.0L)*cells[c].Mx[2]*pow(dz, 4) + cells[c].Mx[33]*dz + cells[c].Mx[34]*dy + (1.0L/6.0L)*cells[c].Mx[3]*dy*pow(dz, 3) + cells[c].Mx[54] + (1.0L/6.0L)*cells[c].Mx[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*dy*pow(dz, 2); - cells[p].Mx[55] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[19]*pow(dz, 2) + cells[c].Mx[34]*dz + (1.0L/24.0L)*cells[c].Mx[3]*pow(dz, 4) + cells[c].Mx[55] + (1.0L/6.0L)*cells[c].Mx[9]*pow(dz, 3); - cells[p].Mx[56] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dx, 6) + (1.0L/6.0L)*cells[c].Mx[10]*pow(dx, 3) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mx[20]*pow(dx, 2) + cells[c].Mx[35]*dx + (1.0L/24.0L)*cells[c].Mx[4]*pow(dx, 4) + cells[c].Mx[56]; - cells[p].Mx[57] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].Mx[10]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[11]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dx, 4)*dy + cells[c].Mx[20]*dx*dy + (1.0L/2.0L)*cells[c].Mx[21]*pow(dx, 2) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dx, 5) + cells[c].Mx[35]*dy + cells[c].Mx[36]*dx + (1.0L/6.0L)*cells[c].Mx[4]*pow(dx, 3)*dy + cells[c].Mx[57] + (1.0L/24.0L)*cells[c].Mx[5]*pow(dx, 4); - cells[p].Mx[58] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].Mx[10]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[12]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dx, 4)*dz + cells[c].Mx[20]*dx*dz + (1.0L/2.0L)*cells[c].Mx[22]*pow(dx, 2) + cells[c].Mx[35]*dz + cells[c].Mx[37]*dx + (1.0L/120.0L)*cells[c].Mx[3]*pow(dx, 5) + (1.0L/6.0L)*cells[c].Mx[4]*pow(dx, 3)*dz + cells[c].Mx[58] + (1.0L/24.0L)*cells[c].Mx[6]*pow(dx, 4); - cells[p].Mx[59] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[10]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[11]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[13]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[20]*pow(dy, 2) + cells[c].Mx[21]*dx*dy + (1.0L/2.0L)*cells[c].Mx[23]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dx, 4)*dy + cells[c].Mx[36]*dy + cells[c].Mx[38]*dx + (1.0L/4.0L)*cells[c].Mx[4]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[59] + (1.0L/6.0L)*cells[c].Mx[5]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[7]*pow(dx, 4); - cells[p].Mx[60] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4)*dy*dz + cells[c].Mx[10]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[11]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[12]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[14]*pow(dx, 3) + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3)*dy*dz + cells[c].Mx[20]*dy*dz + cells[c].Mx[21]*dx*dz + cells[c].Mx[22]*dx*dy + (1.0L/2.0L)*cells[c].Mx[24]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dx, 4)*dz + cells[c].Mx[36]*dz + cells[c].Mx[37]*dy + cells[c].Mx[39]*dx + (1.0L/24.0L)*cells[c].Mx[3]*pow(dx, 4)*dy + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mx[5]*pow(dx, 3)*dz + cells[c].Mx[60] + (1.0L/6.0L)*cells[c].Mx[6]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[8]*pow(dx, 4); - cells[p].Mx[61] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[10]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[12]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[15]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[20]*pow(dz, 2) + cells[c].Mx[22]*dx*dz + (1.0L/2.0L)*cells[c].Mx[25]*pow(dx, 2) + cells[c].Mx[37]*dz + (1.0L/24.0L)*cells[c].Mx[3]*pow(dx, 4)*dz + cells[c].Mx[40]*dx + (1.0L/4.0L)*cells[c].Mx[4]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[61] + (1.0L/6.0L)*cells[c].Mx[6]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mx[9]*pow(dx, 4); - cells[p].Mx[62] += (1.0L/36.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mx[10]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[11]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[16]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[21]*pow(dy, 2) + cells[c].Mx[23]*dx*dy + (1.0L/2.0L)*cells[c].Mx[26]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 3)*pow(dy, 2) + cells[c].Mx[38]*dy + cells[c].Mx[41]*dx + (1.0L/6.0L)*cells[c].Mx[4]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mx[5]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[62] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dx, 3)*dy; - cells[p].Mx[63] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[10]*pow(dy, 2)*dz + cells[c].Mx[11]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[12]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[14]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[17]*pow(dx, 3) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[21]*dy*dz + (1.0L/2.0L)*cells[c].Mx[22]*pow(dy, 2) + cells[c].Mx[23]*dx*dz + cells[c].Mx[24]*dx*dy + (1.0L/2.0L)*cells[c].Mx[27]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3)*dy*dz + cells[c].Mx[38]*dz + cells[c].Mx[39]*dy + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 3)*pow(dy, 2) + cells[c].Mx[42]*dx + (1.0L/2.0L)*cells[c].Mx[4]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2)*dy*dz + cells[c].Mx[63] + (1.0L/4.0L)*cells[c].Mx[6]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[7]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[8]*pow(dx, 3)*dy; - cells[p].Mx[64] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[10]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[11]*dx*pow(dz, 2) + cells[c].Mx[12]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[14]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[15]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[18]*pow(dx, 3) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[21]*pow(dz, 2) + cells[c].Mx[22]*dy*dz + cells[c].Mx[24]*dx*dz + cells[c].Mx[25]*dx*dy + (1.0L/2.0L)*cells[c].Mx[28]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 3)*pow(dz, 2) + cells[c].Mx[39]*dz + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3)*dy*dz + cells[c].Mx[40]*dy + cells[c].Mx[43]*dx + (1.0L/2.0L)*cells[c].Mx[4]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[5]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[64] + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mx[8]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[9]*pow(dx, 3)*dy; - cells[p].Mx[65] += (1.0L/36.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[10]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[12]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[15]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[19]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[22]*pow(dz, 2) + cells[c].Mx[25]*dx*dz + (1.0L/2.0L)*cells[c].Mx[29]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 3)*pow(dz, 2) + cells[c].Mx[40]*dz + cells[c].Mx[44]*dx + (1.0L/6.0L)*cells[c].Mx[4]*dx*pow(dz, 3) + cells[c].Mx[65] + (1.0L/4.0L)*cells[c].Mx[6]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[9]*pow(dx, 3)*dz; - cells[p].Mx[66] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mx[11]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[13]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dx, 2)*dy + (1.0L/24.0L)*cells[c].Mx[1]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[23]*pow(dy, 2) + cells[c].Mx[26]*dx*dy + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[30]*pow(dx, 2) + cells[c].Mx[41]*dy + cells[c].Mx[45]*dx + (1.0L/24.0L)*cells[c].Mx[4]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mx[5]*dx*pow(dy, 3) + cells[c].Mx[66] + (1.0L/4.0L)*cells[c].Mx[7]*pow(dx, 2)*pow(dy, 2); - cells[p].Mx[67] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[11]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[12]*pow(dy, 3) + cells[c].Mx[13]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[14]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[17]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[1]*dx*pow(dy, 3)*dz + cells[c].Mx[23]*dy*dz + (1.0L/2.0L)*cells[c].Mx[24]*pow(dy, 2) + cells[c].Mx[26]*dx*dz + cells[c].Mx[27]*dx*dy + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[31]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 3) + cells[c].Mx[41]*dz + cells[c].Mx[42]*dy + cells[c].Mx[46]*dx + (1.0L/6.0L)*cells[c].Mx[4]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[5]*dx*pow(dy, 2)*dz + cells[c].Mx[67] + (1.0L/6.0L)*cells[c].Mx[6]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[8]*pow(dx, 2)*pow(dy, 2); - cells[p].Mx[68] += (1.0L/8.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[11]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[12]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[13]*dx*pow(dz, 2) + cells[c].Mx[14]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[15]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[17]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[18]*pow(dx, 2)*dy + (1.0L/4.0L)*cells[c].Mx[1]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[23]*pow(dz, 2) + cells[c].Mx[24]*dy*dz + (1.0L/2.0L)*cells[c].Mx[25]*pow(dy, 2) + cells[c].Mx[27]*dx*dz + cells[c].Mx[28]*dx*dy + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[32]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[42]*dz + cells[c].Mx[43]*dy + cells[c].Mx[47]*dx + (1.0L/4.0L)*cells[c].Mx[4]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[5]*dx*dy*pow(dz, 2) + cells[c].Mx[68] + (1.0L/2.0L)*cells[c].Mx[6]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].Mx[7]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[9]*pow(dx, 2)*pow(dy, 2); - cells[p].Mx[69] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[11]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[12]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[14]*dx*pow(dz, 2) + cells[c].Mx[15]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[18]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[19]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[1]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[24]*pow(dz, 2) + cells[c].Mx[25]*dy*dz + cells[c].Mx[28]*dx*dz + cells[c].Mx[29]*dx*dy + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[33]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].Mx[43]*dz + cells[c].Mx[44]*dy + cells[c].Mx[48]*dx + (1.0L/6.0L)*cells[c].Mx[4]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[5]*dx*pow(dz, 3) + cells[c].Mx[69] + (1.0L/2.0L)*cells[c].Mx[6]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[8]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2)*dy*dz; - cells[p].Mx[70] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[12]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[15]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[19]*pow(dx, 2)*dz + (1.0L/24.0L)*cells[c].Mx[1]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[25]*pow(dz, 2) + cells[c].Mx[29]*dx*dz + (1.0L/2.0L)*cells[c].Mx[34]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dz, 3) + cells[c].Mx[44]*dz + cells[c].Mx[49]*dx + (1.0L/24.0L)*cells[c].Mx[4]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[6]*dx*pow(dz, 3) + cells[c].Mx[70] + (1.0L/4.0L)*cells[c].Mx[9]*pow(dx, 2)*pow(dz, 2); - cells[p].Mx[71] += (1.0L/120.0L)*cells[c].Mx[0]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].Mx[13]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[16]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[26]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[2]*dx*pow(dy, 4) + cells[c].Mx[30]*dx*dy + cells[c].Mx[45]*dy + cells[c].Mx[50]*dx + (1.0L/24.0L)*cells[c].Mx[5]*pow(dy, 4) + cells[c].Mx[71] + (1.0L/6.0L)*cells[c].Mx[7]*dx*pow(dy, 3); - cells[p].Mx[72] += (1.0L/24.0L)*cells[c].Mx[0]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mx[13]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[14]*pow(dy, 3) + cells[c].Mx[16]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[17]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dy, 4)*dz + cells[c].Mx[26]*dy*dz + (1.0L/2.0L)*cells[c].Mx[27]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*dx*pow(dy, 3)*dz + cells[c].Mx[30]*dx*dz + cells[c].Mx[31]*dx*dy + (1.0L/24.0L)*cells[c].Mx[3]*dx*pow(dy, 4) + cells[c].Mx[45]*dz + cells[c].Mx[46]*dy + cells[c].Mx[51]*dx + (1.0L/6.0L)*cells[c].Mx[5]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[6]*pow(dy, 4) + cells[c].Mx[72] + (1.0L/2.0L)*cells[c].Mx[7]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[8]*dx*pow(dy, 3); - cells[p].Mx[73] += (1.0L/12.0L)*cells[c].Mx[0]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[13]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[14]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[15]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[16]*dx*pow(dz, 2) + cells[c].Mx[17]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[18]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[26]*pow(dz, 2) + cells[c].Mx[27]*dy*dz + (1.0L/2.0L)*cells[c].Mx[28]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mx[2]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[31]*dx*dz + cells[c].Mx[32]*dx*dy + (1.0L/6.0L)*cells[c].Mx[3]*dx*pow(dy, 3)*dz + cells[c].Mx[46]*dz + cells[c].Mx[47]*dy + cells[c].Mx[52]*dx + (1.0L/4.0L)*cells[c].Mx[5]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[6]*pow(dy, 3)*dz + cells[c].Mx[73] + (1.0L/2.0L)*cells[c].Mx[7]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[9]*dx*pow(dy, 3); - cells[p].Mx[74] += (1.0L/12.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[13]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[14]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[15]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[17]*dx*pow(dz, 2) + cells[c].Mx[18]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[19]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[27]*pow(dz, 2) + cells[c].Mx[28]*dy*dz + (1.0L/2.0L)*cells[c].Mx[29]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*dx*dy*pow(dz, 3) + cells[c].Mx[32]*dx*dz + cells[c].Mx[33]*dx*dy + (1.0L/4.0L)*cells[c].Mx[3]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[47]*dz + cells[c].Mx[48]*dy + cells[c].Mx[53]*dx + (1.0L/6.0L)*cells[c].Mx[5]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[6]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[74] + (1.0L/6.0L)*cells[c].Mx[7]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[8]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*dx*pow(dy, 2)*dz; - cells[p].Mx[75] += (1.0L/24.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[14]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[15]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[18]*dx*pow(dz, 2) + cells[c].Mx[19]*dx*dy*dz + (1.0L/24.0L)*cells[c].Mx[1]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[28]*pow(dz, 2) + cells[c].Mx[29]*dy*dz + (1.0L/24.0L)*cells[c].Mx[2]*dx*pow(dz, 4) + cells[c].Mx[33]*dx*dz + cells[c].Mx[34]*dx*dy + (1.0L/6.0L)*cells[c].Mx[3]*dx*dy*pow(dz, 3) + cells[c].Mx[48]*dz + cells[c].Mx[49]*dy + cells[c].Mx[54]*dx + (1.0L/24.0L)*cells[c].Mx[5]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[6]*dy*pow(dz, 3) + cells[c].Mx[75] + (1.0L/6.0L)*cells[c].Mx[8]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*dx*dy*pow(dz, 2); - cells[p].Mx[76] += (1.0L/120.0L)*cells[c].Mx[0]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mx[15]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[19]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[29]*pow(dz, 2) + cells[c].Mx[34]*dx*dz + (1.0L/24.0L)*cells[c].Mx[3]*dx*pow(dz, 4) + cells[c].Mx[49]*dz + cells[c].Mx[55]*dx + (1.0L/24.0L)*cells[c].Mx[6]*pow(dz, 4) + cells[c].Mx[76] + (1.0L/6.0L)*cells[c].Mx[9]*dx*pow(dz, 3); - cells[p].Mx[77] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dy, 6) + (1.0L/6.0L)*cells[c].Mx[16]*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[30]*pow(dy, 2) + cells[c].Mx[50]*dy + cells[c].Mx[77] + (1.0L/24.0L)*cells[c].Mx[7]*pow(dy, 4); - cells[p].Mx[78] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mx[16]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[17]*pow(dy, 3) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dy, 4)*dz + cells[c].Mx[30]*dy*dz + (1.0L/2.0L)*cells[c].Mx[31]*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mx[3]*pow(dy, 5) + cells[c].Mx[50]*dz + cells[c].Mx[51]*dy + cells[c].Mx[78] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[8]*pow(dy, 4); - cells[p].Mx[79] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[16]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[17]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[18]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[30]*pow(dz, 2) + cells[c].Mx[31]*dy*dz + (1.0L/2.0L)*cells[c].Mx[32]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[3]*pow(dy, 4)*dz + cells[c].Mx[51]*dz + cells[c].Mx[52]*dy + cells[c].Mx[79] + (1.0L/4.0L)*cells[c].Mx[7]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[8]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[9]*pow(dy, 4); - cells[p].Mx[80] += (1.0L/36.0L)*cells[c].Mx[0]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[16]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[17]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[18]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[19]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[31]*pow(dz, 2) + cells[c].Mx[32]*dy*dz + (1.0L/2.0L)*cells[c].Mx[33]*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dy, 3)*pow(dz, 2) + cells[c].Mx[52]*dz + cells[c].Mx[53]*dy + (1.0L/6.0L)*cells[c].Mx[7]*dy*pow(dz, 3) + cells[c].Mx[80] + (1.0L/4.0L)*cells[c].Mx[8]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[9]*pow(dy, 3)*dz; - cells[p].Mx[81] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[17]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[18]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[19]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].Mx[2]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[32]*pow(dz, 2) + cells[c].Mx[33]*dy*dz + (1.0L/2.0L)*cells[c].Mx[34]*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dy, 2)*pow(dz, 3) + cells[c].Mx[53]*dz + cells[c].Mx[54]*dy + (1.0L/24.0L)*cells[c].Mx[7]*pow(dz, 4) + cells[c].Mx[81] + (1.0L/6.0L)*cells[c].Mx[8]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[9]*pow(dy, 2)*pow(dz, 2); - cells[p].Mx[82] += (1.0L/120.0L)*cells[c].Mx[0]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mx[18]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[19]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[33]*pow(dz, 2) + cells[c].Mx[34]*dy*dz + (1.0L/24.0L)*cells[c].Mx[3]*dy*pow(dz, 4) + cells[c].Mx[54]*dz + cells[c].Mx[55]*dy + cells[c].Mx[82] + (1.0L/24.0L)*cells[c].Mx[8]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[9]*dy*pow(dz, 3); - cells[p].Mx[83] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dz, 6) + (1.0L/6.0L)*cells[c].Mx[19]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[34]*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[3]*pow(dz, 5) + cells[c].Mx[55]*dz + cells[c].Mx[83] + (1.0L/24.0L)*cells[c].Mx[9]*pow(dz, 4); - - - cells[p].My[0] += cells[c].My[0]; - cells[p].My[1] += cells[c].My[0]*dx + cells[c].My[1]; - cells[p].My[2] += cells[c].My[0]*dy + cells[c].My[2]; - cells[p].My[3] += cells[c].My[0]*dz + cells[c].My[3]; - cells[p].My[4] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2) + cells[c].My[1]*dx + cells[c].My[4]; - cells[p].My[5] += cells[c].My[0]*dx*dy + cells[c].My[1]*dy + cells[c].My[2]*dx + cells[c].My[5]; - cells[p].My[6] += cells[c].My[0]*dx*dz + cells[c].My[1]*dz + cells[c].My[3]*dx + cells[c].My[6]; - cells[p].My[7] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2) + cells[c].My[2]*dy + cells[c].My[7]; - cells[p].My[8] += cells[c].My[0]*dy*dz + cells[c].My[2]*dz + cells[c].My[3]*dy + cells[c].My[8]; - cells[p].My[9] += (1.0L/2.0L)*cells[c].My[0]*pow(dz, 2) + cells[c].My[3]*dz + cells[c].My[9]; - cells[p].My[10] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3) + cells[c].My[10] + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2) + cells[c].My[4]*dx; - cells[p].My[11] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy + cells[c].My[11] + cells[c].My[1]*dx*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2) + cells[c].My[4]*dy + cells[c].My[5]*dx; - cells[p].My[12] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dz + cells[c].My[12] + cells[c].My[1]*dx*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2) + cells[c].My[4]*dz + cells[c].My[6]*dx; - cells[p].My[13] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2) + cells[c].My[13] + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2) + cells[c].My[2]*dx*dy + cells[c].My[5]*dy + cells[c].My[7]*dx; - cells[p].My[14] += cells[c].My[0]*dx*dy*dz + cells[c].My[14] + cells[c].My[1]*dy*dz + cells[c].My[2]*dx*dz + cells[c].My[3]*dx*dy + cells[c].My[5]*dz + cells[c].My[6]*dy + cells[c].My[8]*dx; - cells[p].My[15] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dz, 2) + cells[c].My[15] + (1.0L/2.0L)*cells[c].My[1]*pow(dz, 2) + cells[c].My[3]*dx*dz + cells[c].My[6]*dz + cells[c].My[9]*dx; - cells[p].My[16] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3) + cells[c].My[16] + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2) + cells[c].My[7]*dy; - cells[p].My[17] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2)*dz + cells[c].My[17] + cells[c].My[2]*dy*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2) + cells[c].My[7]*dz + cells[c].My[8]*dy; - cells[p].My[18] += (1.0L/2.0L)*cells[c].My[0]*dy*pow(dz, 2) + cells[c].My[18] + (1.0L/2.0L)*cells[c].My[2]*pow(dz, 2) + cells[c].My[3]*dy*dz + cells[c].My[8]*dz + cells[c].My[9]*dy; - cells[p].My[19] += (1.0L/6.0L)*cells[c].My[0]*pow(dz, 3) + cells[c].My[19] + (1.0L/2.0L)*cells[c].My[3]*pow(dz, 2) + cells[c].My[9]*dz; - cells[p].My[20] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4) + cells[c].My[10]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3) + cells[c].My[20] + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2); - cells[p].My[21] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dy + cells[c].My[10]*dy + cells[c].My[11]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dy + cells[c].My[21] + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3) + cells[c].My[4]*dx*dy + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2); - cells[p].My[22] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dz + cells[c].My[10]*dz + cells[c].My[12]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dz + cells[c].My[22] + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3) + cells[c].My[4]*dx*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2); - cells[p].My[23] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2) + cells[c].My[11]*dy + cells[c].My[13]*dx + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dy, 2) + cells[c].My[23] + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].My[4]*pow(dy, 2) + cells[c].My[5]*dx*dy + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2); - cells[p].My[24] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy*dz + cells[c].My[11]*dz + cells[c].My[12]*dy + cells[c].My[14]*dx + cells[c].My[1]*dx*dy*dz + cells[c].My[24] + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dy + cells[c].My[4]*dy*dz + cells[c].My[5]*dx*dz + cells[c].My[6]*dx*dy + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2); - cells[p].My[25] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 2) + cells[c].My[12]*dz + cells[c].My[15]*dx + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dz, 2) + cells[c].My[25] + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[4]*pow(dz, 2) + cells[c].My[6]*dx*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2); - cells[p].My[26] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dy, 3) + cells[c].My[13]*dy + cells[c].My[16]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dy, 3) + cells[c].My[26] + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[5]*pow(dy, 2) + cells[c].My[7]*dx*dy; - cells[p].My[27] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2)*dz + cells[c].My[13]*dz + cells[c].My[14]*dy + cells[c].My[17]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2)*dz + cells[c].My[27] + cells[c].My[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dy, 2) + cells[c].My[5]*dy*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dy, 2) + cells[c].My[7]*dx*dz + cells[c].My[8]*dx*dy; - cells[p].My[28] += (1.0L/2.0L)*cells[c].My[0]*dx*dy*pow(dz, 2) + cells[c].My[14]*dz + cells[c].My[15]*dy + cells[c].My[18]*dx + (1.0L/2.0L)*cells[c].My[1]*dy*pow(dz, 2) + cells[c].My[28] + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dz, 2) + cells[c].My[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dz, 2) + cells[c].My[6]*dy*dz + cells[c].My[8]*dx*dz + cells[c].My[9]*dx*dy; - cells[p].My[29] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dz, 3) + cells[c].My[15]*dz + cells[c].My[19]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dz, 3) + cells[c].My[29] + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dz, 2) + cells[c].My[9]*dx*dz; - cells[p].My[30] += (1.0L/24.0L)*cells[c].My[0]*pow(dy, 4) + cells[c].My[16]*dy + (1.0L/6.0L)*cells[c].My[2]*pow(dy, 3) + cells[c].My[30] + (1.0L/2.0L)*cells[c].My[7]*pow(dy, 2); - cells[p].My[31] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3)*dz + cells[c].My[16]*dz + cells[c].My[17]*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2)*dz + cells[c].My[31] + (1.0L/6.0L)*cells[c].My[3]*pow(dy, 3) + cells[c].My[7]*dy*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dy, 2); - cells[p].My[32] += (1.0L/4.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 2) + cells[c].My[17]*dz + cells[c].My[18]*dy + (1.0L/2.0L)*cells[c].My[2]*dy*pow(dz, 2) + cells[c].My[32] + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[7]*pow(dz, 2) + cells[c].My[8]*dy*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dy, 2); - cells[p].My[33] += (1.0L/6.0L)*cells[c].My[0]*dy*pow(dz, 3) + cells[c].My[18]*dz + cells[c].My[19]*dy + (1.0L/6.0L)*cells[c].My[2]*pow(dz, 3) + cells[c].My[33] + (1.0L/2.0L)*cells[c].My[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dz, 2) + cells[c].My[9]*dy*dz; - cells[p].My[34] += (1.0L/24.0L)*cells[c].My[0]*pow(dz, 4) + cells[c].My[19]*dz + cells[c].My[34] + (1.0L/6.0L)*cells[c].My[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*pow(dz, 2); - cells[p].My[35] += (1.0L/120.0L)*cells[c].My[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].My[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[1]*pow(dx, 4) + cells[c].My[20]*dx + cells[c].My[35] + (1.0L/6.0L)*cells[c].My[4]*pow(dx, 3); - cells[p].My[36] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4)*dy + cells[c].My[10]*dx*dy + (1.0L/2.0L)*cells[c].My[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3)*dy + cells[c].My[20]*dy + cells[c].My[21]*dx + (1.0L/24.0L)*cells[c].My[2]*pow(dx, 4) + cells[c].My[36] + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[5]*pow(dx, 3); - cells[p].My[37] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4)*dz + cells[c].My[10]*dx*dz + (1.0L/2.0L)*cells[c].My[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3)*dz + cells[c].My[20]*dz + cells[c].My[22]*dx + cells[c].My[37] + (1.0L/24.0L)*cells[c].My[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[6]*pow(dx, 3); - cells[p].My[38] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[10]*pow(dy, 2) + cells[c].My[11]*dx*dy + (1.0L/2.0L)*cells[c].My[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 2) + cells[c].My[21]*dy + cells[c].My[23]*dx + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3)*dy + cells[c].My[38] + (1.0L/2.0L)*cells[c].My[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[7]*pow(dx, 3); - cells[p].My[39] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dy*dz + cells[c].My[10]*dy*dz + cells[c].My[11]*dx*dz + cells[c].My[12]*dx*dy + (1.0L/2.0L)*cells[c].My[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dy*dz + cells[c].My[21]*dz + cells[c].My[22]*dy + cells[c].My[24]*dx + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3)*dz + cells[c].My[39] + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3)*dy + cells[c].My[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[8]*pow(dx, 3); - cells[p].My[40] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[10]*pow(dz, 2) + cells[c].My[12]*dx*dz + (1.0L/2.0L)*cells[c].My[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*pow(dz, 2) + cells[c].My[22]*dz + cells[c].My[25]*dx + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3)*dz + cells[c].My[40] + (1.0L/2.0L)*cells[c].My[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[9]*pow(dx, 3); - cells[p].My[41] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[11]*pow(dy, 2) + cells[c].My[13]*dx*dy + (1.0L/2.0L)*cells[c].My[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*dx*pow(dy, 3) + cells[c].My[23]*dy + cells[c].My[26]*dx + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 2) + cells[c].My[41] + (1.0L/6.0L)*cells[c].My[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2)*dy; - cells[p].My[42] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[11]*dy*dz + (1.0L/2.0L)*cells[c].My[12]*pow(dy, 2) + cells[c].My[13]*dx*dz + cells[c].My[14]*dx*dy + (1.0L/2.0L)*cells[c].My[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dy, 2)*dz + cells[c].My[23]*dz + cells[c].My[24]*dy + cells[c].My[27]*dx + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 2) + cells[c].My[42] + (1.0L/2.0L)*cells[c].My[4]*pow(dy, 2)*dz + cells[c].My[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2)*dy; - cells[p].My[43] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[11]*pow(dz, 2) + cells[c].My[12]*dy*dz + cells[c].My[14]*dx*dz + cells[c].My[15]*dx*dy + (1.0L/2.0L)*cells[c].My[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*dx*dy*pow(dz, 2) + cells[c].My[24]*dz + cells[c].My[25]*dy + cells[c].My[28]*dx + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dy*dz + cells[c].My[43] + (1.0L/2.0L)*cells[c].My[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[5]*dx*pow(dz, 2) + cells[c].My[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2)*dy; - cells[p].My[44] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[12]*pow(dz, 2) + cells[c].My[15]*dx*dz + (1.0L/2.0L)*cells[c].My[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*dx*pow(dz, 3) + cells[c].My[25]*dz + cells[c].My[29]*dx + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*pow(dz, 2) + cells[c].My[44] + (1.0L/6.0L)*cells[c].My[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2)*dz; - cells[p].My[45] += (1.0L/24.0L)*cells[c].My[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[13]*pow(dy, 2) + cells[c].My[16]*dx*dy + (1.0L/24.0L)*cells[c].My[1]*pow(dy, 4) + cells[c].My[26]*dy + (1.0L/6.0L)*cells[c].My[2]*dx*pow(dy, 3) + cells[c].My[30]*dx + cells[c].My[45] + (1.0L/6.0L)*cells[c].My[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[7]*dx*pow(dy, 2); - cells[p].My[46] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dy, 3)*dz + cells[c].My[13]*dy*dz + (1.0L/2.0L)*cells[c].My[14]*pow(dy, 2) + cells[c].My[16]*dx*dz + cells[c].My[17]*dx*dy + (1.0L/6.0L)*cells[c].My[1]*pow(dy, 3)*dz + cells[c].My[26]*dz + cells[c].My[27]*dy + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dy, 2)*dz + cells[c].My[31]*dx + (1.0L/6.0L)*cells[c].My[3]*dx*pow(dy, 3) + cells[c].My[46] + (1.0L/2.0L)*cells[c].My[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[6]*pow(dy, 3) + cells[c].My[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[8]*dx*pow(dy, 2); - cells[p].My[47] += (1.0L/4.0L)*cells[c].My[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[13]*pow(dz, 2) + cells[c].My[14]*dy*dz + (1.0L/2.0L)*cells[c].My[15]*pow(dy, 2) + cells[c].My[17]*dx*dz + cells[c].My[18]*dx*dy + (1.0L/4.0L)*cells[c].My[1]*pow(dy, 2)*pow(dz, 2) + cells[c].My[27]*dz + cells[c].My[28]*dy + (1.0L/2.0L)*cells[c].My[2]*dx*dy*pow(dz, 2) + cells[c].My[32]*dx + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dy, 2)*dz + cells[c].My[47] + (1.0L/2.0L)*cells[c].My[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[7]*dx*pow(dz, 2) + cells[c].My[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[9]*dx*pow(dy, 2); - cells[p].My[48] += (1.0L/6.0L)*cells[c].My[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[14]*pow(dz, 2) + cells[c].My[15]*dy*dz + cells[c].My[18]*dx*dz + cells[c].My[19]*dx*dy + (1.0L/6.0L)*cells[c].My[1]*dy*pow(dz, 3) + cells[c].My[28]*dz + cells[c].My[29]*dy + (1.0L/6.0L)*cells[c].My[2]*dx*pow(dz, 3) + cells[c].My[33]*dx + (1.0L/2.0L)*cells[c].My[3]*dx*dy*pow(dz, 2) + cells[c].My[48] + (1.0L/6.0L)*cells[c].My[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*dx*pow(dz, 2) + cells[c].My[9]*dx*dy*dz; - cells[p].My[49] += (1.0L/24.0L)*cells[c].My[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[15]*pow(dz, 2) + cells[c].My[19]*dx*dz + (1.0L/24.0L)*cells[c].My[1]*pow(dz, 4) + cells[c].My[29]*dz + cells[c].My[34]*dx + (1.0L/6.0L)*cells[c].My[3]*dx*pow(dz, 3) + cells[c].My[49] + (1.0L/6.0L)*cells[c].My[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*dx*pow(dz, 2); - cells[p].My[50] += (1.0L/120.0L)*cells[c].My[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[2]*pow(dy, 4) + cells[c].My[30]*dy + cells[c].My[50] + (1.0L/6.0L)*cells[c].My[7]*pow(dy, 3); - cells[p].My[51] += (1.0L/24.0L)*cells[c].My[0]*pow(dy, 4)*dz + cells[c].My[16]*dy*dz + (1.0L/2.0L)*cells[c].My[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*pow(dy, 3)*dz + cells[c].My[30]*dz + cells[c].My[31]*dy + (1.0L/24.0L)*cells[c].My[3]*pow(dy, 4) + cells[c].My[51] + (1.0L/2.0L)*cells[c].My[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[8]*pow(dy, 3); - cells[p].My[52] += (1.0L/12.0L)*cells[c].My[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[16]*pow(dz, 2) + cells[c].My[17]*dy*dz + (1.0L/2.0L)*cells[c].My[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].My[2]*pow(dy, 2)*pow(dz, 2) + cells[c].My[31]*dz + cells[c].My[32]*dy + (1.0L/6.0L)*cells[c].My[3]*pow(dy, 3)*dz + cells[c].My[52] + (1.0L/2.0L)*cells[c].My[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[9]*pow(dy, 3); - cells[p].My[53] += (1.0L/12.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[17]*pow(dz, 2) + cells[c].My[18]*dy*dz + (1.0L/2.0L)*cells[c].My[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*dy*pow(dz, 3) + cells[c].My[32]*dz + cells[c].My[33]*dy + (1.0L/4.0L)*cells[c].My[3]*pow(dy, 2)*pow(dz, 2) + cells[c].My[53] + (1.0L/6.0L)*cells[c].My[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*pow(dy, 2)*dz; - cells[p].My[54] += (1.0L/24.0L)*cells[c].My[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[18]*pow(dz, 2) + cells[c].My[19]*dy*dz + (1.0L/24.0L)*cells[c].My[2]*pow(dz, 4) + cells[c].My[33]*dz + cells[c].My[34]*dy + (1.0L/6.0L)*cells[c].My[3]*dy*pow(dz, 3) + cells[c].My[54] + (1.0L/6.0L)*cells[c].My[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*dy*pow(dz, 2); - cells[p].My[55] += (1.0L/120.0L)*cells[c].My[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[19]*pow(dz, 2) + cells[c].My[34]*dz + (1.0L/24.0L)*cells[c].My[3]*pow(dz, 4) + cells[c].My[55] + (1.0L/6.0L)*cells[c].My[9]*pow(dz, 3); - cells[p].My[56] += (1.0L/720.0L)*cells[c].My[0]*pow(dx, 6) + (1.0L/6.0L)*cells[c].My[10]*pow(dx, 3) + (1.0L/120.0L)*cells[c].My[1]*pow(dx, 5) + (1.0L/2.0L)*cells[c].My[20]*pow(dx, 2) + cells[c].My[35]*dx + (1.0L/24.0L)*cells[c].My[4]*pow(dx, 4) + cells[c].My[56]; - cells[p].My[57] += (1.0L/120.0L)*cells[c].My[0]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].My[10]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[11]*pow(dx, 3) + (1.0L/24.0L)*cells[c].My[1]*pow(dx, 4)*dy + cells[c].My[20]*dx*dy + (1.0L/2.0L)*cells[c].My[21]*pow(dx, 2) + (1.0L/120.0L)*cells[c].My[2]*pow(dx, 5) + cells[c].My[35]*dy + cells[c].My[36]*dx + (1.0L/6.0L)*cells[c].My[4]*pow(dx, 3)*dy + cells[c].My[57] + (1.0L/24.0L)*cells[c].My[5]*pow(dx, 4); - cells[p].My[58] += (1.0L/120.0L)*cells[c].My[0]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].My[10]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[12]*pow(dx, 3) + (1.0L/24.0L)*cells[c].My[1]*pow(dx, 4)*dz + cells[c].My[20]*dx*dz + (1.0L/2.0L)*cells[c].My[22]*pow(dx, 2) + cells[c].My[35]*dz + cells[c].My[37]*dx + (1.0L/120.0L)*cells[c].My[3]*pow(dx, 5) + (1.0L/6.0L)*cells[c].My[4]*pow(dx, 3)*dz + cells[c].My[58] + (1.0L/24.0L)*cells[c].My[6]*pow(dx, 4); - cells[p].My[59] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[10]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[11]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[13]*pow(dx, 3) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[20]*pow(dy, 2) + cells[c].My[21]*dx*dy + (1.0L/2.0L)*cells[c].My[23]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[2]*pow(dx, 4)*dy + cells[c].My[36]*dy + cells[c].My[38]*dx + (1.0L/4.0L)*cells[c].My[4]*pow(dx, 2)*pow(dy, 2) + cells[c].My[59] + (1.0L/6.0L)*cells[c].My[5]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[7]*pow(dx, 4); - cells[p].My[60] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4)*dy*dz + cells[c].My[10]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[11]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[12]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[14]*pow(dx, 3) + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3)*dy*dz + cells[c].My[20]*dy*dz + cells[c].My[21]*dx*dz + cells[c].My[22]*dx*dy + (1.0L/2.0L)*cells[c].My[24]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[2]*pow(dx, 4)*dz + cells[c].My[36]*dz + cells[c].My[37]*dy + cells[c].My[39]*dx + (1.0L/24.0L)*cells[c].My[3]*pow(dx, 4)*dy + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].My[5]*pow(dx, 3)*dz + cells[c].My[60] + (1.0L/6.0L)*cells[c].My[6]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[8]*pow(dx, 4); - cells[p].My[61] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[10]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[12]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[15]*pow(dx, 3) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[20]*pow(dz, 2) + cells[c].My[22]*dx*dz + (1.0L/2.0L)*cells[c].My[25]*pow(dx, 2) + cells[c].My[37]*dz + (1.0L/24.0L)*cells[c].My[3]*pow(dx, 4)*dz + cells[c].My[40]*dx + (1.0L/4.0L)*cells[c].My[4]*pow(dx, 2)*pow(dz, 2) + cells[c].My[61] + (1.0L/6.0L)*cells[c].My[6]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].My[9]*pow(dx, 4); - cells[p].My[62] += (1.0L/36.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].My[10]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[11]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[13]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[16]*pow(dx, 3) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[21]*pow(dy, 2) + cells[c].My[23]*dx*dy + (1.0L/2.0L)*cells[c].My[26]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 3)*pow(dy, 2) + cells[c].My[38]*dy + cells[c].My[41]*dx + (1.0L/6.0L)*cells[c].My[4]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].My[5]*pow(dx, 2)*pow(dy, 2) + cells[c].My[62] + (1.0L/6.0L)*cells[c].My[7]*pow(dx, 3)*dy; - cells[p].My[63] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[10]*pow(dy, 2)*dz + cells[c].My[11]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[12]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[13]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[14]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[17]*pow(dx, 3) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[21]*dy*dz + (1.0L/2.0L)*cells[c].My[22]*pow(dy, 2) + cells[c].My[23]*dx*dz + cells[c].My[24]*dx*dy + (1.0L/2.0L)*cells[c].My[27]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3)*dy*dz + cells[c].My[38]*dz + cells[c].My[39]*dy + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 3)*pow(dy, 2) + cells[c].My[42]*dx + (1.0L/2.0L)*cells[c].My[4]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2)*dy*dz + cells[c].My[63] + (1.0L/4.0L)*cells[c].My[6]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[7]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[8]*pow(dx, 3)*dy; - cells[p].My[64] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[10]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[11]*dx*pow(dz, 2) + cells[c].My[12]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[14]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[15]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[18]*pow(dx, 3) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[21]*pow(dz, 2) + cells[c].My[22]*dy*dz + cells[c].My[24]*dx*dz + cells[c].My[25]*dx*dy + (1.0L/2.0L)*cells[c].My[28]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 3)*pow(dz, 2) + cells[c].My[39]*dz + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3)*dy*dz + cells[c].My[40]*dy + cells[c].My[43]*dx + (1.0L/2.0L)*cells[c].My[4]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[5]*pow(dx, 2)*pow(dz, 2) + cells[c].My[64] + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].My[8]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[9]*pow(dx, 3)*dy; - cells[p].My[65] += (1.0L/36.0L)*cells[c].My[0]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[10]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[12]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[15]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[19]*pow(dx, 3) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[22]*pow(dz, 2) + cells[c].My[25]*dx*dz + (1.0L/2.0L)*cells[c].My[29]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 3)*pow(dz, 2) + cells[c].My[40]*dz + cells[c].My[44]*dx + (1.0L/6.0L)*cells[c].My[4]*dx*pow(dz, 3) + cells[c].My[65] + (1.0L/4.0L)*cells[c].My[6]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[9]*pow(dx, 3)*dz; - cells[p].My[66] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].My[11]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[13]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[16]*pow(dx, 2)*dy + (1.0L/24.0L)*cells[c].My[1]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[23]*pow(dy, 2) + cells[c].My[26]*dx*dy + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[30]*pow(dx, 2) + cells[c].My[41]*dy + cells[c].My[45]*dx + (1.0L/24.0L)*cells[c].My[4]*pow(dy, 4) + (1.0L/6.0L)*cells[c].My[5]*dx*pow(dy, 3) + cells[c].My[66] + (1.0L/4.0L)*cells[c].My[7]*pow(dx, 2)*pow(dy, 2); - cells[p].My[67] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[11]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[12]*pow(dy, 3) + cells[c].My[13]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[14]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[16]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[17]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[1]*dx*pow(dy, 3)*dz + cells[c].My[23]*dy*dz + (1.0L/2.0L)*cells[c].My[24]*pow(dy, 2) + cells[c].My[26]*dx*dz + cells[c].My[27]*dx*dy + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[31]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 3) + cells[c].My[41]*dz + cells[c].My[42]*dy + cells[c].My[46]*dx + (1.0L/6.0L)*cells[c].My[4]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[5]*dx*pow(dy, 2)*dz + cells[c].My[67] + (1.0L/6.0L)*cells[c].My[6]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[8]*pow(dx, 2)*pow(dy, 2); - cells[p].My[68] += (1.0L/8.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[11]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[12]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[13]*dx*pow(dz, 2) + cells[c].My[14]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[15]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[17]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[18]*pow(dx, 2)*dy + (1.0L/4.0L)*cells[c].My[1]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[23]*pow(dz, 2) + cells[c].My[24]*dy*dz + (1.0L/2.0L)*cells[c].My[25]*pow(dy, 2) + cells[c].My[27]*dx*dz + cells[c].My[28]*dx*dy + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[32]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[42]*dz + cells[c].My[43]*dy + cells[c].My[47]*dx + (1.0L/4.0L)*cells[c].My[4]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[5]*dx*dy*pow(dz, 2) + cells[c].My[68] + (1.0L/2.0L)*cells[c].My[6]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].My[7]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[9]*pow(dx, 2)*pow(dy, 2); - cells[p].My[69] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[11]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[12]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[14]*dx*pow(dz, 2) + cells[c].My[15]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[18]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[19]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[1]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[24]*pow(dz, 2) + cells[c].My[25]*dy*dz + cells[c].My[28]*dx*dz + cells[c].My[29]*dx*dy + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[33]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].My[43]*dz + cells[c].My[44]*dy + cells[c].My[48]*dx + (1.0L/6.0L)*cells[c].My[4]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[5]*dx*pow(dz, 3) + cells[c].My[69] + (1.0L/2.0L)*cells[c].My[6]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[8]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2)*dy*dz; - cells[p].My[70] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[12]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[15]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[19]*pow(dx, 2)*dz + (1.0L/24.0L)*cells[c].My[1]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[25]*pow(dz, 2) + cells[c].My[29]*dx*dz + (1.0L/2.0L)*cells[c].My[34]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 2)*pow(dz, 3) + cells[c].My[44]*dz + cells[c].My[49]*dx + (1.0L/24.0L)*cells[c].My[4]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[6]*dx*pow(dz, 3) + cells[c].My[70] + (1.0L/4.0L)*cells[c].My[9]*pow(dx, 2)*pow(dz, 2); - cells[p].My[71] += (1.0L/120.0L)*cells[c].My[0]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].My[13]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[16]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].My[1]*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[26]*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[2]*dx*pow(dy, 4) + cells[c].My[30]*dx*dy + cells[c].My[45]*dy + cells[c].My[50]*dx + (1.0L/24.0L)*cells[c].My[5]*pow(dy, 4) + cells[c].My[71] + (1.0L/6.0L)*cells[c].My[7]*dx*pow(dy, 3); - cells[p].My[72] += (1.0L/24.0L)*cells[c].My[0]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].My[13]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[14]*pow(dy, 3) + cells[c].My[16]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[17]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[1]*pow(dy, 4)*dz + cells[c].My[26]*dy*dz + (1.0L/2.0L)*cells[c].My[27]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*dx*pow(dy, 3)*dz + cells[c].My[30]*dx*dz + cells[c].My[31]*dx*dy + (1.0L/24.0L)*cells[c].My[3]*dx*pow(dy, 4) + cells[c].My[45]*dz + cells[c].My[46]*dy + cells[c].My[51]*dx + (1.0L/6.0L)*cells[c].My[5]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[6]*pow(dy, 4) + cells[c].My[72] + (1.0L/2.0L)*cells[c].My[7]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[8]*dx*pow(dy, 3); - cells[p].My[73] += (1.0L/12.0L)*cells[c].My[0]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[13]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[14]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[15]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[16]*dx*pow(dz, 2) + cells[c].My[17]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[18]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[1]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[26]*pow(dz, 2) + cells[c].My[27]*dy*dz + (1.0L/2.0L)*cells[c].My[28]*pow(dy, 2) + (1.0L/4.0L)*cells[c].My[2]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].My[31]*dx*dz + cells[c].My[32]*dx*dy + (1.0L/6.0L)*cells[c].My[3]*dx*pow(dy, 3)*dz + cells[c].My[46]*dz + cells[c].My[47]*dy + cells[c].My[52]*dx + (1.0L/4.0L)*cells[c].My[5]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[6]*pow(dy, 3)*dz + cells[c].My[73] + (1.0L/2.0L)*cells[c].My[7]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[9]*dx*pow(dy, 3); - cells[p].My[74] += (1.0L/12.0L)*cells[c].My[0]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[13]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[14]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[15]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[17]*dx*pow(dz, 2) + cells[c].My[18]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[19]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[1]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[27]*pow(dz, 2) + cells[c].My[28]*dy*dz + (1.0L/2.0L)*cells[c].My[29]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*dx*dy*pow(dz, 3) + cells[c].My[32]*dx*dz + cells[c].My[33]*dx*dy + (1.0L/4.0L)*cells[c].My[3]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].My[47]*dz + cells[c].My[48]*dy + cells[c].My[53]*dx + (1.0L/6.0L)*cells[c].My[5]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[6]*pow(dy, 2)*pow(dz, 2) + cells[c].My[74] + (1.0L/6.0L)*cells[c].My[7]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[8]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*dx*pow(dy, 2)*dz; - cells[p].My[75] += (1.0L/24.0L)*cells[c].My[0]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[14]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[15]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[18]*dx*pow(dz, 2) + cells[c].My[19]*dx*dy*dz + (1.0L/24.0L)*cells[c].My[1]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[28]*pow(dz, 2) + cells[c].My[29]*dy*dz + (1.0L/24.0L)*cells[c].My[2]*dx*pow(dz, 4) + cells[c].My[33]*dx*dz + cells[c].My[34]*dx*dy + (1.0L/6.0L)*cells[c].My[3]*dx*dy*pow(dz, 3) + cells[c].My[48]*dz + cells[c].My[49]*dy + cells[c].My[54]*dx + (1.0L/24.0L)*cells[c].My[5]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[6]*dy*pow(dz, 3) + cells[c].My[75] + (1.0L/6.0L)*cells[c].My[8]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*dx*dy*pow(dz, 2); - cells[p].My[76] += (1.0L/120.0L)*cells[c].My[0]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].My[15]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[19]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[1]*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[29]*pow(dz, 2) + cells[c].My[34]*dx*dz + (1.0L/24.0L)*cells[c].My[3]*dx*pow(dz, 4) + cells[c].My[49]*dz + cells[c].My[55]*dx + (1.0L/24.0L)*cells[c].My[6]*pow(dz, 4) + cells[c].My[76] + (1.0L/6.0L)*cells[c].My[9]*dx*pow(dz, 3); - cells[p].My[77] += (1.0L/720.0L)*cells[c].My[0]*pow(dy, 6) + (1.0L/6.0L)*cells[c].My[16]*pow(dy, 3) + (1.0L/120.0L)*cells[c].My[2]*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[30]*pow(dy, 2) + cells[c].My[50]*dy + cells[c].My[77] + (1.0L/24.0L)*cells[c].My[7]*pow(dy, 4); - cells[p].My[78] += (1.0L/120.0L)*cells[c].My[0]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].My[16]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[17]*pow(dy, 3) + (1.0L/24.0L)*cells[c].My[2]*pow(dy, 4)*dz + cells[c].My[30]*dy*dz + (1.0L/2.0L)*cells[c].My[31]*pow(dy, 2) + (1.0L/120.0L)*cells[c].My[3]*pow(dy, 5) + cells[c].My[50]*dz + cells[c].My[51]*dy + cells[c].My[78] + (1.0L/6.0L)*cells[c].My[7]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[8]*pow(dy, 4); - cells[p].My[79] += (1.0L/48.0L)*cells[c].My[0]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[16]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[17]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[18]*pow(dy, 3) + (1.0L/12.0L)*cells[c].My[2]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[30]*pow(dz, 2) + cells[c].My[31]*dy*dz + (1.0L/2.0L)*cells[c].My[32]*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[3]*pow(dy, 4)*dz + cells[c].My[51]*dz + cells[c].My[52]*dy + cells[c].My[79] + (1.0L/4.0L)*cells[c].My[7]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[8]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[9]*pow(dy, 4); - cells[p].My[80] += (1.0L/36.0L)*cells[c].My[0]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[16]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[17]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[18]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[19]*pow(dy, 3) + (1.0L/12.0L)*cells[c].My[2]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[31]*pow(dz, 2) + cells[c].My[32]*dy*dz + (1.0L/2.0L)*cells[c].My[33]*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dy, 3)*pow(dz, 2) + cells[c].My[52]*dz + cells[c].My[53]*dy + (1.0L/6.0L)*cells[c].My[7]*dy*pow(dz, 3) + cells[c].My[80] + (1.0L/4.0L)*cells[c].My[8]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[9]*pow(dy, 3)*dz; - cells[p].My[81] += (1.0L/48.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[17]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[18]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[19]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].My[2]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[32]*pow(dz, 2) + cells[c].My[33]*dy*dz + (1.0L/2.0L)*cells[c].My[34]*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dy, 2)*pow(dz, 3) + cells[c].My[53]*dz + cells[c].My[54]*dy + (1.0L/24.0L)*cells[c].My[7]*pow(dz, 4) + cells[c].My[81] + (1.0L/6.0L)*cells[c].My[8]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[9]*pow(dy, 2)*pow(dz, 2); - cells[p].My[82] += (1.0L/120.0L)*cells[c].My[0]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].My[18]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[19]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[2]*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[33]*pow(dz, 2) + cells[c].My[34]*dy*dz + (1.0L/24.0L)*cells[c].My[3]*dy*pow(dz, 4) + cells[c].My[54]*dz + cells[c].My[55]*dy + cells[c].My[82] + (1.0L/24.0L)*cells[c].My[8]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[9]*dy*pow(dz, 3); - cells[p].My[83] += (1.0L/720.0L)*cells[c].My[0]*pow(dz, 6) + (1.0L/6.0L)*cells[c].My[19]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[34]*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[3]*pow(dz, 5) + cells[c].My[55]*dz + cells[c].My[83] + (1.0L/24.0L)*cells[c].My[9]*pow(dz, 4); - - - cells[p].Mz[0] += cells[c].Mz[0]; - cells[p].Mz[1] += cells[c].Mz[0]*dx + cells[c].Mz[1]; - cells[p].Mz[2] += cells[c].Mz[0]*dy + cells[c].Mz[2]; - cells[p].Mz[3] += cells[c].Mz[0]*dz + cells[c].Mz[3]; - cells[p].Mz[4] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2) + cells[c].Mz[1]*dx + cells[c].Mz[4]; - cells[p].Mz[5] += cells[c].Mz[0]*dx*dy + cells[c].Mz[1]*dy + cells[c].Mz[2]*dx + cells[c].Mz[5]; - cells[p].Mz[6] += cells[c].Mz[0]*dx*dz + cells[c].Mz[1]*dz + cells[c].Mz[3]*dx + cells[c].Mz[6]; - cells[p].Mz[7] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2) + cells[c].Mz[2]*dy + cells[c].Mz[7]; - cells[p].Mz[8] += cells[c].Mz[0]*dy*dz + cells[c].Mz[2]*dz + cells[c].Mz[3]*dy + cells[c].Mz[8]; - cells[p].Mz[9] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dz, 2) + cells[c].Mz[3]*dz + cells[c].Mz[9]; - cells[p].Mz[10] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3) + cells[c].Mz[10] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2) + cells[c].Mz[4]*dx; - cells[p].Mz[11] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy + cells[c].Mz[11] + cells[c].Mz[1]*dx*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2) + cells[c].Mz[4]*dy + cells[c].Mz[5]*dx; - cells[p].Mz[12] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dz + cells[c].Mz[12] + cells[c].Mz[1]*dx*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2) + cells[c].Mz[4]*dz + cells[c].Mz[6]*dx; - cells[p].Mz[13] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2) + cells[c].Mz[13] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2) + cells[c].Mz[2]*dx*dy + cells[c].Mz[5]*dy + cells[c].Mz[7]*dx; - cells[p].Mz[14] += cells[c].Mz[0]*dx*dy*dz + cells[c].Mz[14] + cells[c].Mz[1]*dy*dz + cells[c].Mz[2]*dx*dz + cells[c].Mz[3]*dx*dy + cells[c].Mz[5]*dz + cells[c].Mz[6]*dy + cells[c].Mz[8]*dx; - cells[p].Mz[15] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dz, 2) + cells[c].Mz[15] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dz, 2) + cells[c].Mz[3]*dx*dz + cells[c].Mz[6]*dz + cells[c].Mz[9]*dx; - cells[p].Mz[16] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3) + cells[c].Mz[16] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2) + cells[c].Mz[7]*dy; - cells[p].Mz[17] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2)*dz + cells[c].Mz[17] + cells[c].Mz[2]*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2) + cells[c].Mz[7]*dz + cells[c].Mz[8]*dy; - cells[p].Mz[18] += (1.0L/2.0L)*cells[c].Mz[0]*dy*pow(dz, 2) + cells[c].Mz[18] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dz, 2) + cells[c].Mz[3]*dy*dz + cells[c].Mz[8]*dz + cells[c].Mz[9]*dy; - cells[p].Mz[19] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dz, 3) + cells[c].Mz[19] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dz, 2) + cells[c].Mz[9]*dz; - cells[p].Mz[20] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4) + cells[c].Mz[10]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3) + cells[c].Mz[20] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2); - cells[p].Mz[21] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dy + cells[c].Mz[10]*dy + cells[c].Mz[11]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dy + cells[c].Mz[21] + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3) + cells[c].Mz[4]*dx*dy + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2); - cells[p].Mz[22] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dz + cells[c].Mz[10]*dz + cells[c].Mz[12]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dz + cells[c].Mz[22] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3) + cells[c].Mz[4]*dx*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2); - cells[p].Mz[23] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[11]*dy + cells[c].Mz[13]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dy, 2) + cells[c].Mz[23] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mz[4]*pow(dy, 2) + cells[c].Mz[5]*dx*dy + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2); - cells[p].Mz[24] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*dz + cells[c].Mz[11]*dz + cells[c].Mz[12]*dy + cells[c].Mz[14]*dx + cells[c].Mz[1]*dx*dy*dz + cells[c].Mz[24] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dy + cells[c].Mz[4]*dy*dz + cells[c].Mz[5]*dx*dz + cells[c].Mz[6]*dx*dy + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2); - cells[p].Mz[25] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[12]*dz + cells[c].Mz[15]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dz, 2) + cells[c].Mz[25] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[4]*pow(dz, 2) + cells[c].Mz[6]*dx*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2); - cells[p].Mz[26] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dy, 3) + cells[c].Mz[13]*dy + cells[c].Mz[16]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dy, 3) + cells[c].Mz[26] + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[5]*pow(dy, 2) + cells[c].Mz[7]*dx*dy; - cells[p].Mz[27] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*dz + cells[c].Mz[13]*dz + cells[c].Mz[14]*dy + cells[c].Mz[17]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2)*dz + cells[c].Mz[27] + cells[c].Mz[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dy, 2) + cells[c].Mz[5]*dy*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dy, 2) + cells[c].Mz[7]*dx*dz + cells[c].Mz[8]*dx*dy; - cells[p].Mz[28] += (1.0L/2.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 2) + cells[c].Mz[14]*dz + cells[c].Mz[15]*dy + cells[c].Mz[18]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dy*pow(dz, 2) + cells[c].Mz[28] + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dz, 2) + cells[c].Mz[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dz, 2) + cells[c].Mz[6]*dy*dz + cells[c].Mz[8]*dx*dz + cells[c].Mz[9]*dx*dy; - cells[p].Mz[29] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dz, 3) + cells[c].Mz[15]*dz + cells[c].Mz[19]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dz, 3) + cells[c].Mz[29] + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dz, 2) + cells[c].Mz[9]*dx*dz; - cells[p].Mz[30] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dy, 4) + cells[c].Mz[16]*dy + (1.0L/6.0L)*cells[c].Mz[2]*pow(dy, 3) + cells[c].Mz[30] + (1.0L/2.0L)*cells[c].Mz[7]*pow(dy, 2); - cells[p].Mz[31] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3)*dz + cells[c].Mz[16]*dz + cells[c].Mz[17]*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2)*dz + cells[c].Mz[31] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dy, 3) + cells[c].Mz[7]*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dy, 2); - cells[p].Mz[32] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[17]*dz + cells[c].Mz[18]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dy*pow(dz, 2) + cells[c].Mz[32] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[7]*pow(dz, 2) + cells[c].Mz[8]*dy*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dy, 2); - cells[p].Mz[33] += (1.0L/6.0L)*cells[c].Mz[0]*dy*pow(dz, 3) + cells[c].Mz[18]*dz + cells[c].Mz[19]*dy + (1.0L/6.0L)*cells[c].Mz[2]*pow(dz, 3) + cells[c].Mz[33] + (1.0L/2.0L)*cells[c].Mz[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dz, 2) + cells[c].Mz[9]*dy*dz; - cells[p].Mz[34] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dz, 4) + cells[c].Mz[19]*dz + cells[c].Mz[34] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dz, 2); - cells[p].Mz[35] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dx, 4) + cells[c].Mz[20]*dx + cells[c].Mz[35] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dx, 3); - cells[p].Mz[36] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4)*dy + cells[c].Mz[10]*dx*dy + (1.0L/2.0L)*cells[c].Mz[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3)*dy + cells[c].Mz[20]*dy + cells[c].Mz[21]*dx + (1.0L/24.0L)*cells[c].Mz[2]*pow(dx, 4) + cells[c].Mz[36] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[5]*pow(dx, 3); - cells[p].Mz[37] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4)*dz + cells[c].Mz[10]*dx*dz + (1.0L/2.0L)*cells[c].Mz[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3)*dz + cells[c].Mz[20]*dz + cells[c].Mz[22]*dx + cells[c].Mz[37] + (1.0L/24.0L)*cells[c].Mz[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[6]*pow(dx, 3); - cells[p].Mz[38] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dy, 2) + cells[c].Mz[11]*dx*dy + (1.0L/2.0L)*cells[c].Mz[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[21]*dy + cells[c].Mz[23]*dx + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3)*dy + cells[c].Mz[38] + (1.0L/2.0L)*cells[c].Mz[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[7]*pow(dx, 3); - cells[p].Mz[39] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dy*dz + cells[c].Mz[10]*dy*dz + cells[c].Mz[11]*dx*dz + cells[c].Mz[12]*dx*dy + (1.0L/2.0L)*cells[c].Mz[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dy*dz + cells[c].Mz[21]*dz + cells[c].Mz[22]*dy + cells[c].Mz[24]*dx + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3)*dz + cells[c].Mz[39] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3)*dy + cells[c].Mz[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[8]*pow(dx, 3); - cells[p].Mz[40] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dz, 2) + cells[c].Mz[12]*dx*dz + (1.0L/2.0L)*cells[c].Mz[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[22]*dz + cells[c].Mz[25]*dx + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3)*dz + cells[c].Mz[40] + (1.0L/2.0L)*cells[c].Mz[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[9]*pow(dx, 3); - cells[p].Mz[41] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[11]*pow(dy, 2) + cells[c].Mz[13]*dx*dy + (1.0L/2.0L)*cells[c].Mz[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*dx*pow(dy, 3) + cells[c].Mz[23]*dy + cells[c].Mz[26]*dx + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[41] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2)*dy; - cells[p].Mz[42] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[11]*dy*dz + (1.0L/2.0L)*cells[c].Mz[12]*pow(dy, 2) + cells[c].Mz[13]*dx*dz + cells[c].Mz[14]*dx*dy + (1.0L/2.0L)*cells[c].Mz[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dy, 2)*dz + cells[c].Mz[23]*dz + cells[c].Mz[24]*dy + cells[c].Mz[27]*dx + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[42] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dy, 2)*dz + cells[c].Mz[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2)*dy; - cells[p].Mz[43] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[11]*pow(dz, 2) + cells[c].Mz[12]*dy*dz + cells[c].Mz[14]*dx*dz + cells[c].Mz[15]*dx*dy + (1.0L/2.0L)*cells[c].Mz[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*dx*dy*pow(dz, 2) + cells[c].Mz[24]*dz + cells[c].Mz[25]*dy + cells[c].Mz[28]*dx + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dy*dz + cells[c].Mz[43] + (1.0L/2.0L)*cells[c].Mz[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[5]*dx*pow(dz, 2) + cells[c].Mz[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2)*dy; - cells[p].Mz[44] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[12]*pow(dz, 2) + cells[c].Mz[15]*dx*dz + (1.0L/2.0L)*cells[c].Mz[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*dx*pow(dz, 3) + cells[c].Mz[25]*dz + cells[c].Mz[29]*dx + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[44] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2)*dz; - cells[p].Mz[45] += (1.0L/24.0L)*cells[c].Mz[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dy, 2) + cells[c].Mz[16]*dx*dy + (1.0L/24.0L)*cells[c].Mz[1]*pow(dy, 4) + cells[c].Mz[26]*dy + (1.0L/6.0L)*cells[c].Mz[2]*dx*pow(dy, 3) + cells[c].Mz[30]*dx + cells[c].Mz[45] + (1.0L/6.0L)*cells[c].Mz[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[7]*dx*pow(dy, 2); - cells[p].Mz[46] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dy, 3)*dz + cells[c].Mz[13]*dy*dz + (1.0L/2.0L)*cells[c].Mz[14]*pow(dy, 2) + cells[c].Mz[16]*dx*dz + cells[c].Mz[17]*dx*dy + (1.0L/6.0L)*cells[c].Mz[1]*pow(dy, 3)*dz + cells[c].Mz[26]*dz + cells[c].Mz[27]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dy, 2)*dz + cells[c].Mz[31]*dx + (1.0L/6.0L)*cells[c].Mz[3]*dx*pow(dy, 3) + cells[c].Mz[46] + (1.0L/2.0L)*cells[c].Mz[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[6]*pow(dy, 3) + cells[c].Mz[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*dx*pow(dy, 2); - cells[p].Mz[47] += (1.0L/4.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dz, 2) + cells[c].Mz[14]*dy*dz + (1.0L/2.0L)*cells[c].Mz[15]*pow(dy, 2) + cells[c].Mz[17]*dx*dz + cells[c].Mz[18]*dx*dy + (1.0L/4.0L)*cells[c].Mz[1]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[27]*dz + cells[c].Mz[28]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dx*dy*pow(dz, 2) + cells[c].Mz[32]*dx + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dy, 2)*dz + cells[c].Mz[47] + (1.0L/2.0L)*cells[c].Mz[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[7]*dx*pow(dz, 2) + cells[c].Mz[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[9]*dx*pow(dy, 2); - cells[p].Mz[48] += (1.0L/6.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[14]*pow(dz, 2) + cells[c].Mz[15]*dy*dz + cells[c].Mz[18]*dx*dz + cells[c].Mz[19]*dx*dy + (1.0L/6.0L)*cells[c].Mz[1]*dy*pow(dz, 3) + cells[c].Mz[28]*dz + cells[c].Mz[29]*dy + (1.0L/6.0L)*cells[c].Mz[2]*dx*pow(dz, 3) + cells[c].Mz[33]*dx + (1.0L/2.0L)*cells[c].Mz[3]*dx*dy*pow(dz, 2) + cells[c].Mz[48] + (1.0L/6.0L)*cells[c].Mz[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*dx*pow(dz, 2) + cells[c].Mz[9]*dx*dy*dz; - cells[p].Mz[49] += (1.0L/24.0L)*cells[c].Mz[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[15]*pow(dz, 2) + cells[c].Mz[19]*dx*dz + (1.0L/24.0L)*cells[c].Mz[1]*pow(dz, 4) + cells[c].Mz[29]*dz + cells[c].Mz[34]*dx + (1.0L/6.0L)*cells[c].Mz[3]*dx*pow(dz, 3) + cells[c].Mz[49] + (1.0L/6.0L)*cells[c].Mz[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*dx*pow(dz, 2); - cells[p].Mz[50] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dy, 4) + cells[c].Mz[30]*dy + cells[c].Mz[50] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dy, 3); - cells[p].Mz[51] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dy, 4)*dz + cells[c].Mz[16]*dy*dz + (1.0L/2.0L)*cells[c].Mz[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*pow(dy, 3)*dz + cells[c].Mz[30]*dz + cells[c].Mz[31]*dy + (1.0L/24.0L)*cells[c].Mz[3]*pow(dy, 4) + cells[c].Mz[51] + (1.0L/2.0L)*cells[c].Mz[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[8]*pow(dy, 3); - cells[p].Mz[52] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dz, 2) + cells[c].Mz[17]*dy*dz + (1.0L/2.0L)*cells[c].Mz[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mz[2]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[31]*dz + cells[c].Mz[32]*dy + (1.0L/6.0L)*cells[c].Mz[3]*pow(dy, 3)*dz + cells[c].Mz[52] + (1.0L/2.0L)*cells[c].Mz[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[9]*pow(dy, 3); - cells[p].Mz[53] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[17]*pow(dz, 2) + cells[c].Mz[18]*dy*dz + (1.0L/2.0L)*cells[c].Mz[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*dy*pow(dz, 3) + cells[c].Mz[32]*dz + cells[c].Mz[33]*dy + (1.0L/4.0L)*cells[c].Mz[3]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[53] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dy, 2)*dz; - cells[p].Mz[54] += (1.0L/24.0L)*cells[c].Mz[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[18]*pow(dz, 2) + cells[c].Mz[19]*dy*dz + (1.0L/24.0L)*cells[c].Mz[2]*pow(dz, 4) + cells[c].Mz[33]*dz + cells[c].Mz[34]*dy + (1.0L/6.0L)*cells[c].Mz[3]*dy*pow(dz, 3) + cells[c].Mz[54] + (1.0L/6.0L)*cells[c].Mz[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*dy*pow(dz, 2); - cells[p].Mz[55] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[19]*pow(dz, 2) + cells[c].Mz[34]*dz + (1.0L/24.0L)*cells[c].Mz[3]*pow(dz, 4) + cells[c].Mz[55] + (1.0L/6.0L)*cells[c].Mz[9]*pow(dz, 3); - cells[p].Mz[56] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dx, 6) + (1.0L/6.0L)*cells[c].Mz[10]*pow(dx, 3) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mz[20]*pow(dx, 2) + cells[c].Mz[35]*dx + (1.0L/24.0L)*cells[c].Mz[4]*pow(dx, 4) + cells[c].Mz[56]; - cells[p].Mz[57] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].Mz[10]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[11]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dx, 4)*dy + cells[c].Mz[20]*dx*dy + (1.0L/2.0L)*cells[c].Mz[21]*pow(dx, 2) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dx, 5) + cells[c].Mz[35]*dy + cells[c].Mz[36]*dx + (1.0L/6.0L)*cells[c].Mz[4]*pow(dx, 3)*dy + cells[c].Mz[57] + (1.0L/24.0L)*cells[c].Mz[5]*pow(dx, 4); - cells[p].Mz[58] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].Mz[10]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[12]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dx, 4)*dz + cells[c].Mz[20]*dx*dz + (1.0L/2.0L)*cells[c].Mz[22]*pow(dx, 2) + cells[c].Mz[35]*dz + cells[c].Mz[37]*dx + (1.0L/120.0L)*cells[c].Mz[3]*pow(dx, 5) + (1.0L/6.0L)*cells[c].Mz[4]*pow(dx, 3)*dz + cells[c].Mz[58] + (1.0L/24.0L)*cells[c].Mz[6]*pow(dx, 4); - cells[p].Mz[59] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[10]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[11]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[13]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[20]*pow(dy, 2) + cells[c].Mz[21]*dx*dy + (1.0L/2.0L)*cells[c].Mz[23]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dx, 4)*dy + cells[c].Mz[36]*dy + cells[c].Mz[38]*dx + (1.0L/4.0L)*cells[c].Mz[4]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[59] + (1.0L/6.0L)*cells[c].Mz[5]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[7]*pow(dx, 4); - cells[p].Mz[60] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4)*dy*dz + cells[c].Mz[10]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[11]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[12]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[14]*pow(dx, 3) + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3)*dy*dz + cells[c].Mz[20]*dy*dz + cells[c].Mz[21]*dx*dz + cells[c].Mz[22]*dx*dy + (1.0L/2.0L)*cells[c].Mz[24]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dx, 4)*dz + cells[c].Mz[36]*dz + cells[c].Mz[37]*dy + cells[c].Mz[39]*dx + (1.0L/24.0L)*cells[c].Mz[3]*pow(dx, 4)*dy + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mz[5]*pow(dx, 3)*dz + cells[c].Mz[60] + (1.0L/6.0L)*cells[c].Mz[6]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[8]*pow(dx, 4); - cells[p].Mz[61] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[10]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[12]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[15]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[20]*pow(dz, 2) + cells[c].Mz[22]*dx*dz + (1.0L/2.0L)*cells[c].Mz[25]*pow(dx, 2) + cells[c].Mz[37]*dz + (1.0L/24.0L)*cells[c].Mz[3]*pow(dx, 4)*dz + cells[c].Mz[40]*dx + (1.0L/4.0L)*cells[c].Mz[4]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[61] + (1.0L/6.0L)*cells[c].Mz[6]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mz[9]*pow(dx, 4); - cells[p].Mz[62] += (1.0L/36.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mz[10]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[11]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[16]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[21]*pow(dy, 2) + cells[c].Mz[23]*dx*dy + (1.0L/2.0L)*cells[c].Mz[26]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 3)*pow(dy, 2) + cells[c].Mz[38]*dy + cells[c].Mz[41]*dx + (1.0L/6.0L)*cells[c].Mz[4]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mz[5]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[62] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dx, 3)*dy; - cells[p].Mz[63] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[10]*pow(dy, 2)*dz + cells[c].Mz[11]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[12]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[14]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[17]*pow(dx, 3) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[21]*dy*dz + (1.0L/2.0L)*cells[c].Mz[22]*pow(dy, 2) + cells[c].Mz[23]*dx*dz + cells[c].Mz[24]*dx*dy + (1.0L/2.0L)*cells[c].Mz[27]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3)*dy*dz + cells[c].Mz[38]*dz + cells[c].Mz[39]*dy + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 3)*pow(dy, 2) + cells[c].Mz[42]*dx + (1.0L/2.0L)*cells[c].Mz[4]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2)*dy*dz + cells[c].Mz[63] + (1.0L/4.0L)*cells[c].Mz[6]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[7]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[8]*pow(dx, 3)*dy; - cells[p].Mz[64] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[10]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[11]*dx*pow(dz, 2) + cells[c].Mz[12]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[14]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[15]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[18]*pow(dx, 3) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[21]*pow(dz, 2) + cells[c].Mz[22]*dy*dz + cells[c].Mz[24]*dx*dz + cells[c].Mz[25]*dx*dy + (1.0L/2.0L)*cells[c].Mz[28]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 3)*pow(dz, 2) + cells[c].Mz[39]*dz + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3)*dy*dz + cells[c].Mz[40]*dy + cells[c].Mz[43]*dx + (1.0L/2.0L)*cells[c].Mz[4]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[5]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[64] + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mz[8]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[9]*pow(dx, 3)*dy; - cells[p].Mz[65] += (1.0L/36.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[10]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[12]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[15]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[19]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[22]*pow(dz, 2) + cells[c].Mz[25]*dx*dz + (1.0L/2.0L)*cells[c].Mz[29]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 3)*pow(dz, 2) + cells[c].Mz[40]*dz + cells[c].Mz[44]*dx + (1.0L/6.0L)*cells[c].Mz[4]*dx*pow(dz, 3) + cells[c].Mz[65] + (1.0L/4.0L)*cells[c].Mz[6]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[9]*pow(dx, 3)*dz; - cells[p].Mz[66] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mz[11]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[13]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dx, 2)*dy + (1.0L/24.0L)*cells[c].Mz[1]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[23]*pow(dy, 2) + cells[c].Mz[26]*dx*dy + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[30]*pow(dx, 2) + cells[c].Mz[41]*dy + cells[c].Mz[45]*dx + (1.0L/24.0L)*cells[c].Mz[4]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mz[5]*dx*pow(dy, 3) + cells[c].Mz[66] + (1.0L/4.0L)*cells[c].Mz[7]*pow(dx, 2)*pow(dy, 2); - cells[p].Mz[67] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[11]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[12]*pow(dy, 3) + cells[c].Mz[13]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[14]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[17]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[1]*dx*pow(dy, 3)*dz + cells[c].Mz[23]*dy*dz + (1.0L/2.0L)*cells[c].Mz[24]*pow(dy, 2) + cells[c].Mz[26]*dx*dz + cells[c].Mz[27]*dx*dy + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[31]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 3) + cells[c].Mz[41]*dz + cells[c].Mz[42]*dy + cells[c].Mz[46]*dx + (1.0L/6.0L)*cells[c].Mz[4]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[5]*dx*pow(dy, 2)*dz + cells[c].Mz[67] + (1.0L/6.0L)*cells[c].Mz[6]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[8]*pow(dx, 2)*pow(dy, 2); - cells[p].Mz[68] += (1.0L/8.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[11]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[12]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[13]*dx*pow(dz, 2) + cells[c].Mz[14]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[15]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[17]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[18]*pow(dx, 2)*dy + (1.0L/4.0L)*cells[c].Mz[1]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[23]*pow(dz, 2) + cells[c].Mz[24]*dy*dz + (1.0L/2.0L)*cells[c].Mz[25]*pow(dy, 2) + cells[c].Mz[27]*dx*dz + cells[c].Mz[28]*dx*dy + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[32]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[42]*dz + cells[c].Mz[43]*dy + cells[c].Mz[47]*dx + (1.0L/4.0L)*cells[c].Mz[4]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[5]*dx*dy*pow(dz, 2) + cells[c].Mz[68] + (1.0L/2.0L)*cells[c].Mz[6]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].Mz[7]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[9]*pow(dx, 2)*pow(dy, 2); - cells[p].Mz[69] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[11]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[12]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[14]*dx*pow(dz, 2) + cells[c].Mz[15]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[18]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[19]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[1]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[24]*pow(dz, 2) + cells[c].Mz[25]*dy*dz + cells[c].Mz[28]*dx*dz + cells[c].Mz[29]*dx*dy + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[33]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].Mz[43]*dz + cells[c].Mz[44]*dy + cells[c].Mz[48]*dx + (1.0L/6.0L)*cells[c].Mz[4]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[5]*dx*pow(dz, 3) + cells[c].Mz[69] + (1.0L/2.0L)*cells[c].Mz[6]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[8]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2)*dy*dz; - cells[p].Mz[70] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[12]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[15]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[19]*pow(dx, 2)*dz + (1.0L/24.0L)*cells[c].Mz[1]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[25]*pow(dz, 2) + cells[c].Mz[29]*dx*dz + (1.0L/2.0L)*cells[c].Mz[34]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dz, 3) + cells[c].Mz[44]*dz + cells[c].Mz[49]*dx + (1.0L/24.0L)*cells[c].Mz[4]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[6]*dx*pow(dz, 3) + cells[c].Mz[70] + (1.0L/4.0L)*cells[c].Mz[9]*pow(dx, 2)*pow(dz, 2); - cells[p].Mz[71] += (1.0L/120.0L)*cells[c].Mz[0]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].Mz[13]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[16]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[26]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[2]*dx*pow(dy, 4) + cells[c].Mz[30]*dx*dy + cells[c].Mz[45]*dy + cells[c].Mz[50]*dx + (1.0L/24.0L)*cells[c].Mz[5]*pow(dy, 4) + cells[c].Mz[71] + (1.0L/6.0L)*cells[c].Mz[7]*dx*pow(dy, 3); - cells[p].Mz[72] += (1.0L/24.0L)*cells[c].Mz[0]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mz[13]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[14]*pow(dy, 3) + cells[c].Mz[16]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[17]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dy, 4)*dz + cells[c].Mz[26]*dy*dz + (1.0L/2.0L)*cells[c].Mz[27]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*dx*pow(dy, 3)*dz + cells[c].Mz[30]*dx*dz + cells[c].Mz[31]*dx*dy + (1.0L/24.0L)*cells[c].Mz[3]*dx*pow(dy, 4) + cells[c].Mz[45]*dz + cells[c].Mz[46]*dy + cells[c].Mz[51]*dx + (1.0L/6.0L)*cells[c].Mz[5]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[6]*pow(dy, 4) + cells[c].Mz[72] + (1.0L/2.0L)*cells[c].Mz[7]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[8]*dx*pow(dy, 3); - cells[p].Mz[73] += (1.0L/12.0L)*cells[c].Mz[0]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[13]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[14]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[15]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[16]*dx*pow(dz, 2) + cells[c].Mz[17]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[18]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[26]*pow(dz, 2) + cells[c].Mz[27]*dy*dz + (1.0L/2.0L)*cells[c].Mz[28]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mz[2]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[31]*dx*dz + cells[c].Mz[32]*dx*dy + (1.0L/6.0L)*cells[c].Mz[3]*dx*pow(dy, 3)*dz + cells[c].Mz[46]*dz + cells[c].Mz[47]*dy + cells[c].Mz[52]*dx + (1.0L/4.0L)*cells[c].Mz[5]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[6]*pow(dy, 3)*dz + cells[c].Mz[73] + (1.0L/2.0L)*cells[c].Mz[7]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[9]*dx*pow(dy, 3); - cells[p].Mz[74] += (1.0L/12.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[13]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[14]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[15]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[17]*dx*pow(dz, 2) + cells[c].Mz[18]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[19]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[27]*pow(dz, 2) + cells[c].Mz[28]*dy*dz + (1.0L/2.0L)*cells[c].Mz[29]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*dx*dy*pow(dz, 3) + cells[c].Mz[32]*dx*dz + cells[c].Mz[33]*dx*dy + (1.0L/4.0L)*cells[c].Mz[3]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[47]*dz + cells[c].Mz[48]*dy + cells[c].Mz[53]*dx + (1.0L/6.0L)*cells[c].Mz[5]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[6]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[74] + (1.0L/6.0L)*cells[c].Mz[7]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[8]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*dx*pow(dy, 2)*dz; - cells[p].Mz[75] += (1.0L/24.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[14]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[15]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[18]*dx*pow(dz, 2) + cells[c].Mz[19]*dx*dy*dz + (1.0L/24.0L)*cells[c].Mz[1]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[28]*pow(dz, 2) + cells[c].Mz[29]*dy*dz + (1.0L/24.0L)*cells[c].Mz[2]*dx*pow(dz, 4) + cells[c].Mz[33]*dx*dz + cells[c].Mz[34]*dx*dy + (1.0L/6.0L)*cells[c].Mz[3]*dx*dy*pow(dz, 3) + cells[c].Mz[48]*dz + cells[c].Mz[49]*dy + cells[c].Mz[54]*dx + (1.0L/24.0L)*cells[c].Mz[5]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[6]*dy*pow(dz, 3) + cells[c].Mz[75] + (1.0L/6.0L)*cells[c].Mz[8]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*dx*dy*pow(dz, 2); - cells[p].Mz[76] += (1.0L/120.0L)*cells[c].Mz[0]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mz[15]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[19]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[29]*pow(dz, 2) + cells[c].Mz[34]*dx*dz + (1.0L/24.0L)*cells[c].Mz[3]*dx*pow(dz, 4) + cells[c].Mz[49]*dz + cells[c].Mz[55]*dx + (1.0L/24.0L)*cells[c].Mz[6]*pow(dz, 4) + cells[c].Mz[76] + (1.0L/6.0L)*cells[c].Mz[9]*dx*pow(dz, 3); - cells[p].Mz[77] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dy, 6) + (1.0L/6.0L)*cells[c].Mz[16]*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[30]*pow(dy, 2) + cells[c].Mz[50]*dy + cells[c].Mz[77] + (1.0L/24.0L)*cells[c].Mz[7]*pow(dy, 4); - cells[p].Mz[78] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mz[16]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[17]*pow(dy, 3) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dy, 4)*dz + cells[c].Mz[30]*dy*dz + (1.0L/2.0L)*cells[c].Mz[31]*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mz[3]*pow(dy, 5) + cells[c].Mz[50]*dz + cells[c].Mz[51]*dy + cells[c].Mz[78] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[8]*pow(dy, 4); - cells[p].Mz[79] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[16]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[17]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[18]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[30]*pow(dz, 2) + cells[c].Mz[31]*dy*dz + (1.0L/2.0L)*cells[c].Mz[32]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[3]*pow(dy, 4)*dz + cells[c].Mz[51]*dz + cells[c].Mz[52]*dy + cells[c].Mz[79] + (1.0L/4.0L)*cells[c].Mz[7]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[8]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[9]*pow(dy, 4); - cells[p].Mz[80] += (1.0L/36.0L)*cells[c].Mz[0]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[16]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[17]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[18]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[19]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[31]*pow(dz, 2) + cells[c].Mz[32]*dy*dz + (1.0L/2.0L)*cells[c].Mz[33]*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dy, 3)*pow(dz, 2) + cells[c].Mz[52]*dz + cells[c].Mz[53]*dy + (1.0L/6.0L)*cells[c].Mz[7]*dy*pow(dz, 3) + cells[c].Mz[80] + (1.0L/4.0L)*cells[c].Mz[8]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[9]*pow(dy, 3)*dz; - cells[p].Mz[81] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[17]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[18]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[19]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].Mz[2]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[32]*pow(dz, 2) + cells[c].Mz[33]*dy*dz + (1.0L/2.0L)*cells[c].Mz[34]*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dy, 2)*pow(dz, 3) + cells[c].Mz[53]*dz + cells[c].Mz[54]*dy + (1.0L/24.0L)*cells[c].Mz[7]*pow(dz, 4) + cells[c].Mz[81] + (1.0L/6.0L)*cells[c].Mz[8]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[9]*pow(dy, 2)*pow(dz, 2); - cells[p].Mz[82] += (1.0L/120.0L)*cells[c].Mz[0]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mz[18]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[19]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[33]*pow(dz, 2) + cells[c].Mz[34]*dy*dz + (1.0L/24.0L)*cells[c].Mz[3]*dy*pow(dz, 4) + cells[c].Mz[54]*dz + cells[c].Mz[55]*dy + cells[c].Mz[82] + (1.0L/24.0L)*cells[c].Mz[8]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[9]*dy*pow(dz, 3); - cells[p].Mz[83] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dz, 6) + (1.0L/6.0L)*cells[c].Mz[19]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[34]*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[3]*pow(dz, 5) + cells[c].Mz[55]*dz + cells[c].Mz[83] + (1.0L/24.0L)*cells[c].Mz[9]*pow(dz, 4); - - -} -void M2P_6(unsigned int c, unsigned int i, std::vector &cells, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz, std::vector &derivative) { - double dx = -(cells[c].x - particles[i].x); - double dy = -(cells[c].y - particles[i].y); - double dz = -(cells[c].z - particles[i].z); - //std::vector derivative(165); - double dl = sqrt(dx*dx + dy*dy + dz*dz); - derivative[0] = 1.0/dl; - derivative[1] = -dx/pow(dl, 3); - derivative[2] = -dy/pow(dl, 3); - derivative[3] = -dz/pow(dl, 3); - derivative[4] = (-1 + 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 3); - derivative[5] = 3*dx*dy/pow(dl, 5); - derivative[6] = 3*dx*dz/pow(dl, 5); - derivative[7] = (-1 + 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 3); - derivative[8] = 3*dy*dz/pow(dl, 5); - derivative[9] = (-1 + 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 3); - derivative[10] = 3*dx*(3 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[11] = 3*dy*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[12] = 3*dz*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[13] = 3*dx*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[14] = -15*dx*dy*dz/pow(dl, 7); - derivative[15] = 3*dx*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[16] = 3*dy*(3 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[17] = 3*dz*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[18] = 3*dy*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[19] = 3*dz*(3 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[20] = 3*(3 - 30*pow(dx, 2)/pow(dl, 2) + 35*pow(dx, 4)/pow(dl, 4))/pow(dl, 5); - derivative[21] = 15*dx*dy*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[22] = 15*dx*dz*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[23] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dy, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 5); - derivative[24] = 15*dy*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[25] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[26] = 15*dx*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[27] = 15*dx*dz*(-1 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[28] = 15*dx*dy*(-1 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[29] = 15*dx*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[30] = 3*(3 - 30*pow(dy, 2)/pow(dl, 2) + 35*pow(dy, 4)/pow(dl, 4))/pow(dl, 5); - derivative[31] = 15*dy*dz*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[32] = 3*(1 - 5*pow(dy, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[33] = 15*dy*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[34] = 3*(3 - 30*pow(dz, 2)/pow(dl, 2) + 35*pow(dz, 4)/pow(dl, 4))/pow(dl, 5); - derivative[35] = 15*dx*(-15 + 70*pow(dx, 2)/pow(dl, 2) - 63*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[36] = 45*dy*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[37] = 45*dz*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[38] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[39] = 315*dx*dy*dz*(1 - 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 9); - derivative[40] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[41] = 15*dy*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[42] = 15*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[43] = 15*dy*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[44] = 15*dz*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[45] = 45*dx*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[46] = 315*dx*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 9); - derivative[47] = 15*dx*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[48] = 315*dx*dy*dz*(1 - 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 9); - derivative[49] = 45*dx*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[50] = 15*dy*(-15 + 70*pow(dy, 2)/pow(dl, 2) - 63*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[51] = 45*dz*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[52] = 15*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[53] = 15*dz*(-3 + 21*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[54] = 45*dy*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[55] = 15*dz*(-15 + 70*pow(dz, 2)/pow(dl, 2) - 63*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[56] = 45*(-5 + 105*pow(dx, 2)/pow(dl, 2) - 315*pow(dx, 4)/pow(dl, 4) + 231*pow(dx, 6)/pow(dl, 6))/pow(dl, 7); - derivative[57] = 315*dx*dy*(5 - 30*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[58] = 315*dx*dz*(5 - 30*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[59] = 45*(-1 + 14*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4) - 126*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 231*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 7); - derivative[60] = 315*dy*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[61] = 45*(-1 + 14*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4) - 126*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 231*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[62] = 945*dx*dy*(1 - 3*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 11*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[63] = 315*dx*dz*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[64] = 315*dx*dy*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[65] = 945*dx*dz*(1 - 3*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 11*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[66] = 45*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 14*pow(dy, 2)/pow(dl, 2) - 126*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 21*pow(dy, 4)/pow(dl, 4) + 231*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 7); - derivative[67] = 315*dy*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[68] = 15*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 693*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[69] = 315*dy*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[70] = 45*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 14*pow(dz, 2)/pow(dl, 2) - 126*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 21*pow(dz, 4)/pow(dl, 4) + 231*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 7); - derivative[71] = 315*dx*dy*(5 - 30*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[72] = 315*dx*dz*(1 - 18*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[73] = 315*dx*dy*(1 - 3*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[74] = 315*dx*dz*(1 - 9*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[75] = 315*dx*dy*(1 - 18*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[76] = 315*dx*dz*(5 - 30*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[77] = 45*(-5 + 105*pow(dy, 2)/pow(dl, 2) - 315*pow(dy, 4)/pow(dl, 4) + 231*pow(dy, 6)/pow(dl, 6))/pow(dl, 7); - derivative[78] = 315*dy*dz*(5 - 30*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[79] = 45*(-1 + 14*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4) - 126*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 231*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[80] = 945*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 11*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[81] = 45*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 14*pow(dz, 2)/pow(dl, 2) - 126*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 21*pow(dz, 4)/pow(dl, 4) + 231*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 7); - derivative[82] = 315*dy*dz*(5 - 30*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[83] = 45*(-5 + 105*pow(dz, 2)/pow(dl, 2) - 315*pow(dz, 4)/pow(dl, 4) + 231*pow(dz, 6)/pow(dl, 6))/pow(dl, 7); - derivative[84] = 315*dx*(35 - 315*pow(dx, 2)/pow(dl, 2) + 693*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[85] = 315*dy*(5 - 135*pow(dx, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[86] = 315*dz*(5 - 135*pow(dx, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[87] = 315*dx*(5 - 30*pow(dx, 2)/pow(dl, 2) - 45*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 330*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[88] = 945*dx*dy*dz*(-15 + 110*pow(dx, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4))/pow(dl, 11); - derivative[89] = 315*dx*(5 - 30*pow(dx, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 330*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[90] = 945*dy*(1 - 18*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 66*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[91] = 315*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[92] = 315*dy*(1 - 18*pow(dx, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[93] = 945*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 66*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[94] = 945*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) + 66*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 143*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[95] = 945*dx*dy*dz*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 11); - derivative[96] = 315*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 99*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[97] = 945*dx*dy*dz*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 11); - derivative[98] = 945*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 66*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 143*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[99] = 315*dy*(5 - 45*pow(dx, 2)/pow(dl, 2) - 30*pow(dy, 2)/pow(dl, 2) + 330*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[100] = 315*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[101] = 315*dy*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 99*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[102] = 315*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 99*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[103] = 315*dy*(1 - 9*pow(dx, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[104] = 315*dz*(5 - 45*pow(dx, 2)/pow(dl, 2) - 30*pow(dz, 2)/pow(dl, 2) + 330*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[105] = 315*dx*(5 - 135*pow(dy, 2)/pow(dl, 2) + 495*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[106] = 945*dx*dy*dz*(-15 + 110*pow(dy, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4))/pow(dl, 11); - derivative[107] = 315*dx*(1 - 18*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[108] = 945*dx*dy*dz*(-9 + 33*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 11); - derivative[109] = 315*dx*(1 - 9*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[110] = 945*dx*dy*dz*(-15 + 110*pow(dz, 2)/pow(dl, 2) - 143*pow(dz, 4)/pow(dl, 4))/pow(dl, 11); - derivative[111] = 315*dx*(5 - 135*pow(dz, 2)/pow(dl, 2) + 495*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - derivative[112] = 315*dy*(35 - 315*pow(dy, 2)/pow(dl, 2) + 693*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[113] = 315*dz*(5 - 135*pow(dy, 2)/pow(dl, 2) + 495*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[114] = 315*dy*(5 - 30*pow(dy, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 330*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[115] = 945*dz*(1 - 18*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 66*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[116] = 945*dy*(1 - 3*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 66*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 143*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[117] = 315*dz*(5 - 45*pow(dy, 2)/pow(dl, 2) - 30*pow(dz, 2)/pow(dl, 2) + 330*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[118] = 315*dy*(5 - 135*pow(dz, 2)/pow(dl, 2) + 495*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - derivative[119] = 315*dz*(35 - 315*pow(dz, 2)/pow(dl, 2) + 693*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - derivative[120] = 315*(35 - 1260*pow(dx, 2)/pow(dl, 2) + 6930*pow(dx, 4)/pow(dl, 4) - 12012*pow(dx, 6)/pow(dl, 6) + 6435*pow(dx, 8)/pow(dl, 8))/pow(dl, 9); - derivative[121] = 2835*dx*dy*(-35 + 385*pow(dx, 2)/pow(dl, 2) - 1001*pow(dx, 4)/pow(dl, 4) + 715*pow(dx, 6)/pow(dl, 6))/pow(dl, 11); - derivative[122] = 2835*dx*dz*(-35 + 385*pow(dx, 2)/pow(dl, 2) - 1001*pow(dx, 4)/pow(dl, 4) + 715*pow(dx, 6)/pow(dl, 6))/pow(dl, 11); - derivative[123] = 315*(5 - 135*pow(dx, 2)/pow(dl, 2) - 45*pow(dy, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) + 1485*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6) - 6435*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) + 6435*pow(dx, 6)*pow(dy, 2)/pow(dl, 8))/pow(dl, 9); - derivative[124] = 14175*dy*dz*(-1 + 33*pow(dx, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) + 143*pow(dx, 6)/pow(dl, 6))/pow(dl, 11); - derivative[125] = 315*(5 - 135*pow(dx, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) + 1485*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6) - 6435*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) + 6435*pow(dx, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 9); - derivative[126] = 945*dx*dy*(-45 + 330*pow(dx, 2)/pow(dl, 2) + 165*pow(dy, 2)/pow(dl, 2) - 429*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 11); - derivative[127] = 945*dx*dz*(-15 + 110*pow(dx, 2)/pow(dl, 2) + 165*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 11); - derivative[128] = 945*dx*dy*(-15 + 110*pow(dx, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[129] = 945*dx*dz*(-45 + 330*pow(dx, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[130] = 945*(1 - 18*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 396*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 858*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) - 858*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dy, 4)/pow(dl, 8))/pow(dl, 9); - derivative[131] = 2835*dy*dz*(-3 + 66*pow(dx, 2)/pow(dl, 2) + 11*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 286*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 715*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 11); - derivative[132] = 315*(1 - 18*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 99*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) - 429*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) - 2574*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) + 6435*pow(dx, 4)*pow(dy, 2)*pow(dz, 2)/pow(dl, 8))/pow(dl, 9); - derivative[133] = 2835*dy*dz*(-3 + 66*pow(dx, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 286*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 715*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[134] = 945*(1 - 18*pow(dx, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 396*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 858*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) - 858*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 9); - derivative[135] = 945*dx*dy*(-45 + 165*pow(dx, 2)/pow(dl, 2) + 330*pow(dy, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dy, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 11); - derivative[136] = 2835*dx*dz*(-3 + 11*pow(dx, 2)/pow(dl, 2) + 66*pow(dy, 2)/pow(dl, 2) - 286*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) + 715*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 11); - derivative[137] = 945*dx*dy*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) + 99*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[138] = 945*dx*dz*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 99*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[139] = 2835*dx*dy*(-3 + 11*pow(dx, 2)/pow(dl, 2) + 66*pow(dz, 2)/pow(dl, 2) - 286*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 715*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[140] = 945*dx*dz*(-45 + 165*pow(dx, 2)/pow(dl, 2) + 330*pow(dz, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dz, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[141] = 315*(5 - 45*pow(dx, 2)/pow(dl, 2) - 135*pow(dy, 2)/pow(dl, 2) + 1485*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 495*pow(dy, 4)/pow(dl, 4) - 6435*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) - 429*pow(dy, 6)/pow(dl, 6) + 6435*pow(dx, 2)*pow(dy, 6)/pow(dl, 8))/pow(dl, 9); - derivative[142] = 945*dy*dz*(-15 + 165*pow(dx, 2)/pow(dl, 2) + 110*pow(dy, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 11); - derivative[143] = 315*(1 - 9*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 99*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) - 2574*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) - 429*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) + 6435*pow(dx, 2)*pow(dy, 4)*pow(dz, 2)/pow(dl, 8))/pow(dl, 9); - derivative[144] = 945*dy*dz*(-9 + 99*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[145] = 315*(1 - 9*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 99*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 2574*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) - 429*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) - 429*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) + 6435*pow(dx, 2)*pow(dy, 2)*pow(dz, 4)/pow(dl, 8))/pow(dl, 9); - derivative[146] = 945*dy*dz*(-15 + 165*pow(dx, 2)/pow(dl, 2) + 110*pow(dz, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[147] = 315*(5 - 45*pow(dx, 2)/pow(dl, 2) - 135*pow(dz, 2)/pow(dl, 2) + 1485*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 495*pow(dz, 4)/pow(dl, 4) - 6435*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) - 429*pow(dz, 6)/pow(dl, 6) + 6435*pow(dx, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 9); - derivative[148] = 2835*dx*dy*(-35 + 385*pow(dy, 2)/pow(dl, 2) - 1001*pow(dy, 4)/pow(dl, 4) + 715*pow(dy, 6)/pow(dl, 6))/pow(dl, 11); - derivative[149] = 14175*dx*dz*(-1 + 33*pow(dy, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) + 143*pow(dy, 6)/pow(dl, 6))/pow(dl, 11); - derivative[150] = 945*dx*dy*(-15 + 110*pow(dy, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[151] = 2835*dx*dz*(-3 + 66*pow(dy, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) - 286*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 715*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[152] = 2835*dx*dy*(-3 + 11*pow(dy, 2)/pow(dl, 2) + 66*pow(dz, 2)/pow(dl, 2) - 286*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 715*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[153] = 945*dx*dz*(-15 + 165*pow(dy, 2)/pow(dl, 2) + 110*pow(dz, 2)/pow(dl, 2) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 2145*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[154] = 14175*dx*dy*(-1 + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dz, 4)/pow(dl, 4) + 143*pow(dz, 6)/pow(dl, 6))/pow(dl, 11); - derivative[155] = 2835*dx*dz*(-35 + 385*pow(dz, 2)/pow(dl, 2) - 1001*pow(dz, 4)/pow(dl, 4) + 715*pow(dz, 6)/pow(dl, 6))/pow(dl, 11); - derivative[156] = 315*(35 - 1260*pow(dy, 2)/pow(dl, 2) + 6930*pow(dy, 4)/pow(dl, 4) - 12012*pow(dy, 6)/pow(dl, 6) + 6435*pow(dy, 8)/pow(dl, 8))/pow(dl, 9); - derivative[157] = 2835*dy*dz*(-35 + 385*pow(dy, 2)/pow(dl, 2) - 1001*pow(dy, 4)/pow(dl, 4) + 715*pow(dy, 6)/pow(dl, 6))/pow(dl, 11); - derivative[158] = 315*(5 - 135*pow(dy, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 495*pow(dy, 4)/pow(dl, 4) + 1485*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6) - 6435*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) + 6435*pow(dy, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 9); - derivative[159] = 945*dy*dz*(-45 + 330*pow(dy, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 429*pow(dy, 4)/pow(dl, 4) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[160] = 945*(1 - 18*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 396*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 858*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) - 858*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) + 2145*pow(dy, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 9); - derivative[161] = 945*dy*dz*(-45 + 165*pow(dy, 2)/pow(dl, 2) + 330*pow(dz, 2)/pow(dl, 2) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dz, 4)/pow(dl, 4) + 2145*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[162] = 315*(5 - 45*pow(dy, 2)/pow(dl, 2) - 135*pow(dz, 2)/pow(dl, 2) + 1485*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 495*pow(dz, 4)/pow(dl, 4) - 6435*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) - 429*pow(dz, 6)/pow(dl, 6) + 6435*pow(dy, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 9); - derivative[163] = 2835*dy*dz*(-35 + 385*pow(dz, 2)/pow(dl, 2) - 1001*pow(dz, 4)/pow(dl, 4) + 715*pow(dz, 6)/pow(dl, 6))/pow(dl, 11); - derivative[164] = 315*(35 - 1260*pow(dz, 2)/pow(dl, 2) + 6930*pow(dz, 4)/pow(dl, 4) - 12012*pow(dz, 6)/pow(dl, 6) + 6435*pow(dz, 8)/pow(dl, 8))/pow(dl, 9); - Bx[i] += cells[c].Mx[0]*derivative[4] + cells[c].Mx[10]*derivative[35] + cells[c].Mx[11]*derivative[36] + cells[c].Mx[12]*derivative[37] + cells[c].Mx[13]*derivative[38] + cells[c].Mx[14]*derivative[39] + cells[c].Mx[15]*derivative[40] + cells[c].Mx[16]*derivative[41] + cells[c].Mx[17]*derivative[42] + cells[c].Mx[18]*derivative[43] + cells[c].Mx[19]*derivative[44] + cells[c].Mx[1]*derivative[10] + cells[c].Mx[20]*derivative[56] + cells[c].Mx[21]*derivative[57] + cells[c].Mx[22]*derivative[58] + cells[c].Mx[23]*derivative[59] + cells[c].Mx[24]*derivative[60] + cells[c].Mx[25]*derivative[61] + cells[c].Mx[26]*derivative[62] + cells[c].Mx[27]*derivative[63] + cells[c].Mx[28]*derivative[64] + cells[c].Mx[29]*derivative[65] + cells[c].Mx[2]*derivative[11] + cells[c].Mx[30]*derivative[66] + cells[c].Mx[31]*derivative[67] + cells[c].Mx[32]*derivative[68] + cells[c].Mx[33]*derivative[69] + cells[c].Mx[34]*derivative[70] + cells[c].Mx[35]*derivative[84] + cells[c].Mx[36]*derivative[85] + cells[c].Mx[37]*derivative[86] + cells[c].Mx[38]*derivative[87] + cells[c].Mx[39]*derivative[88] + cells[c].Mx[3]*derivative[12] + cells[c].Mx[40]*derivative[89] + cells[c].Mx[41]*derivative[90] + cells[c].Mx[42]*derivative[91] + cells[c].Mx[43]*derivative[92] + cells[c].Mx[44]*derivative[93] + cells[c].Mx[45]*derivative[94] + cells[c].Mx[46]*derivative[95] + cells[c].Mx[47]*derivative[96] + cells[c].Mx[48]*derivative[97] + cells[c].Mx[49]*derivative[98] + cells[c].Mx[4]*derivative[20] + cells[c].Mx[50]*derivative[99] + cells[c].Mx[51]*derivative[100] + cells[c].Mx[52]*derivative[101] + cells[c].Mx[53]*derivative[102] + cells[c].Mx[54]*derivative[103] + cells[c].Mx[55]*derivative[104] + cells[c].Mx[56]*derivative[120] + cells[c].Mx[57]*derivative[121] + cells[c].Mx[58]*derivative[122] + cells[c].Mx[59]*derivative[123] + cells[c].Mx[5]*derivative[21] + cells[c].Mx[60]*derivative[124] + cells[c].Mx[61]*derivative[125] + cells[c].Mx[62]*derivative[126] + cells[c].Mx[63]*derivative[127] + cells[c].Mx[64]*derivative[128] + cells[c].Mx[65]*derivative[129] + cells[c].Mx[66]*derivative[130] + cells[c].Mx[67]*derivative[131] + cells[c].Mx[68]*derivative[132] + cells[c].Mx[69]*derivative[133] + cells[c].Mx[6]*derivative[22] + cells[c].Mx[70]*derivative[134] + cells[c].Mx[71]*derivative[135] + cells[c].Mx[72]*derivative[136] + cells[c].Mx[73]*derivative[137] + cells[c].Mx[74]*derivative[138] + cells[c].Mx[75]*derivative[139] + cells[c].Mx[76]*derivative[140] + cells[c].Mx[77]*derivative[141] + cells[c].Mx[78]*derivative[142] + cells[c].Mx[79]*derivative[143] + cells[c].Mx[7]*derivative[23] + cells[c].Mx[80]*derivative[144] + cells[c].Mx[81]*derivative[145] + cells[c].Mx[82]*derivative[146] + cells[c].Mx[83]*derivative[147] + cells[c].Mx[8]*derivative[24] + cells[c].Mx[9]*derivative[25] + cells[c].My[0]*derivative[5] + cells[c].My[10]*derivative[36] + cells[c].My[11]*derivative[38] + cells[c].My[12]*derivative[39] + cells[c].My[13]*derivative[41] + cells[c].My[14]*derivative[42] + cells[c].My[15]*derivative[43] + cells[c].My[16]*derivative[45] + cells[c].My[17]*derivative[46] + cells[c].My[18]*derivative[47] + cells[c].My[19]*derivative[48] + cells[c].My[1]*derivative[11] + cells[c].My[20]*derivative[57] + cells[c].My[21]*derivative[59] + cells[c].My[22]*derivative[60] + cells[c].My[23]*derivative[62] + cells[c].My[24]*derivative[63] + cells[c].My[25]*derivative[64] + cells[c].My[26]*derivative[66] + cells[c].My[27]*derivative[67] + cells[c].My[28]*derivative[68] + cells[c].My[29]*derivative[69] + cells[c].My[2]*derivative[13] + cells[c].My[30]*derivative[71] + cells[c].My[31]*derivative[72] + cells[c].My[32]*derivative[73] + cells[c].My[33]*derivative[74] + cells[c].My[34]*derivative[75] + cells[c].My[35]*derivative[85] + cells[c].My[36]*derivative[87] + cells[c].My[37]*derivative[88] + cells[c].My[38]*derivative[90] + cells[c].My[39]*derivative[91] + cells[c].My[3]*derivative[14] + cells[c].My[40]*derivative[92] + cells[c].My[41]*derivative[94] + cells[c].My[42]*derivative[95] + cells[c].My[43]*derivative[96] + cells[c].My[44]*derivative[97] + cells[c].My[45]*derivative[99] + cells[c].My[46]*derivative[100] + cells[c].My[47]*derivative[101] + cells[c].My[48]*derivative[102] + cells[c].My[49]*derivative[103] + cells[c].My[4]*derivative[21] + cells[c].My[50]*derivative[105] + cells[c].My[51]*derivative[106] + cells[c].My[52]*derivative[107] + cells[c].My[53]*derivative[108] + cells[c].My[54]*derivative[109] + cells[c].My[55]*derivative[110] + cells[c].My[56]*derivative[121] + cells[c].My[57]*derivative[123] + cells[c].My[58]*derivative[124] + cells[c].My[59]*derivative[126] + cells[c].My[5]*derivative[23] + cells[c].My[60]*derivative[127] + cells[c].My[61]*derivative[128] + cells[c].My[62]*derivative[130] + cells[c].My[63]*derivative[131] + cells[c].My[64]*derivative[132] + cells[c].My[65]*derivative[133] + cells[c].My[66]*derivative[135] + cells[c].My[67]*derivative[136] + cells[c].My[68]*derivative[137] + cells[c].My[69]*derivative[138] + cells[c].My[6]*derivative[24] + cells[c].My[70]*derivative[139] + cells[c].My[71]*derivative[141] + cells[c].My[72]*derivative[142] + cells[c].My[73]*derivative[143] + cells[c].My[74]*derivative[144] + cells[c].My[75]*derivative[145] + cells[c].My[76]*derivative[146] + cells[c].My[77]*derivative[148] + cells[c].My[78]*derivative[149] + cells[c].My[79]*derivative[150] + cells[c].My[7]*derivative[26] + cells[c].My[80]*derivative[151] + cells[c].My[81]*derivative[152] + cells[c].My[82]*derivative[153] + cells[c].My[83]*derivative[154] + cells[c].My[8]*derivative[27] + cells[c].My[9]*derivative[28] + cells[c].Mz[0]*derivative[6] + cells[c].Mz[10]*derivative[37] + cells[c].Mz[11]*derivative[39] + cells[c].Mz[12]*derivative[40] + cells[c].Mz[13]*derivative[42] + cells[c].Mz[14]*derivative[43] + cells[c].Mz[15]*derivative[44] + cells[c].Mz[16]*derivative[46] + cells[c].Mz[17]*derivative[47] + cells[c].Mz[18]*derivative[48] + cells[c].Mz[19]*derivative[49] + cells[c].Mz[1]*derivative[12] + cells[c].Mz[20]*derivative[58] + cells[c].Mz[21]*derivative[60] + cells[c].Mz[22]*derivative[61] + cells[c].Mz[23]*derivative[63] + cells[c].Mz[24]*derivative[64] + cells[c].Mz[25]*derivative[65] + cells[c].Mz[26]*derivative[67] + cells[c].Mz[27]*derivative[68] + cells[c].Mz[28]*derivative[69] + cells[c].Mz[29]*derivative[70] + cells[c].Mz[2]*derivative[14] + cells[c].Mz[30]*derivative[72] + cells[c].Mz[31]*derivative[73] + cells[c].Mz[32]*derivative[74] + cells[c].Mz[33]*derivative[75] + cells[c].Mz[34]*derivative[76] + cells[c].Mz[35]*derivative[86] + cells[c].Mz[36]*derivative[88] + cells[c].Mz[37]*derivative[89] + cells[c].Mz[38]*derivative[91] + cells[c].Mz[39]*derivative[92] + cells[c].Mz[3]*derivative[15] + cells[c].Mz[40]*derivative[93] + cells[c].Mz[41]*derivative[95] + cells[c].Mz[42]*derivative[96] + cells[c].Mz[43]*derivative[97] + cells[c].Mz[44]*derivative[98] + cells[c].Mz[45]*derivative[100] + cells[c].Mz[46]*derivative[101] + cells[c].Mz[47]*derivative[102] + cells[c].Mz[48]*derivative[103] + cells[c].Mz[49]*derivative[104] + cells[c].Mz[4]*derivative[22] + cells[c].Mz[50]*derivative[106] + cells[c].Mz[51]*derivative[107] + cells[c].Mz[52]*derivative[108] + cells[c].Mz[53]*derivative[109] + cells[c].Mz[54]*derivative[110] + cells[c].Mz[55]*derivative[111] + cells[c].Mz[56]*derivative[122] + cells[c].Mz[57]*derivative[124] + cells[c].Mz[58]*derivative[125] + cells[c].Mz[59]*derivative[127] + cells[c].Mz[5]*derivative[24] + cells[c].Mz[60]*derivative[128] + cells[c].Mz[61]*derivative[129] + cells[c].Mz[62]*derivative[131] + cells[c].Mz[63]*derivative[132] + cells[c].Mz[64]*derivative[133] + cells[c].Mz[65]*derivative[134] + cells[c].Mz[66]*derivative[136] + cells[c].Mz[67]*derivative[137] + cells[c].Mz[68]*derivative[138] + cells[c].Mz[69]*derivative[139] + cells[c].Mz[6]*derivative[25] + cells[c].Mz[70]*derivative[140] + cells[c].Mz[71]*derivative[142] + cells[c].Mz[72]*derivative[143] + cells[c].Mz[73]*derivative[144] + cells[c].Mz[74]*derivative[145] + cells[c].Mz[75]*derivative[146] + cells[c].Mz[76]*derivative[147] + cells[c].Mz[77]*derivative[149] + cells[c].Mz[78]*derivative[150] + cells[c].Mz[79]*derivative[151] + cells[c].Mz[7]*derivative[27] + cells[c].Mz[80]*derivative[152] + cells[c].Mz[81]*derivative[153] + cells[c].Mz[82]*derivative[154] + cells[c].Mz[83]*derivative[155] + cells[c].Mz[8]*derivative[28] + cells[c].Mz[9]*derivative[29]; - By[i] += cells[c].Mx[0]*derivative[5] + cells[c].Mx[10]*derivative[36] + cells[c].Mx[11]*derivative[38] + cells[c].Mx[12]*derivative[39] + cells[c].Mx[13]*derivative[41] + cells[c].Mx[14]*derivative[42] + cells[c].Mx[15]*derivative[43] + cells[c].Mx[16]*derivative[45] + cells[c].Mx[17]*derivative[46] + cells[c].Mx[18]*derivative[47] + cells[c].Mx[19]*derivative[48] + cells[c].Mx[1]*derivative[11] + cells[c].Mx[20]*derivative[57] + cells[c].Mx[21]*derivative[59] + cells[c].Mx[22]*derivative[60] + cells[c].Mx[23]*derivative[62] + cells[c].Mx[24]*derivative[63] + cells[c].Mx[25]*derivative[64] + cells[c].Mx[26]*derivative[66] + cells[c].Mx[27]*derivative[67] + cells[c].Mx[28]*derivative[68] + cells[c].Mx[29]*derivative[69] + cells[c].Mx[2]*derivative[13] + cells[c].Mx[30]*derivative[71] + cells[c].Mx[31]*derivative[72] + cells[c].Mx[32]*derivative[73] + cells[c].Mx[33]*derivative[74] + cells[c].Mx[34]*derivative[75] + cells[c].Mx[35]*derivative[85] + cells[c].Mx[36]*derivative[87] + cells[c].Mx[37]*derivative[88] + cells[c].Mx[38]*derivative[90] + cells[c].Mx[39]*derivative[91] + cells[c].Mx[3]*derivative[14] + cells[c].Mx[40]*derivative[92] + cells[c].Mx[41]*derivative[94] + cells[c].Mx[42]*derivative[95] + cells[c].Mx[43]*derivative[96] + cells[c].Mx[44]*derivative[97] + cells[c].Mx[45]*derivative[99] + cells[c].Mx[46]*derivative[100] + cells[c].Mx[47]*derivative[101] + cells[c].Mx[48]*derivative[102] + cells[c].Mx[49]*derivative[103] + cells[c].Mx[4]*derivative[21] + cells[c].Mx[50]*derivative[105] + cells[c].Mx[51]*derivative[106] + cells[c].Mx[52]*derivative[107] + cells[c].Mx[53]*derivative[108] + cells[c].Mx[54]*derivative[109] + cells[c].Mx[55]*derivative[110] + cells[c].Mx[56]*derivative[121] + cells[c].Mx[57]*derivative[123] + cells[c].Mx[58]*derivative[124] + cells[c].Mx[59]*derivative[126] + cells[c].Mx[5]*derivative[23] + cells[c].Mx[60]*derivative[127] + cells[c].Mx[61]*derivative[128] + cells[c].Mx[62]*derivative[130] + cells[c].Mx[63]*derivative[131] + cells[c].Mx[64]*derivative[132] + cells[c].Mx[65]*derivative[133] + cells[c].Mx[66]*derivative[135] + cells[c].Mx[67]*derivative[136] + cells[c].Mx[68]*derivative[137] + cells[c].Mx[69]*derivative[138] + cells[c].Mx[6]*derivative[24] + cells[c].Mx[70]*derivative[139] + cells[c].Mx[71]*derivative[141] + cells[c].Mx[72]*derivative[142] + cells[c].Mx[73]*derivative[143] + cells[c].Mx[74]*derivative[144] + cells[c].Mx[75]*derivative[145] + cells[c].Mx[76]*derivative[146] + cells[c].Mx[77]*derivative[148] + cells[c].Mx[78]*derivative[149] + cells[c].Mx[79]*derivative[150] + cells[c].Mx[7]*derivative[26] + cells[c].Mx[80]*derivative[151] + cells[c].Mx[81]*derivative[152] + cells[c].Mx[82]*derivative[153] + cells[c].Mx[83]*derivative[154] + cells[c].Mx[8]*derivative[27] + cells[c].Mx[9]*derivative[28] + cells[c].My[0]*derivative[7] + cells[c].My[10]*derivative[38] + cells[c].My[11]*derivative[41] + cells[c].My[12]*derivative[42] + cells[c].My[13]*derivative[45] + cells[c].My[14]*derivative[46] + cells[c].My[15]*derivative[47] + cells[c].My[16]*derivative[50] + cells[c].My[17]*derivative[51] + cells[c].My[18]*derivative[52] + cells[c].My[19]*derivative[53] + cells[c].My[1]*derivative[13] + cells[c].My[20]*derivative[59] + cells[c].My[21]*derivative[62] + cells[c].My[22]*derivative[63] + cells[c].My[23]*derivative[66] + cells[c].My[24]*derivative[67] + cells[c].My[25]*derivative[68] + cells[c].My[26]*derivative[71] + cells[c].My[27]*derivative[72] + cells[c].My[28]*derivative[73] + cells[c].My[29]*derivative[74] + cells[c].My[2]*derivative[16] + cells[c].My[30]*derivative[77] + cells[c].My[31]*derivative[78] + cells[c].My[32]*derivative[79] + cells[c].My[33]*derivative[80] + cells[c].My[34]*derivative[81] + cells[c].My[35]*derivative[87] + cells[c].My[36]*derivative[90] + cells[c].My[37]*derivative[91] + cells[c].My[38]*derivative[94] + cells[c].My[39]*derivative[95] + cells[c].My[3]*derivative[17] + cells[c].My[40]*derivative[96] + cells[c].My[41]*derivative[99] + cells[c].My[42]*derivative[100] + cells[c].My[43]*derivative[101] + cells[c].My[44]*derivative[102] + cells[c].My[45]*derivative[105] + cells[c].My[46]*derivative[106] + cells[c].My[47]*derivative[107] + cells[c].My[48]*derivative[108] + cells[c].My[49]*derivative[109] + cells[c].My[4]*derivative[23] + cells[c].My[50]*derivative[112] + cells[c].My[51]*derivative[113] + cells[c].My[52]*derivative[114] + cells[c].My[53]*derivative[115] + cells[c].My[54]*derivative[116] + cells[c].My[55]*derivative[117] + cells[c].My[56]*derivative[123] + cells[c].My[57]*derivative[126] + cells[c].My[58]*derivative[127] + cells[c].My[59]*derivative[130] + cells[c].My[5]*derivative[26] + cells[c].My[60]*derivative[131] + cells[c].My[61]*derivative[132] + cells[c].My[62]*derivative[135] + cells[c].My[63]*derivative[136] + cells[c].My[64]*derivative[137] + cells[c].My[65]*derivative[138] + cells[c].My[66]*derivative[141] + cells[c].My[67]*derivative[142] + cells[c].My[68]*derivative[143] + cells[c].My[69]*derivative[144] + cells[c].My[6]*derivative[27] + cells[c].My[70]*derivative[145] + cells[c].My[71]*derivative[148] + cells[c].My[72]*derivative[149] + cells[c].My[73]*derivative[150] + cells[c].My[74]*derivative[151] + cells[c].My[75]*derivative[152] + cells[c].My[76]*derivative[153] + cells[c].My[77]*derivative[156] + cells[c].My[78]*derivative[157] + cells[c].My[79]*derivative[158] + cells[c].My[7]*derivative[30] + cells[c].My[80]*derivative[159] + cells[c].My[81]*derivative[160] + cells[c].My[82]*derivative[161] + cells[c].My[83]*derivative[162] + cells[c].My[8]*derivative[31] + cells[c].My[9]*derivative[32] + cells[c].Mz[0]*derivative[8] + cells[c].Mz[10]*derivative[39] + cells[c].Mz[11]*derivative[42] + cells[c].Mz[12]*derivative[43] + cells[c].Mz[13]*derivative[46] + cells[c].Mz[14]*derivative[47] + cells[c].Mz[15]*derivative[48] + cells[c].Mz[16]*derivative[51] + cells[c].Mz[17]*derivative[52] + cells[c].Mz[18]*derivative[53] + cells[c].Mz[19]*derivative[54] + cells[c].Mz[1]*derivative[14] + cells[c].Mz[20]*derivative[60] + cells[c].Mz[21]*derivative[63] + cells[c].Mz[22]*derivative[64] + cells[c].Mz[23]*derivative[67] + cells[c].Mz[24]*derivative[68] + cells[c].Mz[25]*derivative[69] + cells[c].Mz[26]*derivative[72] + cells[c].Mz[27]*derivative[73] + cells[c].Mz[28]*derivative[74] + cells[c].Mz[29]*derivative[75] + cells[c].Mz[2]*derivative[17] + cells[c].Mz[30]*derivative[78] + cells[c].Mz[31]*derivative[79] + cells[c].Mz[32]*derivative[80] + cells[c].Mz[33]*derivative[81] + cells[c].Mz[34]*derivative[82] + cells[c].Mz[35]*derivative[88] + cells[c].Mz[36]*derivative[91] + cells[c].Mz[37]*derivative[92] + cells[c].Mz[38]*derivative[95] + cells[c].Mz[39]*derivative[96] + cells[c].Mz[3]*derivative[18] + cells[c].Mz[40]*derivative[97] + cells[c].Mz[41]*derivative[100] + cells[c].Mz[42]*derivative[101] + cells[c].Mz[43]*derivative[102] + cells[c].Mz[44]*derivative[103] + cells[c].Mz[45]*derivative[106] + cells[c].Mz[46]*derivative[107] + cells[c].Mz[47]*derivative[108] + cells[c].Mz[48]*derivative[109] + cells[c].Mz[49]*derivative[110] + cells[c].Mz[4]*derivative[24] + cells[c].Mz[50]*derivative[113] + cells[c].Mz[51]*derivative[114] + cells[c].Mz[52]*derivative[115] + cells[c].Mz[53]*derivative[116] + cells[c].Mz[54]*derivative[117] + cells[c].Mz[55]*derivative[118] + cells[c].Mz[56]*derivative[124] + cells[c].Mz[57]*derivative[127] + cells[c].Mz[58]*derivative[128] + cells[c].Mz[59]*derivative[131] + cells[c].Mz[5]*derivative[27] + cells[c].Mz[60]*derivative[132] + cells[c].Mz[61]*derivative[133] + cells[c].Mz[62]*derivative[136] + cells[c].Mz[63]*derivative[137] + cells[c].Mz[64]*derivative[138] + cells[c].Mz[65]*derivative[139] + cells[c].Mz[66]*derivative[142] + cells[c].Mz[67]*derivative[143] + cells[c].Mz[68]*derivative[144] + cells[c].Mz[69]*derivative[145] + cells[c].Mz[6]*derivative[28] + cells[c].Mz[70]*derivative[146] + cells[c].Mz[71]*derivative[149] + cells[c].Mz[72]*derivative[150] + cells[c].Mz[73]*derivative[151] + cells[c].Mz[74]*derivative[152] + cells[c].Mz[75]*derivative[153] + cells[c].Mz[76]*derivative[154] + cells[c].Mz[77]*derivative[157] + cells[c].Mz[78]*derivative[158] + cells[c].Mz[79]*derivative[159] + cells[c].Mz[7]*derivative[31] + cells[c].Mz[80]*derivative[160] + cells[c].Mz[81]*derivative[161] + cells[c].Mz[82]*derivative[162] + cells[c].Mz[83]*derivative[163] + cells[c].Mz[8]*derivative[32] + cells[c].Mz[9]*derivative[33]; - Bz[i] += cells[c].Mx[0]*derivative[6] + cells[c].Mx[10]*derivative[37] + cells[c].Mx[11]*derivative[39] + cells[c].Mx[12]*derivative[40] + cells[c].Mx[13]*derivative[42] + cells[c].Mx[14]*derivative[43] + cells[c].Mx[15]*derivative[44] + cells[c].Mx[16]*derivative[46] + cells[c].Mx[17]*derivative[47] + cells[c].Mx[18]*derivative[48] + cells[c].Mx[19]*derivative[49] + cells[c].Mx[1]*derivative[12] + cells[c].Mx[20]*derivative[58] + cells[c].Mx[21]*derivative[60] + cells[c].Mx[22]*derivative[61] + cells[c].Mx[23]*derivative[63] + cells[c].Mx[24]*derivative[64] + cells[c].Mx[25]*derivative[65] + cells[c].Mx[26]*derivative[67] + cells[c].Mx[27]*derivative[68] + cells[c].Mx[28]*derivative[69] + cells[c].Mx[29]*derivative[70] + cells[c].Mx[2]*derivative[14] + cells[c].Mx[30]*derivative[72] + cells[c].Mx[31]*derivative[73] + cells[c].Mx[32]*derivative[74] + cells[c].Mx[33]*derivative[75] + cells[c].Mx[34]*derivative[76] + cells[c].Mx[35]*derivative[86] + cells[c].Mx[36]*derivative[88] + cells[c].Mx[37]*derivative[89] + cells[c].Mx[38]*derivative[91] + cells[c].Mx[39]*derivative[92] + cells[c].Mx[3]*derivative[15] + cells[c].Mx[40]*derivative[93] + cells[c].Mx[41]*derivative[95] + cells[c].Mx[42]*derivative[96] + cells[c].Mx[43]*derivative[97] + cells[c].Mx[44]*derivative[98] + cells[c].Mx[45]*derivative[100] + cells[c].Mx[46]*derivative[101] + cells[c].Mx[47]*derivative[102] + cells[c].Mx[48]*derivative[103] + cells[c].Mx[49]*derivative[104] + cells[c].Mx[4]*derivative[22] + cells[c].Mx[50]*derivative[106] + cells[c].Mx[51]*derivative[107] + cells[c].Mx[52]*derivative[108] + cells[c].Mx[53]*derivative[109] + cells[c].Mx[54]*derivative[110] + cells[c].Mx[55]*derivative[111] + cells[c].Mx[56]*derivative[122] + cells[c].Mx[57]*derivative[124] + cells[c].Mx[58]*derivative[125] + cells[c].Mx[59]*derivative[127] + cells[c].Mx[5]*derivative[24] + cells[c].Mx[60]*derivative[128] + cells[c].Mx[61]*derivative[129] + cells[c].Mx[62]*derivative[131] + cells[c].Mx[63]*derivative[132] + cells[c].Mx[64]*derivative[133] + cells[c].Mx[65]*derivative[134] + cells[c].Mx[66]*derivative[136] + cells[c].Mx[67]*derivative[137] + cells[c].Mx[68]*derivative[138] + cells[c].Mx[69]*derivative[139] + cells[c].Mx[6]*derivative[25] + cells[c].Mx[70]*derivative[140] + cells[c].Mx[71]*derivative[142] + cells[c].Mx[72]*derivative[143] + cells[c].Mx[73]*derivative[144] + cells[c].Mx[74]*derivative[145] + cells[c].Mx[75]*derivative[146] + cells[c].Mx[76]*derivative[147] + cells[c].Mx[77]*derivative[149] + cells[c].Mx[78]*derivative[150] + cells[c].Mx[79]*derivative[151] + cells[c].Mx[7]*derivative[27] + cells[c].Mx[80]*derivative[152] + cells[c].Mx[81]*derivative[153] + cells[c].Mx[82]*derivative[154] + cells[c].Mx[83]*derivative[155] + cells[c].Mx[8]*derivative[28] + cells[c].Mx[9]*derivative[29] + cells[c].My[0]*derivative[8] + cells[c].My[10]*derivative[39] + cells[c].My[11]*derivative[42] + cells[c].My[12]*derivative[43] + cells[c].My[13]*derivative[46] + cells[c].My[14]*derivative[47] + cells[c].My[15]*derivative[48] + cells[c].My[16]*derivative[51] + cells[c].My[17]*derivative[52] + cells[c].My[18]*derivative[53] + cells[c].My[19]*derivative[54] + cells[c].My[1]*derivative[14] + cells[c].My[20]*derivative[60] + cells[c].My[21]*derivative[63] + cells[c].My[22]*derivative[64] + cells[c].My[23]*derivative[67] + cells[c].My[24]*derivative[68] + cells[c].My[25]*derivative[69] + cells[c].My[26]*derivative[72] + cells[c].My[27]*derivative[73] + cells[c].My[28]*derivative[74] + cells[c].My[29]*derivative[75] + cells[c].My[2]*derivative[17] + cells[c].My[30]*derivative[78] + cells[c].My[31]*derivative[79] + cells[c].My[32]*derivative[80] + cells[c].My[33]*derivative[81] + cells[c].My[34]*derivative[82] + cells[c].My[35]*derivative[88] + cells[c].My[36]*derivative[91] + cells[c].My[37]*derivative[92] + cells[c].My[38]*derivative[95] + cells[c].My[39]*derivative[96] + cells[c].My[3]*derivative[18] + cells[c].My[40]*derivative[97] + cells[c].My[41]*derivative[100] + cells[c].My[42]*derivative[101] + cells[c].My[43]*derivative[102] + cells[c].My[44]*derivative[103] + cells[c].My[45]*derivative[106] + cells[c].My[46]*derivative[107] + cells[c].My[47]*derivative[108] + cells[c].My[48]*derivative[109] + cells[c].My[49]*derivative[110] + cells[c].My[4]*derivative[24] + cells[c].My[50]*derivative[113] + cells[c].My[51]*derivative[114] + cells[c].My[52]*derivative[115] + cells[c].My[53]*derivative[116] + cells[c].My[54]*derivative[117] + cells[c].My[55]*derivative[118] + cells[c].My[56]*derivative[124] + cells[c].My[57]*derivative[127] + cells[c].My[58]*derivative[128] + cells[c].My[59]*derivative[131] + cells[c].My[5]*derivative[27] + cells[c].My[60]*derivative[132] + cells[c].My[61]*derivative[133] + cells[c].My[62]*derivative[136] + cells[c].My[63]*derivative[137] + cells[c].My[64]*derivative[138] + cells[c].My[65]*derivative[139] + cells[c].My[66]*derivative[142] + cells[c].My[67]*derivative[143] + cells[c].My[68]*derivative[144] + cells[c].My[69]*derivative[145] + cells[c].My[6]*derivative[28] + cells[c].My[70]*derivative[146] + cells[c].My[71]*derivative[149] + cells[c].My[72]*derivative[150] + cells[c].My[73]*derivative[151] + cells[c].My[74]*derivative[152] + cells[c].My[75]*derivative[153] + cells[c].My[76]*derivative[154] + cells[c].My[77]*derivative[157] + cells[c].My[78]*derivative[158] + cells[c].My[79]*derivative[159] + cells[c].My[7]*derivative[31] + cells[c].My[80]*derivative[160] + cells[c].My[81]*derivative[161] + cells[c].My[82]*derivative[162] + cells[c].My[83]*derivative[163] + cells[c].My[8]*derivative[32] + cells[c].My[9]*derivative[33] + cells[c].Mz[0]*derivative[9] + cells[c].Mz[10]*derivative[40] + cells[c].Mz[11]*derivative[43] + cells[c].Mz[12]*derivative[44] + cells[c].Mz[13]*derivative[47] + cells[c].Mz[14]*derivative[48] + cells[c].Mz[15]*derivative[49] + cells[c].Mz[16]*derivative[52] + cells[c].Mz[17]*derivative[53] + cells[c].Mz[18]*derivative[54] + cells[c].Mz[19]*derivative[55] + cells[c].Mz[1]*derivative[15] + cells[c].Mz[20]*derivative[61] + cells[c].Mz[21]*derivative[64] + cells[c].Mz[22]*derivative[65] + cells[c].Mz[23]*derivative[68] + cells[c].Mz[24]*derivative[69] + cells[c].Mz[25]*derivative[70] + cells[c].Mz[26]*derivative[73] + cells[c].Mz[27]*derivative[74] + cells[c].Mz[28]*derivative[75] + cells[c].Mz[29]*derivative[76] + cells[c].Mz[2]*derivative[18] + cells[c].Mz[30]*derivative[79] + cells[c].Mz[31]*derivative[80] + cells[c].Mz[32]*derivative[81] + cells[c].Mz[33]*derivative[82] + cells[c].Mz[34]*derivative[83] + cells[c].Mz[35]*derivative[89] + cells[c].Mz[36]*derivative[92] + cells[c].Mz[37]*derivative[93] + cells[c].Mz[38]*derivative[96] + cells[c].Mz[39]*derivative[97] + cells[c].Mz[3]*derivative[19] + cells[c].Mz[40]*derivative[98] + cells[c].Mz[41]*derivative[101] + cells[c].Mz[42]*derivative[102] + cells[c].Mz[43]*derivative[103] + cells[c].Mz[44]*derivative[104] + cells[c].Mz[45]*derivative[107] + cells[c].Mz[46]*derivative[108] + cells[c].Mz[47]*derivative[109] + cells[c].Mz[48]*derivative[110] + cells[c].Mz[49]*derivative[111] + cells[c].Mz[4]*derivative[25] + cells[c].Mz[50]*derivative[114] + cells[c].Mz[51]*derivative[115] + cells[c].Mz[52]*derivative[116] + cells[c].Mz[53]*derivative[117] + cells[c].Mz[54]*derivative[118] + cells[c].Mz[55]*derivative[119] + cells[c].Mz[56]*derivative[125] + cells[c].Mz[57]*derivative[128] + cells[c].Mz[58]*derivative[129] + cells[c].Mz[59]*derivative[132] + cells[c].Mz[5]*derivative[28] + cells[c].Mz[60]*derivative[133] + cells[c].Mz[61]*derivative[134] + cells[c].Mz[62]*derivative[137] + cells[c].Mz[63]*derivative[138] + cells[c].Mz[64]*derivative[139] + cells[c].Mz[65]*derivative[140] + cells[c].Mz[66]*derivative[143] + cells[c].Mz[67]*derivative[144] + cells[c].Mz[68]*derivative[145] + cells[c].Mz[69]*derivative[146] + cells[c].Mz[6]*derivative[29] + cells[c].Mz[70]*derivative[147] + cells[c].Mz[71]*derivative[150] + cells[c].Mz[72]*derivative[151] + cells[c].Mz[73]*derivative[152] + cells[c].Mz[74]*derivative[153] + cells[c].Mz[75]*derivative[154] + cells[c].Mz[76]*derivative[155] + cells[c].Mz[77]*derivative[158] + cells[c].Mz[78]*derivative[159] + cells[c].Mz[79]*derivative[160] + cells[c].Mz[7]*derivative[32] + cells[c].Mz[80]*derivative[161] + cells[c].Mz[81]*derivative[162] + cells[c].Mz[82]*derivative[163] + cells[c].Mz[83]*derivative[164] + cells[c].Mz[8]*derivative[33] + cells[c].Mz[9]*derivative[34]; -} -void P2M_7(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit) { - unsigned int l; - - if (cells[p].nleaf >= ncrit) { - for(int c = 0; c < 8; c++) { - if (cells[p].nchild & (1 << c)) { - P2M_7(particles, cells[p].child[c], cells, ncrit); - } - } - } - else { - for(unsigned int i = 0; i < (cells[p].nleaf); i++) { - l = cells[p].leaf[i]; -double dx = (particles[l].x - cells[p].x); -double dy = (particles[l].y - cells[p].y); -double dz = (particles[l].z - cells[p].z); - cells[p].Mx[0] += particles[l].mux; - cells[p].Mx[1] += -dx*particles[l].mux; - cells[p].Mx[2] += -dy*particles[l].mux; - cells[p].Mx[3] += -dz*particles[l].mux; - cells[p].Mx[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].mux; - cells[p].Mx[5] += dx*dy*particles[l].mux; - cells[p].Mx[6] += dx*dz*particles[l].mux; - cells[p].Mx[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[8] += dy*dz*particles[l].mux; - cells[p].Mx[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].mux; - cells[p].Mx[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].mux; - cells[p].Mx[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].mux; - cells[p].Mx[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].mux; - cells[p].Mx[14] += -dx*dy*dz*particles[l].mux; - cells[p].Mx[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].mux; - cells[p].Mx[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].mux; - cells[p].Mx[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].mux; - cells[p].Mx[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].mux; - cells[p].Mx[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].mux; - cells[p].Mx[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].mux; - cells[p].Mx[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].mux; - cells[p].Mx[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].mux; - cells[p].Mx[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].mux; - cells[p].Mx[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].mux; - cells[p].Mx[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].mux; - cells[p].Mx[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].mux; - cells[p].Mx[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].mux; - cells[p].Mx[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].mux; - cells[p].Mx[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].mux; - cells[p].Mx[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].mux; - cells[p].Mx[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].mux; - cells[p].Mx[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].mux; - cells[p].Mx[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].mux; - cells[p].Mx[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].mux; - cells[p].Mx[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].mux; - cells[p].Mx[56] += (1.0L/720.0L)*pow(dx, 6)*particles[l].mux; - cells[p].Mx[57] += (1.0L/120.0L)*pow(dx, 5)*dy*particles[l].mux; - cells[p].Mx[58] += (1.0L/120.0L)*pow(dx, 5)*dz*particles[l].mux; - cells[p].Mx[59] += (1.0L/48.0L)*pow(dx, 4)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[60] += (1.0L/24.0L)*pow(dx, 4)*dy*dz*particles[l].mux; - cells[p].Mx[61] += (1.0L/48.0L)*pow(dx, 4)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[62] += (1.0L/36.0L)*pow(dx, 3)*pow(dy, 3)*particles[l].mux; - cells[p].Mx[63] += (1.0L/12.0L)*pow(dx, 3)*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[64] += (1.0L/12.0L)*pow(dx, 3)*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[65] += (1.0L/36.0L)*pow(dx, 3)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[66] += (1.0L/48.0L)*pow(dx, 2)*pow(dy, 4)*particles[l].mux; - cells[p].Mx[67] += (1.0L/12.0L)*pow(dx, 2)*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[68] += (1.0L/8.0L)*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[69] += (1.0L/12.0L)*pow(dx, 2)*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[70] += (1.0L/48.0L)*pow(dx, 2)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[71] += (1.0L/120.0L)*dx*pow(dy, 5)*particles[l].mux; - cells[p].Mx[72] += (1.0L/24.0L)*dx*pow(dy, 4)*dz*particles[l].mux; - cells[p].Mx[73] += (1.0L/12.0L)*dx*pow(dy, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[74] += (1.0L/12.0L)*dx*pow(dy, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[75] += (1.0L/24.0L)*dx*dy*pow(dz, 4)*particles[l].mux; - cells[p].Mx[76] += (1.0L/120.0L)*dx*pow(dz, 5)*particles[l].mux; - cells[p].Mx[77] += (1.0L/720.0L)*pow(dy, 6)*particles[l].mux; - cells[p].Mx[78] += (1.0L/120.0L)*pow(dy, 5)*dz*particles[l].mux; - cells[p].Mx[79] += (1.0L/48.0L)*pow(dy, 4)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[80] += (1.0L/36.0L)*pow(dy, 3)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[81] += (1.0L/48.0L)*pow(dy, 2)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[82] += (1.0L/120.0L)*dy*pow(dz, 5)*particles[l].mux; - cells[p].Mx[83] += (1.0L/720.0L)*pow(dz, 6)*particles[l].mux; - cells[p].Mx[84] += -1.0L/5040.0L*pow(dx, 7)*particles[l].mux; - cells[p].Mx[85] += -1.0L/720.0L*pow(dx, 6)*dy*particles[l].mux; - cells[p].Mx[86] += -1.0L/720.0L*pow(dx, 6)*dz*particles[l].mux; - cells[p].Mx[87] += -1.0L/240.0L*pow(dx, 5)*pow(dy, 2)*particles[l].mux; - cells[p].Mx[88] += -1.0L/120.0L*pow(dx, 5)*dy*dz*particles[l].mux; - cells[p].Mx[89] += -1.0L/240.0L*pow(dx, 5)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[90] += -1.0L/144.0L*pow(dx, 4)*pow(dy, 3)*particles[l].mux; - cells[p].Mx[91] += -1.0L/48.0L*pow(dx, 4)*pow(dy, 2)*dz*particles[l].mux; - cells[p].Mx[92] += -1.0L/48.0L*pow(dx, 4)*dy*pow(dz, 2)*particles[l].mux; - cells[p].Mx[93] += -1.0L/144.0L*pow(dx, 4)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[94] += -1.0L/144.0L*pow(dx, 3)*pow(dy, 4)*particles[l].mux; - cells[p].Mx[95] += -1.0L/36.0L*pow(dx, 3)*pow(dy, 3)*dz*particles[l].mux; - cells[p].Mx[96] += -1.0L/24.0L*pow(dx, 3)*pow(dy, 2)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[97] += -1.0L/36.0L*pow(dx, 3)*dy*pow(dz, 3)*particles[l].mux; - cells[p].Mx[98] += -1.0L/144.0L*pow(dx, 3)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[99] += -1.0L/240.0L*pow(dx, 2)*pow(dy, 5)*particles[l].mux; - cells[p].Mx[100] += -1.0L/48.0L*pow(dx, 2)*pow(dy, 4)*dz*particles[l].mux; - cells[p].Mx[101] += -1.0L/24.0L*pow(dx, 2)*pow(dy, 3)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[102] += -1.0L/24.0L*pow(dx, 2)*pow(dy, 2)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[103] += -1.0L/48.0L*pow(dx, 2)*dy*pow(dz, 4)*particles[l].mux; - cells[p].Mx[104] += -1.0L/240.0L*pow(dx, 2)*pow(dz, 5)*particles[l].mux; - cells[p].Mx[105] += -1.0L/720.0L*dx*pow(dy, 6)*particles[l].mux; - cells[p].Mx[106] += -1.0L/120.0L*dx*pow(dy, 5)*dz*particles[l].mux; - cells[p].Mx[107] += -1.0L/48.0L*dx*pow(dy, 4)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[108] += -1.0L/36.0L*dx*pow(dy, 3)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[109] += -1.0L/48.0L*dx*pow(dy, 2)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[110] += -1.0L/120.0L*dx*dy*pow(dz, 5)*particles[l].mux; - cells[p].Mx[111] += -1.0L/720.0L*dx*pow(dz, 6)*particles[l].mux; - cells[p].Mx[112] += -1.0L/5040.0L*pow(dy, 7)*particles[l].mux; - cells[p].Mx[113] += -1.0L/720.0L*pow(dy, 6)*dz*particles[l].mux; - cells[p].Mx[114] += -1.0L/240.0L*pow(dy, 5)*pow(dz, 2)*particles[l].mux; - cells[p].Mx[115] += -1.0L/144.0L*pow(dy, 4)*pow(dz, 3)*particles[l].mux; - cells[p].Mx[116] += -1.0L/144.0L*pow(dy, 3)*pow(dz, 4)*particles[l].mux; - cells[p].Mx[117] += -1.0L/240.0L*pow(dy, 2)*pow(dz, 5)*particles[l].mux; - cells[p].Mx[118] += -1.0L/720.0L*dy*pow(dz, 6)*particles[l].mux; - cells[p].Mx[119] += -1.0L/5040.0L*pow(dz, 7)*particles[l].mux; - cells[p].My[0] += particles[l].muy; - cells[p].My[1] += -dx*particles[l].muy; - cells[p].My[2] += -dy*particles[l].muy; - cells[p].My[3] += -dz*particles[l].muy; - cells[p].My[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muy; - cells[p].My[5] += dx*dy*particles[l].muy; - cells[p].My[6] += dx*dz*particles[l].muy; - cells[p].My[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muy; - cells[p].My[8] += dy*dz*particles[l].muy; - cells[p].My[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muy; - cells[p].My[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muy; - cells[p].My[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muy; - cells[p].My[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muy; - cells[p].My[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muy; - cells[p].My[14] += -dx*dy*dz*particles[l].muy; - cells[p].My[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muy; - cells[p].My[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muy; - cells[p].My[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muy; - cells[p].My[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].muy; - cells[p].My[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].muy; - cells[p].My[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].muy; - cells[p].My[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].muy; - cells[p].My[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].muy; - cells[p].My[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].muy; - cells[p].My[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].muy; - cells[p].My[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].muy; - cells[p].My[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].muy; - cells[p].My[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].muy; - cells[p].My[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].muy; - cells[p].My[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].muy; - cells[p].My[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].muy; - cells[p].My[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].muy; - cells[p].My[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].muy; - cells[p].My[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].muy; - cells[p].My[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].muy; - cells[p].My[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].muy; - cells[p].My[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].muy; - cells[p].My[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].muy; - cells[p].My[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].muy; - cells[p].My[56] += (1.0L/720.0L)*pow(dx, 6)*particles[l].muy; - cells[p].My[57] += (1.0L/120.0L)*pow(dx, 5)*dy*particles[l].muy; - cells[p].My[58] += (1.0L/120.0L)*pow(dx, 5)*dz*particles[l].muy; - cells[p].My[59] += (1.0L/48.0L)*pow(dx, 4)*pow(dy, 2)*particles[l].muy; - cells[p].My[60] += (1.0L/24.0L)*pow(dx, 4)*dy*dz*particles[l].muy; - cells[p].My[61] += (1.0L/48.0L)*pow(dx, 4)*pow(dz, 2)*particles[l].muy; - cells[p].My[62] += (1.0L/36.0L)*pow(dx, 3)*pow(dy, 3)*particles[l].muy; - cells[p].My[63] += (1.0L/12.0L)*pow(dx, 3)*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[64] += (1.0L/12.0L)*pow(dx, 3)*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[65] += (1.0L/36.0L)*pow(dx, 3)*pow(dz, 3)*particles[l].muy; - cells[p].My[66] += (1.0L/48.0L)*pow(dx, 2)*pow(dy, 4)*particles[l].muy; - cells[p].My[67] += (1.0L/12.0L)*pow(dx, 2)*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[68] += (1.0L/8.0L)*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[69] += (1.0L/12.0L)*pow(dx, 2)*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[70] += (1.0L/48.0L)*pow(dx, 2)*pow(dz, 4)*particles[l].muy; - cells[p].My[71] += (1.0L/120.0L)*dx*pow(dy, 5)*particles[l].muy; - cells[p].My[72] += (1.0L/24.0L)*dx*pow(dy, 4)*dz*particles[l].muy; - cells[p].My[73] += (1.0L/12.0L)*dx*pow(dy, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[74] += (1.0L/12.0L)*dx*pow(dy, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[75] += (1.0L/24.0L)*dx*dy*pow(dz, 4)*particles[l].muy; - cells[p].My[76] += (1.0L/120.0L)*dx*pow(dz, 5)*particles[l].muy; - cells[p].My[77] += (1.0L/720.0L)*pow(dy, 6)*particles[l].muy; - cells[p].My[78] += (1.0L/120.0L)*pow(dy, 5)*dz*particles[l].muy; - cells[p].My[79] += (1.0L/48.0L)*pow(dy, 4)*pow(dz, 2)*particles[l].muy; - cells[p].My[80] += (1.0L/36.0L)*pow(dy, 3)*pow(dz, 3)*particles[l].muy; - cells[p].My[81] += (1.0L/48.0L)*pow(dy, 2)*pow(dz, 4)*particles[l].muy; - cells[p].My[82] += (1.0L/120.0L)*dy*pow(dz, 5)*particles[l].muy; - cells[p].My[83] += (1.0L/720.0L)*pow(dz, 6)*particles[l].muy; - cells[p].My[84] += -1.0L/5040.0L*pow(dx, 7)*particles[l].muy; - cells[p].My[85] += -1.0L/720.0L*pow(dx, 6)*dy*particles[l].muy; - cells[p].My[86] += -1.0L/720.0L*pow(dx, 6)*dz*particles[l].muy; - cells[p].My[87] += -1.0L/240.0L*pow(dx, 5)*pow(dy, 2)*particles[l].muy; - cells[p].My[88] += -1.0L/120.0L*pow(dx, 5)*dy*dz*particles[l].muy; - cells[p].My[89] += -1.0L/240.0L*pow(dx, 5)*pow(dz, 2)*particles[l].muy; - cells[p].My[90] += -1.0L/144.0L*pow(dx, 4)*pow(dy, 3)*particles[l].muy; - cells[p].My[91] += -1.0L/48.0L*pow(dx, 4)*pow(dy, 2)*dz*particles[l].muy; - cells[p].My[92] += -1.0L/48.0L*pow(dx, 4)*dy*pow(dz, 2)*particles[l].muy; - cells[p].My[93] += -1.0L/144.0L*pow(dx, 4)*pow(dz, 3)*particles[l].muy; - cells[p].My[94] += -1.0L/144.0L*pow(dx, 3)*pow(dy, 4)*particles[l].muy; - cells[p].My[95] += -1.0L/36.0L*pow(dx, 3)*pow(dy, 3)*dz*particles[l].muy; - cells[p].My[96] += -1.0L/24.0L*pow(dx, 3)*pow(dy, 2)*pow(dz, 2)*particles[l].muy; - cells[p].My[97] += -1.0L/36.0L*pow(dx, 3)*dy*pow(dz, 3)*particles[l].muy; - cells[p].My[98] += -1.0L/144.0L*pow(dx, 3)*pow(dz, 4)*particles[l].muy; - cells[p].My[99] += -1.0L/240.0L*pow(dx, 2)*pow(dy, 5)*particles[l].muy; - cells[p].My[100] += -1.0L/48.0L*pow(dx, 2)*pow(dy, 4)*dz*particles[l].muy; - cells[p].My[101] += -1.0L/24.0L*pow(dx, 2)*pow(dy, 3)*pow(dz, 2)*particles[l].muy; - cells[p].My[102] += -1.0L/24.0L*pow(dx, 2)*pow(dy, 2)*pow(dz, 3)*particles[l].muy; - cells[p].My[103] += -1.0L/48.0L*pow(dx, 2)*dy*pow(dz, 4)*particles[l].muy; - cells[p].My[104] += -1.0L/240.0L*pow(dx, 2)*pow(dz, 5)*particles[l].muy; - cells[p].My[105] += -1.0L/720.0L*dx*pow(dy, 6)*particles[l].muy; - cells[p].My[106] += -1.0L/120.0L*dx*pow(dy, 5)*dz*particles[l].muy; - cells[p].My[107] += -1.0L/48.0L*dx*pow(dy, 4)*pow(dz, 2)*particles[l].muy; - cells[p].My[108] += -1.0L/36.0L*dx*pow(dy, 3)*pow(dz, 3)*particles[l].muy; - cells[p].My[109] += -1.0L/48.0L*dx*pow(dy, 2)*pow(dz, 4)*particles[l].muy; - cells[p].My[110] += -1.0L/120.0L*dx*dy*pow(dz, 5)*particles[l].muy; - cells[p].My[111] += -1.0L/720.0L*dx*pow(dz, 6)*particles[l].muy; - cells[p].My[112] += -1.0L/5040.0L*pow(dy, 7)*particles[l].muy; - cells[p].My[113] += -1.0L/720.0L*pow(dy, 6)*dz*particles[l].muy; - cells[p].My[114] += -1.0L/240.0L*pow(dy, 5)*pow(dz, 2)*particles[l].muy; - cells[p].My[115] += -1.0L/144.0L*pow(dy, 4)*pow(dz, 3)*particles[l].muy; - cells[p].My[116] += -1.0L/144.0L*pow(dy, 3)*pow(dz, 4)*particles[l].muy; - cells[p].My[117] += -1.0L/240.0L*pow(dy, 2)*pow(dz, 5)*particles[l].muy; - cells[p].My[118] += -1.0L/720.0L*dy*pow(dz, 6)*particles[l].muy; - cells[p].My[119] += -1.0L/5040.0L*pow(dz, 7)*particles[l].muy; - cells[p].Mz[0] += particles[l].muz; - cells[p].Mz[1] += -dx*particles[l].muz; - cells[p].Mz[2] += -dy*particles[l].muz; - cells[p].Mz[3] += -dz*particles[l].muz; - cells[p].Mz[4] += (1.0L/2.0L)*pow(dx, 2)*particles[l].muz; - cells[p].Mz[5] += dx*dy*particles[l].muz; - cells[p].Mz[6] += dx*dz*particles[l].muz; - cells[p].Mz[7] += (1.0L/2.0L)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[8] += dy*dz*particles[l].muz; - cells[p].Mz[9] += (1.0L/2.0L)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[10] += -1.0L/6.0L*pow(dx, 3)*particles[l].muz; - cells[p].Mz[11] += -1.0L/2.0L*pow(dx, 2)*dy*particles[l].muz; - cells[p].Mz[12] += -1.0L/2.0L*pow(dx, 2)*dz*particles[l].muz; - cells[p].Mz[13] += -1.0L/2.0L*dx*pow(dy, 2)*particles[l].muz; - cells[p].Mz[14] += -dx*dy*dz*particles[l].muz; - cells[p].Mz[15] += -1.0L/2.0L*dx*pow(dz, 2)*particles[l].muz; - cells[p].Mz[16] += -1.0L/6.0L*pow(dy, 3)*particles[l].muz; - cells[p].Mz[17] += -1.0L/2.0L*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[18] += -1.0L/2.0L*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[19] += -1.0L/6.0L*pow(dz, 3)*particles[l].muz; - cells[p].Mz[20] += (1.0L/24.0L)*pow(dx, 4)*particles[l].muz; - cells[p].Mz[21] += (1.0L/6.0L)*pow(dx, 3)*dy*particles[l].muz; - cells[p].Mz[22] += (1.0L/6.0L)*pow(dx, 3)*dz*particles[l].muz; - cells[p].Mz[23] += (1.0L/4.0L)*pow(dx, 2)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[24] += (1.0L/2.0L)*pow(dx, 2)*dy*dz*particles[l].muz; - cells[p].Mz[25] += (1.0L/4.0L)*pow(dx, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[26] += (1.0L/6.0L)*dx*pow(dy, 3)*particles[l].muz; - cells[p].Mz[27] += (1.0L/2.0L)*dx*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[28] += (1.0L/2.0L)*dx*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[29] += (1.0L/6.0L)*dx*pow(dz, 3)*particles[l].muz; - cells[p].Mz[30] += (1.0L/24.0L)*pow(dy, 4)*particles[l].muz; - cells[p].Mz[31] += (1.0L/6.0L)*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[32] += (1.0L/4.0L)*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[33] += (1.0L/6.0L)*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[34] += (1.0L/24.0L)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[35] += -1.0L/120.0L*pow(dx, 5)*particles[l].muz; - cells[p].Mz[36] += -1.0L/24.0L*pow(dx, 4)*dy*particles[l].muz; - cells[p].Mz[37] += -1.0L/24.0L*pow(dx, 4)*dz*particles[l].muz; - cells[p].Mz[38] += -1.0L/12.0L*pow(dx, 3)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[39] += -1.0L/6.0L*pow(dx, 3)*dy*dz*particles[l].muz; - cells[p].Mz[40] += -1.0L/12.0L*pow(dx, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[41] += -1.0L/12.0L*pow(dx, 2)*pow(dy, 3)*particles[l].muz; - cells[p].Mz[42] += -1.0L/4.0L*pow(dx, 2)*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[43] += -1.0L/4.0L*pow(dx, 2)*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[44] += -1.0L/12.0L*pow(dx, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[45] += -1.0L/24.0L*dx*pow(dy, 4)*particles[l].muz; - cells[p].Mz[46] += -1.0L/6.0L*dx*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[47] += -1.0L/4.0L*dx*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[48] += -1.0L/6.0L*dx*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[49] += -1.0L/24.0L*dx*pow(dz, 4)*particles[l].muz; - cells[p].Mz[50] += -1.0L/120.0L*pow(dy, 5)*particles[l].muz; - cells[p].Mz[51] += -1.0L/24.0L*pow(dy, 4)*dz*particles[l].muz; - cells[p].Mz[52] += -1.0L/12.0L*pow(dy, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[53] += -1.0L/12.0L*pow(dy, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[54] += -1.0L/24.0L*dy*pow(dz, 4)*particles[l].muz; - cells[p].Mz[55] += -1.0L/120.0L*pow(dz, 5)*particles[l].muz; - cells[p].Mz[56] += (1.0L/720.0L)*pow(dx, 6)*particles[l].muz; - cells[p].Mz[57] += (1.0L/120.0L)*pow(dx, 5)*dy*particles[l].muz; - cells[p].Mz[58] += (1.0L/120.0L)*pow(dx, 5)*dz*particles[l].muz; - cells[p].Mz[59] += (1.0L/48.0L)*pow(dx, 4)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[60] += (1.0L/24.0L)*pow(dx, 4)*dy*dz*particles[l].muz; - cells[p].Mz[61] += (1.0L/48.0L)*pow(dx, 4)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[62] += (1.0L/36.0L)*pow(dx, 3)*pow(dy, 3)*particles[l].muz; - cells[p].Mz[63] += (1.0L/12.0L)*pow(dx, 3)*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[64] += (1.0L/12.0L)*pow(dx, 3)*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[65] += (1.0L/36.0L)*pow(dx, 3)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[66] += (1.0L/48.0L)*pow(dx, 2)*pow(dy, 4)*particles[l].muz; - cells[p].Mz[67] += (1.0L/12.0L)*pow(dx, 2)*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[68] += (1.0L/8.0L)*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[69] += (1.0L/12.0L)*pow(dx, 2)*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[70] += (1.0L/48.0L)*pow(dx, 2)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[71] += (1.0L/120.0L)*dx*pow(dy, 5)*particles[l].muz; - cells[p].Mz[72] += (1.0L/24.0L)*dx*pow(dy, 4)*dz*particles[l].muz; - cells[p].Mz[73] += (1.0L/12.0L)*dx*pow(dy, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[74] += (1.0L/12.0L)*dx*pow(dy, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[75] += (1.0L/24.0L)*dx*dy*pow(dz, 4)*particles[l].muz; - cells[p].Mz[76] += (1.0L/120.0L)*dx*pow(dz, 5)*particles[l].muz; - cells[p].Mz[77] += (1.0L/720.0L)*pow(dy, 6)*particles[l].muz; - cells[p].Mz[78] += (1.0L/120.0L)*pow(dy, 5)*dz*particles[l].muz; - cells[p].Mz[79] += (1.0L/48.0L)*pow(dy, 4)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[80] += (1.0L/36.0L)*pow(dy, 3)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[81] += (1.0L/48.0L)*pow(dy, 2)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[82] += (1.0L/120.0L)*dy*pow(dz, 5)*particles[l].muz; - cells[p].Mz[83] += (1.0L/720.0L)*pow(dz, 6)*particles[l].muz; - cells[p].Mz[84] += -1.0L/5040.0L*pow(dx, 7)*particles[l].muz; - cells[p].Mz[85] += -1.0L/720.0L*pow(dx, 6)*dy*particles[l].muz; - cells[p].Mz[86] += -1.0L/720.0L*pow(dx, 6)*dz*particles[l].muz; - cells[p].Mz[87] += -1.0L/240.0L*pow(dx, 5)*pow(dy, 2)*particles[l].muz; - cells[p].Mz[88] += -1.0L/120.0L*pow(dx, 5)*dy*dz*particles[l].muz; - cells[p].Mz[89] += -1.0L/240.0L*pow(dx, 5)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[90] += -1.0L/144.0L*pow(dx, 4)*pow(dy, 3)*particles[l].muz; - cells[p].Mz[91] += -1.0L/48.0L*pow(dx, 4)*pow(dy, 2)*dz*particles[l].muz; - cells[p].Mz[92] += -1.0L/48.0L*pow(dx, 4)*dy*pow(dz, 2)*particles[l].muz; - cells[p].Mz[93] += -1.0L/144.0L*pow(dx, 4)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[94] += -1.0L/144.0L*pow(dx, 3)*pow(dy, 4)*particles[l].muz; - cells[p].Mz[95] += -1.0L/36.0L*pow(dx, 3)*pow(dy, 3)*dz*particles[l].muz; - cells[p].Mz[96] += -1.0L/24.0L*pow(dx, 3)*pow(dy, 2)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[97] += -1.0L/36.0L*pow(dx, 3)*dy*pow(dz, 3)*particles[l].muz; - cells[p].Mz[98] += -1.0L/144.0L*pow(dx, 3)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[99] += -1.0L/240.0L*pow(dx, 2)*pow(dy, 5)*particles[l].muz; - cells[p].Mz[100] += -1.0L/48.0L*pow(dx, 2)*pow(dy, 4)*dz*particles[l].muz; - cells[p].Mz[101] += -1.0L/24.0L*pow(dx, 2)*pow(dy, 3)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[102] += -1.0L/24.0L*pow(dx, 2)*pow(dy, 2)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[103] += -1.0L/48.0L*pow(dx, 2)*dy*pow(dz, 4)*particles[l].muz; - cells[p].Mz[104] += -1.0L/240.0L*pow(dx, 2)*pow(dz, 5)*particles[l].muz; - cells[p].Mz[105] += -1.0L/720.0L*dx*pow(dy, 6)*particles[l].muz; - cells[p].Mz[106] += -1.0L/120.0L*dx*pow(dy, 5)*dz*particles[l].muz; - cells[p].Mz[107] += -1.0L/48.0L*dx*pow(dy, 4)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[108] += -1.0L/36.0L*dx*pow(dy, 3)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[109] += -1.0L/48.0L*dx*pow(dy, 2)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[110] += -1.0L/120.0L*dx*dy*pow(dz, 5)*particles[l].muz; - cells[p].Mz[111] += -1.0L/720.0L*dx*pow(dz, 6)*particles[l].muz; - cells[p].Mz[112] += -1.0L/5040.0L*pow(dy, 7)*particles[l].muz; - cells[p].Mz[113] += -1.0L/720.0L*pow(dy, 6)*dz*particles[l].muz; - cells[p].Mz[114] += -1.0L/240.0L*pow(dy, 5)*pow(dz, 2)*particles[l].muz; - cells[p].Mz[115] += -1.0L/144.0L*pow(dy, 4)*pow(dz, 3)*particles[l].muz; - cells[p].Mz[116] += -1.0L/144.0L*pow(dy, 3)*pow(dz, 4)*particles[l].muz; - cells[p].Mz[117] += -1.0L/240.0L*pow(dy, 2)*pow(dz, 5)*particles[l].muz; - cells[p].Mz[118] += -1.0L/720.0L*dy*pow(dz, 6)*particles[l].muz; - cells[p].Mz[119] += -1.0L/5040.0L*pow(dz, 7)*particles[l].muz; - } - } -} - - -void M2M_7(unsigned int p, unsigned int c, std::vector &cells) { -double dx = (cells[p].x - cells[c].x); -double dy = (cells[p].y - cells[c].y); -double dz = (cells[p].z - cells[c].z); - cells[p].Mx[0] += cells[c].Mx[0]; - cells[p].Mx[1] += cells[c].Mx[0]*dx + cells[c].Mx[1]; - cells[p].Mx[2] += cells[c].Mx[0]*dy + cells[c].Mx[2]; - cells[p].Mx[3] += cells[c].Mx[0]*dz + cells[c].Mx[3]; - cells[p].Mx[4] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2) + cells[c].Mx[1]*dx + cells[c].Mx[4]; - cells[p].Mx[5] += cells[c].Mx[0]*dx*dy + cells[c].Mx[1]*dy + cells[c].Mx[2]*dx + cells[c].Mx[5]; - cells[p].Mx[6] += cells[c].Mx[0]*dx*dz + cells[c].Mx[1]*dz + cells[c].Mx[3]*dx + cells[c].Mx[6]; - cells[p].Mx[7] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2) + cells[c].Mx[2]*dy + cells[c].Mx[7]; - cells[p].Mx[8] += cells[c].Mx[0]*dy*dz + cells[c].Mx[2]*dz + cells[c].Mx[3]*dy + cells[c].Mx[8]; - cells[p].Mx[9] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dz, 2) + cells[c].Mx[3]*dz + cells[c].Mx[9]; - cells[p].Mx[10] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3) + cells[c].Mx[10] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2) + cells[c].Mx[4]*dx; - cells[p].Mx[11] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy + cells[c].Mx[11] + cells[c].Mx[1]*dx*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2) + cells[c].Mx[4]*dy + cells[c].Mx[5]*dx; - cells[p].Mx[12] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dz + cells[c].Mx[12] + cells[c].Mx[1]*dx*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2) + cells[c].Mx[4]*dz + cells[c].Mx[6]*dx; - cells[p].Mx[13] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2) + cells[c].Mx[13] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2) + cells[c].Mx[2]*dx*dy + cells[c].Mx[5]*dy + cells[c].Mx[7]*dx; - cells[p].Mx[14] += cells[c].Mx[0]*dx*dy*dz + cells[c].Mx[14] + cells[c].Mx[1]*dy*dz + cells[c].Mx[2]*dx*dz + cells[c].Mx[3]*dx*dy + cells[c].Mx[5]*dz + cells[c].Mx[6]*dy + cells[c].Mx[8]*dx; - cells[p].Mx[15] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dz, 2) + cells[c].Mx[15] + (1.0L/2.0L)*cells[c].Mx[1]*pow(dz, 2) + cells[c].Mx[3]*dx*dz + cells[c].Mx[6]*dz + cells[c].Mx[9]*dx; - cells[p].Mx[16] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3) + cells[c].Mx[16] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2) + cells[c].Mx[7]*dy; - cells[p].Mx[17] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dy, 2)*dz + cells[c].Mx[17] + cells[c].Mx[2]*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2) + cells[c].Mx[7]*dz + cells[c].Mx[8]*dy; - cells[p].Mx[18] += (1.0L/2.0L)*cells[c].Mx[0]*dy*pow(dz, 2) + cells[c].Mx[18] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dz, 2) + cells[c].Mx[3]*dy*dz + cells[c].Mx[8]*dz + cells[c].Mx[9]*dy; - cells[p].Mx[19] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dz, 3) + cells[c].Mx[19] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dz, 2) + cells[c].Mx[9]*dz; - cells[p].Mx[20] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4) + cells[c].Mx[10]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3) + cells[c].Mx[20] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2); - cells[p].Mx[21] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dy + cells[c].Mx[10]*dy + cells[c].Mx[11]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dy + cells[c].Mx[21] + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3) + cells[c].Mx[4]*dx*dy + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2); - cells[p].Mx[22] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dz + cells[c].Mx[10]*dz + cells[c].Mx[12]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dz + cells[c].Mx[22] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3) + cells[c].Mx[4]*dx*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2); - cells[p].Mx[23] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[11]*dy + cells[c].Mx[13]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dy, 2) + cells[c].Mx[23] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mx[4]*pow(dy, 2) + cells[c].Mx[5]*dx*dy + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2); - cells[p].Mx[24] += (1.0L/2.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*dz + cells[c].Mx[11]*dz + cells[c].Mx[12]*dy + cells[c].Mx[14]*dx + cells[c].Mx[1]*dx*dy*dz + cells[c].Mx[24] + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dy + cells[c].Mx[4]*dy*dz + cells[c].Mx[5]*dx*dz + cells[c].Mx[6]*dx*dy + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2); - cells[p].Mx[25] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[12]*dz + cells[c].Mx[15]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dz, 2) + cells[c].Mx[25] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[4]*pow(dz, 2) + cells[c].Mx[6]*dx*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2); - cells[p].Mx[26] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dy, 3) + cells[c].Mx[13]*dy + cells[c].Mx[16]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dy, 3) + cells[c].Mx[26] + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[5]*pow(dy, 2) + cells[c].Mx[7]*dx*dy; - cells[p].Mx[27] += (1.0L/2.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*dz + cells[c].Mx[13]*dz + cells[c].Mx[14]*dy + cells[c].Mx[17]*dx + (1.0L/2.0L)*cells[c].Mx[1]*pow(dy, 2)*dz + cells[c].Mx[27] + cells[c].Mx[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dy, 2) + cells[c].Mx[5]*dy*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dy, 2) + cells[c].Mx[7]*dx*dz + cells[c].Mx[8]*dx*dy; - cells[p].Mx[28] += (1.0L/2.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 2) + cells[c].Mx[14]*dz + cells[c].Mx[15]*dy + cells[c].Mx[18]*dx + (1.0L/2.0L)*cells[c].Mx[1]*dy*pow(dz, 2) + cells[c].Mx[28] + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dz, 2) + cells[c].Mx[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dz, 2) + cells[c].Mx[6]*dy*dz + cells[c].Mx[8]*dx*dz + cells[c].Mx[9]*dx*dy; - cells[p].Mx[29] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dz, 3) + cells[c].Mx[15]*dz + cells[c].Mx[19]*dx + (1.0L/6.0L)*cells[c].Mx[1]*pow(dz, 3) + cells[c].Mx[29] + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dz, 2) + cells[c].Mx[9]*dx*dz; - cells[p].Mx[30] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dy, 4) + cells[c].Mx[16]*dy + (1.0L/6.0L)*cells[c].Mx[2]*pow(dy, 3) + cells[c].Mx[30] + (1.0L/2.0L)*cells[c].Mx[7]*pow(dy, 2); - cells[p].Mx[31] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dy, 3)*dz + cells[c].Mx[16]*dz + cells[c].Mx[17]*dy + (1.0L/2.0L)*cells[c].Mx[2]*pow(dy, 2)*dz + cells[c].Mx[31] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dy, 3) + cells[c].Mx[7]*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dy, 2); - cells[p].Mx[32] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[17]*dz + cells[c].Mx[18]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dy*pow(dz, 2) + cells[c].Mx[32] + (1.0L/2.0L)*cells[c].Mx[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[7]*pow(dz, 2) + cells[c].Mx[8]*dy*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dy, 2); - cells[p].Mx[33] += (1.0L/6.0L)*cells[c].Mx[0]*dy*pow(dz, 3) + cells[c].Mx[18]*dz + cells[c].Mx[19]*dy + (1.0L/6.0L)*cells[c].Mx[2]*pow(dz, 3) + cells[c].Mx[33] + (1.0L/2.0L)*cells[c].Mx[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dz, 2) + cells[c].Mx[9]*dy*dz; - cells[p].Mx[34] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dz, 4) + cells[c].Mx[19]*dz + cells[c].Mx[34] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dz, 2); - cells[p].Mx[35] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dx, 4) + cells[c].Mx[20]*dx + cells[c].Mx[35] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dx, 3); - cells[p].Mx[36] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4)*dy + cells[c].Mx[10]*dx*dy + (1.0L/2.0L)*cells[c].Mx[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3)*dy + cells[c].Mx[20]*dy + cells[c].Mx[21]*dx + (1.0L/24.0L)*cells[c].Mx[2]*pow(dx, 4) + cells[c].Mx[36] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[5]*pow(dx, 3); - cells[p].Mx[37] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4)*dz + cells[c].Mx[10]*dx*dz + (1.0L/2.0L)*cells[c].Mx[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3)*dz + cells[c].Mx[20]*dz + cells[c].Mx[22]*dx + cells[c].Mx[37] + (1.0L/24.0L)*cells[c].Mx[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[6]*pow(dx, 3); - cells[p].Mx[38] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dy, 2) + cells[c].Mx[11]*dx*dy + (1.0L/2.0L)*cells[c].Mx[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[21]*dy + cells[c].Mx[23]*dx + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3)*dy + cells[c].Mx[38] + (1.0L/2.0L)*cells[c].Mx[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[7]*pow(dx, 3); - cells[p].Mx[39] += (1.0L/6.0L)*cells[c].Mx[0]*pow(dx, 3)*dy*dz + cells[c].Mx[10]*dy*dz + cells[c].Mx[11]*dx*dz + cells[c].Mx[12]*dx*dy + (1.0L/2.0L)*cells[c].Mx[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*pow(dx, 2)*dy*dz + cells[c].Mx[21]*dz + cells[c].Mx[22]*dy + cells[c].Mx[24]*dx + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3)*dz + cells[c].Mx[39] + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3)*dy + cells[c].Mx[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[8]*pow(dx, 3); - cells[p].Mx[40] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[10]*pow(dz, 2) + cells[c].Mx[12]*dx*dz + (1.0L/2.0L)*cells[c].Mx[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[22]*dz + cells[c].Mx[25]*dx + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3)*dz + cells[c].Mx[40] + (1.0L/2.0L)*cells[c].Mx[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[9]*pow(dx, 3); - cells[p].Mx[41] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[11]*pow(dy, 2) + cells[c].Mx[13]*dx*dy + (1.0L/2.0L)*cells[c].Mx[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*dx*pow(dy, 3) + cells[c].Mx[23]*dy + cells[c].Mx[26]*dx + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[41] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2)*dy; - cells[p].Mx[42] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[11]*dy*dz + (1.0L/2.0L)*cells[c].Mx[12]*pow(dy, 2) + cells[c].Mx[13]*dx*dz + cells[c].Mx[14]*dx*dy + (1.0L/2.0L)*cells[c].Mx[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*dx*pow(dy, 2)*dz + cells[c].Mx[23]*dz + cells[c].Mx[24]*dy + cells[c].Mx[27]*dx + (1.0L/2.0L)*cells[c].Mx[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[42] + (1.0L/2.0L)*cells[c].Mx[4]*pow(dy, 2)*dz + cells[c].Mx[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2)*dy; - cells[p].Mx[43] += (1.0L/4.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[11]*pow(dz, 2) + cells[c].Mx[12]*dy*dz + cells[c].Mx[14]*dx*dz + cells[c].Mx[15]*dx*dy + (1.0L/2.0L)*cells[c].Mx[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mx[1]*dx*dy*pow(dz, 2) + cells[c].Mx[24]*dz + cells[c].Mx[25]*dy + cells[c].Mx[28]*dx + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[3]*pow(dx, 2)*dy*dz + cells[c].Mx[43] + (1.0L/2.0L)*cells[c].Mx[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[5]*dx*pow(dz, 2) + cells[c].Mx[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2)*dy; - cells[p].Mx[44] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[12]*pow(dz, 2) + cells[c].Mx[15]*dx*dz + (1.0L/2.0L)*cells[c].Mx[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[1]*dx*pow(dz, 3) + cells[c].Mx[25]*dz + cells[c].Mx[29]*dx + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[44] + (1.0L/6.0L)*cells[c].Mx[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2)*dz; - cells[p].Mx[45] += (1.0L/24.0L)*cells[c].Mx[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dy, 2) + cells[c].Mx[16]*dx*dy + (1.0L/24.0L)*cells[c].Mx[1]*pow(dy, 4) + cells[c].Mx[26]*dy + (1.0L/6.0L)*cells[c].Mx[2]*dx*pow(dy, 3) + cells[c].Mx[30]*dx + cells[c].Mx[45] + (1.0L/6.0L)*cells[c].Mx[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[7]*dx*pow(dy, 2); - cells[p].Mx[46] += (1.0L/6.0L)*cells[c].Mx[0]*dx*pow(dy, 3)*dz + cells[c].Mx[13]*dy*dz + (1.0L/2.0L)*cells[c].Mx[14]*pow(dy, 2) + cells[c].Mx[16]*dx*dz + cells[c].Mx[17]*dx*dy + (1.0L/6.0L)*cells[c].Mx[1]*pow(dy, 3)*dz + cells[c].Mx[26]*dz + cells[c].Mx[27]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dx*pow(dy, 2)*dz + cells[c].Mx[31]*dx + (1.0L/6.0L)*cells[c].Mx[3]*dx*pow(dy, 3) + cells[c].Mx[46] + (1.0L/2.0L)*cells[c].Mx[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[6]*pow(dy, 3) + cells[c].Mx[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[8]*dx*pow(dy, 2); - cells[p].Mx[47] += (1.0L/4.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dz, 2) + cells[c].Mx[14]*dy*dz + (1.0L/2.0L)*cells[c].Mx[15]*pow(dy, 2) + cells[c].Mx[17]*dx*dz + cells[c].Mx[18]*dx*dy + (1.0L/4.0L)*cells[c].Mx[1]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[27]*dz + cells[c].Mx[28]*dy + (1.0L/2.0L)*cells[c].Mx[2]*dx*dy*pow(dz, 2) + cells[c].Mx[32]*dx + (1.0L/2.0L)*cells[c].Mx[3]*dx*pow(dy, 2)*dz + cells[c].Mx[47] + (1.0L/2.0L)*cells[c].Mx[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[7]*dx*pow(dz, 2) + cells[c].Mx[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[9]*dx*pow(dy, 2); - cells[p].Mx[48] += (1.0L/6.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[14]*pow(dz, 2) + cells[c].Mx[15]*dy*dz + cells[c].Mx[18]*dx*dz + cells[c].Mx[19]*dx*dy + (1.0L/6.0L)*cells[c].Mx[1]*dy*pow(dz, 3) + cells[c].Mx[28]*dz + cells[c].Mx[29]*dy + (1.0L/6.0L)*cells[c].Mx[2]*dx*pow(dz, 3) + cells[c].Mx[33]*dx + (1.0L/2.0L)*cells[c].Mx[3]*dx*dy*pow(dz, 2) + cells[c].Mx[48] + (1.0L/6.0L)*cells[c].Mx[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*dx*pow(dz, 2) + cells[c].Mx[9]*dx*dy*dz; - cells[p].Mx[49] += (1.0L/24.0L)*cells[c].Mx[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[15]*pow(dz, 2) + cells[c].Mx[19]*dx*dz + (1.0L/24.0L)*cells[c].Mx[1]*pow(dz, 4) + cells[c].Mx[29]*dz + cells[c].Mx[34]*dx + (1.0L/6.0L)*cells[c].Mx[3]*dx*pow(dz, 3) + cells[c].Mx[49] + (1.0L/6.0L)*cells[c].Mx[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*dx*pow(dz, 2); - cells[p].Mx[50] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dy, 4) + cells[c].Mx[30]*dy + cells[c].Mx[50] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dy, 3); - cells[p].Mx[51] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dy, 4)*dz + cells[c].Mx[16]*dy*dz + (1.0L/2.0L)*cells[c].Mx[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*pow(dy, 3)*dz + cells[c].Mx[30]*dz + cells[c].Mx[31]*dy + (1.0L/24.0L)*cells[c].Mx[3]*pow(dy, 4) + cells[c].Mx[51] + (1.0L/2.0L)*cells[c].Mx[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[8]*pow(dy, 3); - cells[p].Mx[52] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dz, 2) + cells[c].Mx[17]*dy*dz + (1.0L/2.0L)*cells[c].Mx[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mx[2]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[31]*dz + cells[c].Mx[32]*dy + (1.0L/6.0L)*cells[c].Mx[3]*pow(dy, 3)*dz + cells[c].Mx[52] + (1.0L/2.0L)*cells[c].Mx[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[9]*pow(dy, 3); - cells[p].Mx[53] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[17]*pow(dz, 2) + cells[c].Mx[18]*dy*dz + (1.0L/2.0L)*cells[c].Mx[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*dy*pow(dz, 3) + cells[c].Mx[32]*dz + cells[c].Mx[33]*dy + (1.0L/4.0L)*cells[c].Mx[3]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[53] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dy, 2)*dz; - cells[p].Mx[54] += (1.0L/24.0L)*cells[c].Mx[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[18]*pow(dz, 2) + cells[c].Mx[19]*dy*dz + (1.0L/24.0L)*cells[c].Mx[2]*pow(dz, 4) + cells[c].Mx[33]*dz + cells[c].Mx[34]*dy + (1.0L/6.0L)*cells[c].Mx[3]*dy*pow(dz, 3) + cells[c].Mx[54] + (1.0L/6.0L)*cells[c].Mx[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*dy*pow(dz, 2); - cells[p].Mx[55] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[19]*pow(dz, 2) + cells[c].Mx[34]*dz + (1.0L/24.0L)*cells[c].Mx[3]*pow(dz, 4) + cells[c].Mx[55] + (1.0L/6.0L)*cells[c].Mx[9]*pow(dz, 3); - cells[p].Mx[56] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dx, 6) + (1.0L/6.0L)*cells[c].Mx[10]*pow(dx, 3) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mx[20]*pow(dx, 2) + cells[c].Mx[35]*dx + (1.0L/24.0L)*cells[c].Mx[4]*pow(dx, 4) + cells[c].Mx[56]; - cells[p].Mx[57] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].Mx[10]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[11]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dx, 4)*dy + cells[c].Mx[20]*dx*dy + (1.0L/2.0L)*cells[c].Mx[21]*pow(dx, 2) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dx, 5) + cells[c].Mx[35]*dy + cells[c].Mx[36]*dx + (1.0L/6.0L)*cells[c].Mx[4]*pow(dx, 3)*dy + cells[c].Mx[57] + (1.0L/24.0L)*cells[c].Mx[5]*pow(dx, 4); - cells[p].Mx[58] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].Mx[10]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[12]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dx, 4)*dz + cells[c].Mx[20]*dx*dz + (1.0L/2.0L)*cells[c].Mx[22]*pow(dx, 2) + cells[c].Mx[35]*dz + cells[c].Mx[37]*dx + (1.0L/120.0L)*cells[c].Mx[3]*pow(dx, 5) + (1.0L/6.0L)*cells[c].Mx[4]*pow(dx, 3)*dz + cells[c].Mx[58] + (1.0L/24.0L)*cells[c].Mx[6]*pow(dx, 4); - cells[p].Mx[59] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[10]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[11]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[13]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[20]*pow(dy, 2) + cells[c].Mx[21]*dx*dy + (1.0L/2.0L)*cells[c].Mx[23]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dx, 4)*dy + cells[c].Mx[36]*dy + cells[c].Mx[38]*dx + (1.0L/4.0L)*cells[c].Mx[4]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[59] + (1.0L/6.0L)*cells[c].Mx[5]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[7]*pow(dx, 4); - cells[p].Mx[60] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 4)*dy*dz + cells[c].Mx[10]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[11]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[12]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[14]*pow(dx, 3) + (1.0L/6.0L)*cells[c].Mx[1]*pow(dx, 3)*dy*dz + cells[c].Mx[20]*dy*dz + cells[c].Mx[21]*dx*dz + cells[c].Mx[22]*dx*dy + (1.0L/2.0L)*cells[c].Mx[24]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dx, 4)*dz + cells[c].Mx[36]*dz + cells[c].Mx[37]*dy + cells[c].Mx[39]*dx + (1.0L/24.0L)*cells[c].Mx[3]*pow(dx, 4)*dy + (1.0L/2.0L)*cells[c].Mx[4]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mx[5]*pow(dx, 3)*dz + cells[c].Mx[60] + (1.0L/6.0L)*cells[c].Mx[6]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[8]*pow(dx, 4); - cells[p].Mx[61] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[10]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[12]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[15]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[20]*pow(dz, 2) + cells[c].Mx[22]*dx*dz + (1.0L/2.0L)*cells[c].Mx[25]*pow(dx, 2) + cells[c].Mx[37]*dz + (1.0L/24.0L)*cells[c].Mx[3]*pow(dx, 4)*dz + cells[c].Mx[40]*dx + (1.0L/4.0L)*cells[c].Mx[4]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[61] + (1.0L/6.0L)*cells[c].Mx[6]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mx[9]*pow(dx, 4); - cells[p].Mx[62] += (1.0L/36.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mx[10]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[11]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[16]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[21]*pow(dy, 2) + cells[c].Mx[23]*dx*dy + (1.0L/2.0L)*cells[c].Mx[26]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 3)*pow(dy, 2) + cells[c].Mx[38]*dy + cells[c].Mx[41]*dx + (1.0L/6.0L)*cells[c].Mx[4]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mx[5]*pow(dx, 2)*pow(dy, 2) + cells[c].Mx[62] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dx, 3)*dy; - cells[p].Mx[63] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[10]*pow(dy, 2)*dz + cells[c].Mx[11]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[12]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[14]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[17]*pow(dx, 3) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[21]*dy*dz + (1.0L/2.0L)*cells[c].Mx[22]*pow(dy, 2) + cells[c].Mx[23]*dx*dz + cells[c].Mx[24]*dx*dy + (1.0L/2.0L)*cells[c].Mx[27]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[2]*pow(dx, 3)*dy*dz + cells[c].Mx[38]*dz + cells[c].Mx[39]*dy + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 3)*pow(dy, 2) + cells[c].Mx[42]*dx + (1.0L/2.0L)*cells[c].Mx[4]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[5]*pow(dx, 2)*dy*dz + cells[c].Mx[63] + (1.0L/4.0L)*cells[c].Mx[6]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[7]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[8]*pow(dx, 3)*dy; - cells[p].Mx[64] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[10]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[11]*dx*pow(dz, 2) + cells[c].Mx[12]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[14]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[15]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[18]*pow(dx, 3) + (1.0L/4.0L)*cells[c].Mx[1]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[21]*pow(dz, 2) + cells[c].Mx[22]*dy*dz + cells[c].Mx[24]*dx*dz + cells[c].Mx[25]*dx*dy + (1.0L/2.0L)*cells[c].Mx[28]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 3)*pow(dz, 2) + cells[c].Mx[39]*dz + (1.0L/6.0L)*cells[c].Mx[3]*pow(dx, 3)*dy*dz + cells[c].Mx[40]*dy + cells[c].Mx[43]*dx + (1.0L/2.0L)*cells[c].Mx[4]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[5]*pow(dx, 2)*pow(dz, 2) + cells[c].Mx[64] + (1.0L/2.0L)*cells[c].Mx[6]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mx[8]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[9]*pow(dx, 3)*dy; - cells[p].Mx[65] += (1.0L/36.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[10]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[12]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[15]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[19]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[22]*pow(dz, 2) + cells[c].Mx[25]*dx*dz + (1.0L/2.0L)*cells[c].Mx[29]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 3)*pow(dz, 2) + cells[c].Mx[40]*dz + cells[c].Mx[44]*dx + (1.0L/6.0L)*cells[c].Mx[4]*dx*pow(dz, 3) + cells[c].Mx[65] + (1.0L/4.0L)*cells[c].Mx[6]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[9]*pow(dx, 3)*dz; - cells[p].Mx[66] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mx[11]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[13]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dx, 2)*dy + (1.0L/24.0L)*cells[c].Mx[1]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[23]*pow(dy, 2) + cells[c].Mx[26]*dx*dy + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[30]*pow(dx, 2) + cells[c].Mx[41]*dy + cells[c].Mx[45]*dx + (1.0L/24.0L)*cells[c].Mx[4]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mx[5]*dx*pow(dy, 3) + cells[c].Mx[66] + (1.0L/4.0L)*cells[c].Mx[7]*pow(dx, 2)*pow(dy, 2); - cells[p].Mx[67] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[11]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[12]*pow(dy, 3) + cells[c].Mx[13]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[14]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[17]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[1]*dx*pow(dy, 3)*dz + cells[c].Mx[23]*dy*dz + (1.0L/2.0L)*cells[c].Mx[24]*pow(dy, 2) + cells[c].Mx[26]*dx*dz + cells[c].Mx[27]*dx*dy + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[31]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 3) + cells[c].Mx[41]*dz + cells[c].Mx[42]*dy + cells[c].Mx[46]*dx + (1.0L/6.0L)*cells[c].Mx[4]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[5]*dx*pow(dy, 2)*dz + cells[c].Mx[67] + (1.0L/6.0L)*cells[c].Mx[6]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[7]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[8]*pow(dx, 2)*pow(dy, 2); - cells[p].Mx[68] += (1.0L/8.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[11]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[12]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[13]*dx*pow(dz, 2) + cells[c].Mx[14]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[15]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[17]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[18]*pow(dx, 2)*dy + (1.0L/4.0L)*cells[c].Mx[1]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[23]*pow(dz, 2) + cells[c].Mx[24]*dy*dz + (1.0L/2.0L)*cells[c].Mx[25]*pow(dy, 2) + cells[c].Mx[27]*dx*dz + cells[c].Mx[28]*dx*dy + (1.0L/4.0L)*cells[c].Mx[2]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[32]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[42]*dz + cells[c].Mx[43]*dy + cells[c].Mx[47]*dx + (1.0L/4.0L)*cells[c].Mx[4]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[5]*dx*dy*pow(dz, 2) + cells[c].Mx[68] + (1.0L/2.0L)*cells[c].Mx[6]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].Mx[7]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[9]*pow(dx, 2)*pow(dy, 2); - cells[p].Mx[69] += (1.0L/12.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[11]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[12]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[14]*dx*pow(dz, 2) + cells[c].Mx[15]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[18]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[19]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[1]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[24]*pow(dz, 2) + cells[c].Mx[25]*dy*dz + cells[c].Mx[28]*dx*dz + cells[c].Mx[29]*dx*dy + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[33]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[3]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].Mx[43]*dz + cells[c].Mx[44]*dy + cells[c].Mx[48]*dx + (1.0L/6.0L)*cells[c].Mx[4]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[5]*dx*pow(dz, 3) + cells[c].Mx[69] + (1.0L/2.0L)*cells[c].Mx[6]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[8]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*pow(dx, 2)*dy*dz; - cells[p].Mx[70] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[12]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[15]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[19]*pow(dx, 2)*dz + (1.0L/24.0L)*cells[c].Mx[1]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[25]*pow(dz, 2) + cells[c].Mx[29]*dx*dz + (1.0L/2.0L)*cells[c].Mx[34]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dz, 3) + cells[c].Mx[44]*dz + cells[c].Mx[49]*dx + (1.0L/24.0L)*cells[c].Mx[4]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[6]*dx*pow(dz, 3) + cells[c].Mx[70] + (1.0L/4.0L)*cells[c].Mx[9]*pow(dx, 2)*pow(dz, 2); - cells[p].Mx[71] += (1.0L/120.0L)*cells[c].Mx[0]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].Mx[13]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[16]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[26]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[2]*dx*pow(dy, 4) + cells[c].Mx[30]*dx*dy + cells[c].Mx[45]*dy + cells[c].Mx[50]*dx + (1.0L/24.0L)*cells[c].Mx[5]*pow(dy, 4) + cells[c].Mx[71] + (1.0L/6.0L)*cells[c].Mx[7]*dx*pow(dy, 3); - cells[p].Mx[72] += (1.0L/24.0L)*cells[c].Mx[0]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mx[13]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[14]*pow(dy, 3) + cells[c].Mx[16]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[17]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dy, 4)*dz + cells[c].Mx[26]*dy*dz + (1.0L/2.0L)*cells[c].Mx[27]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*dx*pow(dy, 3)*dz + cells[c].Mx[30]*dx*dz + cells[c].Mx[31]*dx*dy + (1.0L/24.0L)*cells[c].Mx[3]*dx*pow(dy, 4) + cells[c].Mx[45]*dz + cells[c].Mx[46]*dy + cells[c].Mx[51]*dx + (1.0L/6.0L)*cells[c].Mx[5]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[6]*pow(dy, 4) + cells[c].Mx[72] + (1.0L/2.0L)*cells[c].Mx[7]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[8]*dx*pow(dy, 3); - cells[p].Mx[73] += (1.0L/12.0L)*cells[c].Mx[0]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[13]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[14]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[15]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[16]*dx*pow(dz, 2) + cells[c].Mx[17]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[18]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[26]*pow(dz, 2) + cells[c].Mx[27]*dy*dz + (1.0L/2.0L)*cells[c].Mx[28]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mx[2]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[31]*dx*dz + cells[c].Mx[32]*dx*dy + (1.0L/6.0L)*cells[c].Mx[3]*dx*pow(dy, 3)*dz + cells[c].Mx[46]*dz + cells[c].Mx[47]*dy + cells[c].Mx[52]*dx + (1.0L/4.0L)*cells[c].Mx[5]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[6]*pow(dy, 3)*dz + cells[c].Mx[73] + (1.0L/2.0L)*cells[c].Mx[7]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[8]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[9]*dx*pow(dy, 3); - cells[p].Mx[74] += (1.0L/12.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[13]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[14]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[15]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[17]*dx*pow(dz, 2) + cells[c].Mx[18]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[19]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[27]*pow(dz, 2) + cells[c].Mx[28]*dy*dz + (1.0L/2.0L)*cells[c].Mx[29]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[2]*dx*dy*pow(dz, 3) + cells[c].Mx[32]*dx*dz + cells[c].Mx[33]*dx*dy + (1.0L/4.0L)*cells[c].Mx[3]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[47]*dz + cells[c].Mx[48]*dy + cells[c].Mx[53]*dx + (1.0L/6.0L)*cells[c].Mx[5]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[6]*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[74] + (1.0L/6.0L)*cells[c].Mx[7]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[8]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[9]*dx*pow(dy, 2)*dz; - cells[p].Mx[75] += (1.0L/24.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[14]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[15]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[18]*dx*pow(dz, 2) + cells[c].Mx[19]*dx*dy*dz + (1.0L/24.0L)*cells[c].Mx[1]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[28]*pow(dz, 2) + cells[c].Mx[29]*dy*dz + (1.0L/24.0L)*cells[c].Mx[2]*dx*pow(dz, 4) + cells[c].Mx[33]*dx*dz + cells[c].Mx[34]*dx*dy + (1.0L/6.0L)*cells[c].Mx[3]*dx*dy*pow(dz, 3) + cells[c].Mx[48]*dz + cells[c].Mx[49]*dy + cells[c].Mx[54]*dx + (1.0L/24.0L)*cells[c].Mx[5]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[6]*dy*pow(dz, 3) + cells[c].Mx[75] + (1.0L/6.0L)*cells[c].Mx[8]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[9]*dx*dy*pow(dz, 2); - cells[p].Mx[76] += (1.0L/120.0L)*cells[c].Mx[0]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mx[15]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[19]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[29]*pow(dz, 2) + cells[c].Mx[34]*dx*dz + (1.0L/24.0L)*cells[c].Mx[3]*dx*pow(dz, 4) + cells[c].Mx[49]*dz + cells[c].Mx[55]*dx + (1.0L/24.0L)*cells[c].Mx[6]*pow(dz, 4) + cells[c].Mx[76] + (1.0L/6.0L)*cells[c].Mx[9]*dx*pow(dz, 3); - cells[p].Mx[77] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dy, 6) + (1.0L/6.0L)*cells[c].Mx[16]*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[30]*pow(dy, 2) + cells[c].Mx[50]*dy + cells[c].Mx[77] + (1.0L/24.0L)*cells[c].Mx[7]*pow(dy, 4); - cells[p].Mx[78] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mx[16]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[17]*pow(dy, 3) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dy, 4)*dz + cells[c].Mx[30]*dy*dz + (1.0L/2.0L)*cells[c].Mx[31]*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mx[3]*pow(dy, 5) + cells[c].Mx[50]*dz + cells[c].Mx[51]*dy + cells[c].Mx[78] + (1.0L/6.0L)*cells[c].Mx[7]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[8]*pow(dy, 4); - cells[p].Mx[79] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[16]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[17]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[18]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[30]*pow(dz, 2) + cells[c].Mx[31]*dy*dz + (1.0L/2.0L)*cells[c].Mx[32]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[3]*pow(dy, 4)*dz + cells[c].Mx[51]*dz + cells[c].Mx[52]*dy + cells[c].Mx[79] + (1.0L/4.0L)*cells[c].Mx[7]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[8]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[9]*pow(dy, 4); - cells[p].Mx[80] += (1.0L/36.0L)*cells[c].Mx[0]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[16]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[17]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[18]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[19]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[31]*pow(dz, 2) + cells[c].Mx[32]*dy*dz + (1.0L/2.0L)*cells[c].Mx[33]*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dy, 3)*pow(dz, 2) + cells[c].Mx[52]*dz + cells[c].Mx[53]*dy + (1.0L/6.0L)*cells[c].Mx[7]*dy*pow(dz, 3) + cells[c].Mx[80] + (1.0L/4.0L)*cells[c].Mx[8]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[9]*pow(dy, 3)*dz; - cells[p].Mx[81] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[17]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[18]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[19]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].Mx[2]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[32]*pow(dz, 2) + cells[c].Mx[33]*dy*dz + (1.0L/2.0L)*cells[c].Mx[34]*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dy, 2)*pow(dz, 3) + cells[c].Mx[53]*dz + cells[c].Mx[54]*dy + (1.0L/24.0L)*cells[c].Mx[7]*pow(dz, 4) + cells[c].Mx[81] + (1.0L/6.0L)*cells[c].Mx[8]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[9]*pow(dy, 2)*pow(dz, 2); - cells[p].Mx[82] += (1.0L/120.0L)*cells[c].Mx[0]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mx[18]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[19]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[33]*pow(dz, 2) + cells[c].Mx[34]*dy*dz + (1.0L/24.0L)*cells[c].Mx[3]*dy*pow(dz, 4) + cells[c].Mx[54]*dz + cells[c].Mx[55]*dy + cells[c].Mx[82] + (1.0L/24.0L)*cells[c].Mx[8]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[9]*dy*pow(dz, 3); - cells[p].Mx[83] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dz, 6) + (1.0L/6.0L)*cells[c].Mx[19]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[34]*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[3]*pow(dz, 5) + cells[c].Mx[55]*dz + cells[c].Mx[83] + (1.0L/24.0L)*cells[c].Mx[9]*pow(dz, 4); - cells[p].Mx[84] += (1.0L/5040.0L)*cells[c].Mx[0]*pow(dx, 7) + (1.0L/24.0L)*cells[c].Mx[10]*pow(dx, 4) + (1.0L/720.0L)*cells[c].Mx[1]*pow(dx, 6) + (1.0L/6.0L)*cells[c].Mx[20]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mx[35]*pow(dx, 2) + (1.0L/120.0L)*cells[c].Mx[4]*pow(dx, 5) + cells[c].Mx[56]*dx + cells[c].Mx[84]; - cells[p].Mx[85] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dx, 6)*dy + (1.0L/6.0L)*cells[c].Mx[10]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[11]*pow(dx, 4) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].Mx[20]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[21]*pow(dx, 3) + (1.0L/720.0L)*cells[c].Mx[2]*pow(dx, 6) + cells[c].Mx[35]*dx*dy + (1.0L/2.0L)*cells[c].Mx[36]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[4]*pow(dx, 4)*dy + cells[c].Mx[56]*dy + cells[c].Mx[57]*dx + (1.0L/120.0L)*cells[c].Mx[5]*pow(dx, 5) + cells[c].Mx[85]; - cells[p].Mx[86] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dx, 6)*dz + (1.0L/6.0L)*cells[c].Mx[10]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mx[12]*pow(dx, 4) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].Mx[20]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[22]*pow(dx, 3) + cells[c].Mx[35]*dx*dz + (1.0L/2.0L)*cells[c].Mx[37]*pow(dx, 2) + (1.0L/720.0L)*cells[c].Mx[3]*pow(dx, 6) + (1.0L/24.0L)*cells[c].Mx[4]*pow(dx, 4)*dz + cells[c].Mx[56]*dz + cells[c].Mx[58]*dx + (1.0L/120.0L)*cells[c].Mx[6]*pow(dx, 5) + cells[c].Mx[86]; - cells[p].Mx[87] += (1.0L/240.0L)*cells[c].Mx[0]*pow(dx, 5)*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mx[10]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[11]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[13]*pow(dx, 4) + (1.0L/48.0L)*cells[c].Mx[1]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[20]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[21]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[23]*pow(dx, 3) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].Mx[35]*pow(dy, 2) + cells[c].Mx[36]*dx*dy + (1.0L/2.0L)*cells[c].Mx[38]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[4]*pow(dx, 3)*pow(dy, 2) + cells[c].Mx[57]*dy + cells[c].Mx[59]*dx + (1.0L/24.0L)*cells[c].Mx[5]*pow(dx, 4)*dy + (1.0L/120.0L)*cells[c].Mx[7]*pow(dx, 5) + cells[c].Mx[87]; - cells[p].Mx[88] += (1.0L/120.0L)*cells[c].Mx[0]*pow(dx, 5)*dy*dz + (1.0L/2.0L)*cells[c].Mx[10]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mx[11]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[12]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[14]*pow(dx, 4) + (1.0L/24.0L)*cells[c].Mx[1]*pow(dx, 4)*dy*dz + cells[c].Mx[20]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[21]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[22]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[24]*pow(dx, 3) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dx, 5)*dz + cells[c].Mx[35]*dy*dz + cells[c].Mx[36]*dx*dz + cells[c].Mx[37]*dx*dy + (1.0L/2.0L)*cells[c].Mx[39]*pow(dx, 2) + (1.0L/120.0L)*cells[c].Mx[3]*pow(dx, 5)*dy + (1.0L/6.0L)*cells[c].Mx[4]*pow(dx, 3)*dy*dz + cells[c].Mx[57]*dz + cells[c].Mx[58]*dy + (1.0L/24.0L)*cells[c].Mx[5]*pow(dx, 4)*dz + cells[c].Mx[60]*dx + (1.0L/24.0L)*cells[c].Mx[6]*pow(dx, 4)*dy + cells[c].Mx[88] + (1.0L/120.0L)*cells[c].Mx[8]*pow(dx, 5); - cells[p].Mx[89] += (1.0L/240.0L)*cells[c].Mx[0]*pow(dx, 5)*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[10]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[12]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mx[15]*pow(dx, 4) + (1.0L/48.0L)*cells[c].Mx[1]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[20]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[22]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[25]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mx[35]*pow(dz, 2) + cells[c].Mx[37]*dx*dz + (1.0L/120.0L)*cells[c].Mx[3]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].Mx[40]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[4]*pow(dx, 3)*pow(dz, 2) + cells[c].Mx[58]*dz + cells[c].Mx[61]*dx + (1.0L/24.0L)*cells[c].Mx[6]*pow(dx, 4)*dz + cells[c].Mx[89] + (1.0L/120.0L)*cells[c].Mx[9]*pow(dx, 5); - cells[p].Mx[90] += (1.0L/144.0L)*cells[c].Mx[0]*pow(dx, 4)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mx[10]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mx[11]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[13]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[16]*pow(dx, 4) + (1.0L/36.0L)*cells[c].Mx[1]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mx[20]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[21]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[23]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[26]*pow(dx, 3) + (1.0L/48.0L)*cells[c].Mx[2]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[36]*pow(dy, 2) + cells[c].Mx[38]*dx*dy + (1.0L/2.0L)*cells[c].Mx[41]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[4]*pow(dx, 2)*pow(dy, 3) + cells[c].Mx[59]*dy + (1.0L/12.0L)*cells[c].Mx[5]*pow(dx, 3)*pow(dy, 2) + cells[c].Mx[62]*dx + (1.0L/24.0L)*cells[c].Mx[7]*pow(dx, 4)*dy + cells[c].Mx[90]; - cells[p].Mx[91] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 4)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[10]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[11]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[12]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[13]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[14]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[17]*pow(dx, 4) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[20]*pow(dy, 2)*dz + cells[c].Mx[21]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[22]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[23]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[24]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[27]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mx[2]*pow(dx, 4)*dy*dz + cells[c].Mx[36]*dy*dz + (1.0L/2.0L)*cells[c].Mx[37]*pow(dy, 2) + cells[c].Mx[38]*dx*dz + cells[c].Mx[39]*dx*dy + (1.0L/48.0L)*cells[c].Mx[3]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[42]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[4]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[59]*dz + (1.0L/6.0L)*cells[c].Mx[5]*pow(dx, 3)*dy*dz + cells[c].Mx[60]*dy + cells[c].Mx[63]*dx + (1.0L/12.0L)*cells[c].Mx[6]*pow(dx, 3)*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[7]*pow(dx, 4)*dz + (1.0L/24.0L)*cells[c].Mx[8]*pow(dx, 4)*dy + cells[c].Mx[91]; - cells[p].Mx[92] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 4)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[10]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[11]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[12]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mx[14]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[15]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mx[18]*pow(dx, 4) + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[20]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[21]*dx*pow(dz, 2) + cells[c].Mx[22]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[24]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[25]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mx[28]*pow(dx, 3) + (1.0L/48.0L)*cells[c].Mx[2]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[36]*pow(dz, 2) + cells[c].Mx[37]*dy*dz + cells[c].Mx[39]*dx*dz + (1.0L/24.0L)*cells[c].Mx[3]*pow(dx, 4)*dy*dz + cells[c].Mx[40]*dx*dy + (1.0L/2.0L)*cells[c].Mx[43]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[4]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/12.0L)*cells[c].Mx[5]*pow(dx, 3)*pow(dz, 2) + cells[c].Mx[60]*dz + cells[c].Mx[61]*dy + cells[c].Mx[64]*dx + (1.0L/6.0L)*cells[c].Mx[6]*pow(dx, 3)*dy*dz + (1.0L/24.0L)*cells[c].Mx[8]*pow(dx, 4)*dz + cells[c].Mx[92] + (1.0L/24.0L)*cells[c].Mx[9]*pow(dx, 4)*dy; - cells[p].Mx[93] += (1.0L/144.0L)*cells[c].Mx[0]*pow(dx, 4)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[10]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[12]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[15]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mx[19]*pow(dx, 4) + (1.0L/36.0L)*cells[c].Mx[1]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[20]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[22]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[25]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[29]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mx[37]*pow(dz, 2) + (1.0L/48.0L)*cells[c].Mx[3]*pow(dx, 4)*pow(dz, 2) + cells[c].Mx[40]*dx*dz + (1.0L/2.0L)*cells[c].Mx[44]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mx[4]*pow(dx, 2)*pow(dz, 3) + cells[c].Mx[61]*dz + cells[c].Mx[65]*dx + (1.0L/12.0L)*cells[c].Mx[6]*pow(dx, 3)*pow(dz, 2) + cells[c].Mx[93] + (1.0L/24.0L)*cells[c].Mx[9]*pow(dx, 4)*dz; - cells[p].Mx[94] += (1.0L/144.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 4) + (1.0L/24.0L)*cells[c].Mx[10]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mx[11]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mx[13]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[16]*pow(dx, 3)*dy + (1.0L/48.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mx[21]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[23]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[26]*pow(dx, 2)*dy + (1.0L/36.0L)*cells[c].Mx[2]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mx[30]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mx[38]*pow(dy, 2) + cells[c].Mx[41]*dx*dy + (1.0L/2.0L)*cells[c].Mx[45]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[4]*dx*pow(dy, 4) + (1.0L/12.0L)*cells[c].Mx[5]*pow(dx, 2)*pow(dy, 3) + cells[c].Mx[62]*dy + cells[c].Mx[66]*dx + (1.0L/12.0L)*cells[c].Mx[7]*pow(dx, 3)*pow(dy, 2) + cells[c].Mx[94]; - cells[p].Mx[95] += (1.0L/36.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 3)*dz + (1.0L/6.0L)*cells[c].Mx[10]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[11]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[12]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[13]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[14]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[16]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[17]*pow(dx, 3)*dy + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[21]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[22]*pow(dy, 3) + cells[c].Mx[23]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[24]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[26]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[27]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[31]*pow(dx, 3) + cells[c].Mx[38]*dy*dz + (1.0L/2.0L)*cells[c].Mx[39]*pow(dy, 2) + (1.0L/36.0L)*cells[c].Mx[3]*pow(dx, 3)*pow(dy, 3) + cells[c].Mx[41]*dx*dz + cells[c].Mx[42]*dx*dy + (1.0L/2.0L)*cells[c].Mx[46]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[4]*dx*pow(dy, 3)*dz + (1.0L/4.0L)*cells[c].Mx[5]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mx[62]*dz + cells[c].Mx[63]*dy + cells[c].Mx[67]*dx + (1.0L/12.0L)*cells[c].Mx[6]*pow(dx, 2)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mx[7]*pow(dx, 3)*dy*dz + (1.0L/12.0L)*cells[c].Mx[8]*pow(dx, 3)*pow(dy, 2) + cells[c].Mx[95]; - cells[p].Mx[96] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dy, 2)*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[10]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[11]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[12]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].Mx[13]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[14]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[15]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mx[17]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[18]*pow(dx, 3)*dy + (1.0L/8.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[21]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[22]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[23]*dx*pow(dz, 2) + cells[c].Mx[24]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[25]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[27]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[28]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[32]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mx[38]*pow(dz, 2) + cells[c].Mx[39]*dy*dz + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[40]*pow(dy, 2) + cells[c].Mx[42]*dx*dz + cells[c].Mx[43]*dx*dy + (1.0L/2.0L)*cells[c].Mx[47]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[4]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[5]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].Mx[63]*dz + cells[c].Mx[64]*dy + cells[c].Mx[68]*dx + (1.0L/4.0L)*cells[c].Mx[6]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].Mx[7]*pow(dx, 3)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[8]*pow(dx, 3)*dy*dz + cells[c].Mx[96] + (1.0L/12.0L)*cells[c].Mx[9]*pow(dx, 3)*pow(dy, 2); - cells[p].Mx[97] += (1.0L/36.0L)*cells[c].Mx[0]*pow(dx, 3)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[10]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[11]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[12]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[14]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[15]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mx[18]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mx[19]*pow(dx, 3)*dy + (1.0L/12.0L)*cells[c].Mx[1]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[21]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[22]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[24]*dx*pow(dz, 2) + cells[c].Mx[25]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[28]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[29]*pow(dx, 2)*dy + (1.0L/36.0L)*cells[c].Mx[2]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[33]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mx[39]*pow(dz, 2) + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 3)*dy*pow(dz, 2) + cells[c].Mx[40]*dy*dz + cells[c].Mx[43]*dx*dz + cells[c].Mx[44]*dx*dy + (1.0L/2.0L)*cells[c].Mx[48]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[4]*dx*dy*pow(dz, 3) + (1.0L/12.0L)*cells[c].Mx[5]*pow(dx, 2)*pow(dz, 3) + cells[c].Mx[64]*dz + cells[c].Mx[65]*dy + cells[c].Mx[69]*dx + (1.0L/4.0L)*cells[c].Mx[6]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/12.0L)*cells[c].Mx[8]*pow(dx, 3)*pow(dz, 2) + cells[c].Mx[97] + (1.0L/6.0L)*cells[c].Mx[9]*pow(dx, 3)*dy*dz; - cells[p].Mx[98] += (1.0L/144.0L)*cells[c].Mx[0]*pow(dx, 3)*pow(dz, 4) + (1.0L/24.0L)*cells[c].Mx[10]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[12]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[15]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[19]*pow(dx, 3)*dz + (1.0L/48.0L)*cells[c].Mx[1]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[22]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[25]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[29]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mx[34]*pow(dx, 3) + (1.0L/36.0L)*cells[c].Mx[3]*pow(dx, 3)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[40]*pow(dz, 2) + cells[c].Mx[44]*dx*dz + (1.0L/2.0L)*cells[c].Mx[49]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[4]*dx*pow(dz, 4) + cells[c].Mx[65]*dz + (1.0L/12.0L)*cells[c].Mx[6]*pow(dx, 2)*pow(dz, 3) + cells[c].Mx[70]*dx + cells[c].Mx[98] + (1.0L/12.0L)*cells[c].Mx[9]*pow(dx, 3)*pow(dz, 2); - cells[p].Mx[99] += (1.0L/240.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 5) + (1.0L/24.0L)*cells[c].Mx[11]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mx[13]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mx[16]*pow(dx, 2)*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mx[1]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].Mx[23]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[26]*dx*pow(dy, 2) + (1.0L/48.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[30]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mx[41]*pow(dy, 2) + cells[c].Mx[45]*dx*dy + (1.0L/120.0L)*cells[c].Mx[4]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[50]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[5]*dx*pow(dy, 4) + cells[c].Mx[66]*dy + cells[c].Mx[71]*dx + (1.0L/12.0L)*cells[c].Mx[7]*pow(dx, 2)*pow(dy, 3) + cells[c].Mx[99]; - cells[p].Mx[100] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 4)*dz + cells[c].Mx[100] + (1.0L/6.0L)*cells[c].Mx[11]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[12]*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[13]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[14]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[16]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[17]*pow(dx, 2)*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[1]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mx[23]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[24]*pow(dy, 3) + cells[c].Mx[26]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[27]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[30]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[31]*pow(dx, 2)*dy + (1.0L/48.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 4) + cells[c].Mx[41]*dy*dz + (1.0L/2.0L)*cells[c].Mx[42]*pow(dy, 2) + cells[c].Mx[45]*dx*dz + cells[c].Mx[46]*dx*dy + (1.0L/24.0L)*cells[c].Mx[4]*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mx[51]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[5]*dx*pow(dy, 3)*dz + cells[c].Mx[66]*dz + cells[c].Mx[67]*dy + (1.0L/24.0L)*cells[c].Mx[6]*dx*pow(dy, 4) + cells[c].Mx[72]*dx + (1.0L/4.0L)*cells[c].Mx[7]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].Mx[8]*pow(dx, 2)*pow(dy, 3); - cells[p].Mx[101] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 3)*pow(dz, 2) + cells[c].Mx[101] + (1.0L/4.0L)*cells[c].Mx[11]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[12]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[13]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[14]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[15]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mx[16]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[17]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[18]*pow(dx, 2)*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[1]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[23]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[24]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[25]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[26]*dx*pow(dz, 2) + cells[c].Mx[27]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[28]*dx*pow(dy, 2) + (1.0L/8.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[31]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[32]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mx[41]*pow(dz, 2) + cells[c].Mx[42]*dy*dz + (1.0L/2.0L)*cells[c].Mx[43]*pow(dy, 2) + cells[c].Mx[46]*dx*dz + cells[c].Mx[47]*dx*dy + (1.0L/12.0L)*cells[c].Mx[4]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[52]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mx[5]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[67]*dz + cells[c].Mx[68]*dy + (1.0L/6.0L)*cells[c].Mx[6]*dx*pow(dy, 3)*dz + cells[c].Mx[73]*dx + (1.0L/4.0L)*cells[c].Mx[7]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[8]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].Mx[9]*pow(dx, 2)*pow(dy, 3); - cells[p].Mx[102] += (1.0L/24.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 3) + cells[c].Mx[102] + (1.0L/6.0L)*cells[c].Mx[11]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[12]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[13]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[14]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[15]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].Mx[17]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[18]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mx[19]*pow(dx, 2)*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[1]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[23]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[24]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[25]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mx[27]*dx*pow(dz, 2) + cells[c].Mx[28]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[29]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[2]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[32]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[33]*pow(dx, 2)*dy + (1.0L/8.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[42]*pow(dz, 2) + cells[c].Mx[43]*dy*dz + (1.0L/2.0L)*cells[c].Mx[44]*pow(dy, 2) + cells[c].Mx[47]*dx*dz + cells[c].Mx[48]*dx*dy + (1.0L/12.0L)*cells[c].Mx[4]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[53]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mx[5]*dx*dy*pow(dz, 3) + cells[c].Mx[68]*dz + cells[c].Mx[69]*dy + (1.0L/4.0L)*cells[c].Mx[6]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mx[74]*dx + (1.0L/12.0L)*cells[c].Mx[7]*pow(dx, 2)*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[8]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[9]*pow(dx, 2)*pow(dy, 2)*dz; - cells[p].Mx[103] += (1.0L/48.0L)*cells[c].Mx[0]*pow(dx, 2)*dy*pow(dz, 4) + cells[c].Mx[103] + (1.0L/24.0L)*cells[c].Mx[11]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[12]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[14]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[15]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mx[18]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[19]*pow(dx, 2)*dy*dz + (1.0L/24.0L)*cells[c].Mx[1]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[24]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[25]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[28]*dx*pow(dz, 2) + cells[c].Mx[29]*dx*dy*dz + (1.0L/48.0L)*cells[c].Mx[2]*pow(dx, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[33]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mx[34]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].Mx[3]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[43]*pow(dz, 2) + cells[c].Mx[44]*dy*dz + cells[c].Mx[48]*dx*dz + cells[c].Mx[49]*dx*dy + (1.0L/24.0L)*cells[c].Mx[4]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[54]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[5]*dx*pow(dz, 4) + cells[c].Mx[69]*dz + (1.0L/6.0L)*cells[c].Mx[6]*dx*dy*pow(dz, 3) + cells[c].Mx[70]*dy + cells[c].Mx[75]*dx + (1.0L/12.0L)*cells[c].Mx[8]*pow(dx, 2)*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[9]*pow(dx, 2)*dy*pow(dz, 2); - cells[p].Mx[104] += (1.0L/240.0L)*cells[c].Mx[0]*pow(dx, 2)*pow(dz, 5) + cells[c].Mx[104] + (1.0L/24.0L)*cells[c].Mx[12]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[15]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[19]*pow(dx, 2)*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[1]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mx[25]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[29]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[34]*pow(dx, 2)*dz + (1.0L/48.0L)*cells[c].Mx[3]*pow(dx, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[44]*pow(dz, 2) + cells[c].Mx[49]*dx*dz + (1.0L/120.0L)*cells[c].Mx[4]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[55]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mx[6]*dx*pow(dz, 4) + cells[c].Mx[70]*dz + cells[c].Mx[76]*dx + (1.0L/12.0L)*cells[c].Mx[9]*pow(dx, 2)*pow(dz, 3); - cells[p].Mx[105] += (1.0L/720.0L)*cells[c].Mx[0]*dx*pow(dy, 6) + cells[c].Mx[105] + (1.0L/24.0L)*cells[c].Mx[13]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mx[16]*dx*pow(dy, 3) + (1.0L/720.0L)*cells[c].Mx[1]*pow(dy, 6) + (1.0L/6.0L)*cells[c].Mx[26]*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mx[2]*dx*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mx[30]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mx[45]*pow(dy, 2) + cells[c].Mx[50]*dx*dy + (1.0L/120.0L)*cells[c].Mx[5]*pow(dy, 5) + cells[c].Mx[71]*dy + cells[c].Mx[77]*dx + (1.0L/24.0L)*cells[c].Mx[7]*dx*pow(dy, 4); - cells[p].Mx[106] += (1.0L/120.0L)*cells[c].Mx[0]*dx*pow(dy, 5)*dz + cells[c].Mx[106] + (1.0L/6.0L)*cells[c].Mx[13]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[14]*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[16]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[17]*dx*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mx[1]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mx[26]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[27]*pow(dy, 3) + (1.0L/24.0L)*cells[c].Mx[2]*dx*pow(dy, 4)*dz + cells[c].Mx[30]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[31]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mx[3]*dx*pow(dy, 5) + cells[c].Mx[45]*dy*dz + (1.0L/2.0L)*cells[c].Mx[46]*pow(dy, 2) + cells[c].Mx[50]*dx*dz + cells[c].Mx[51]*dx*dy + (1.0L/24.0L)*cells[c].Mx[5]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].Mx[6]*pow(dy, 5) + cells[c].Mx[71]*dz + cells[c].Mx[72]*dy + cells[c].Mx[78]*dx + (1.0L/6.0L)*cells[c].Mx[7]*dx*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[8]*dx*pow(dy, 4); - cells[p].Mx[107] += (1.0L/48.0L)*cells[c].Mx[0]*dx*pow(dy, 4)*pow(dz, 2) + cells[c].Mx[107] + (1.0L/4.0L)*cells[c].Mx[13]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[14]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[15]*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mx[16]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[17]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[18]*dx*pow(dy, 3) + (1.0L/48.0L)*cells[c].Mx[1]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[26]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[27]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[28]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mx[2]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[30]*dx*pow(dz, 2) + cells[c].Mx[31]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[32]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[3]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mx[45]*pow(dz, 2) + cells[c].Mx[46]*dy*dz + (1.0L/2.0L)*cells[c].Mx[47]*pow(dy, 2) + cells[c].Mx[51]*dx*dz + cells[c].Mx[52]*dx*dy + (1.0L/12.0L)*cells[c].Mx[5]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].Mx[6]*pow(dy, 4)*dz + cells[c].Mx[72]*dz + cells[c].Mx[73]*dy + cells[c].Mx[79]*dx + (1.0L/4.0L)*cells[c].Mx[7]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[8]*dx*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[9]*dx*pow(dy, 4); - cells[p].Mx[108] += (1.0L/36.0L)*cells[c].Mx[0]*dx*pow(dy, 3)*pow(dz, 3) + cells[c].Mx[108] + (1.0L/6.0L)*cells[c].Mx[13]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[14]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[15]*pow(dy, 3)*dz + (1.0L/6.0L)*cells[c].Mx[16]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[17]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[18]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[19]*dx*pow(dy, 3) + (1.0L/36.0L)*cells[c].Mx[1]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[26]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[27]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[28]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[29]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mx[2]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[31]*dx*pow(dz, 2) + cells[c].Mx[32]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[33]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[3]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[46]*pow(dz, 2) + cells[c].Mx[47]*dy*dz + (1.0L/2.0L)*cells[c].Mx[48]*pow(dy, 2) + cells[c].Mx[52]*dx*dz + cells[c].Mx[53]*dx*dy + (1.0L/12.0L)*cells[c].Mx[5]*pow(dy, 2)*pow(dz, 3) + (1.0L/12.0L)*cells[c].Mx[6]*pow(dy, 3)*pow(dz, 2) + cells[c].Mx[73]*dz + cells[c].Mx[74]*dy + (1.0L/6.0L)*cells[c].Mx[7]*dx*dy*pow(dz, 3) + cells[c].Mx[80]*dx + (1.0L/4.0L)*cells[c].Mx[8]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[9]*dx*pow(dy, 3)*dz; - cells[p].Mx[109] += (1.0L/48.0L)*cells[c].Mx[0]*dx*pow(dy, 2)*pow(dz, 4) + cells[c].Mx[109] + (1.0L/24.0L)*cells[c].Mx[13]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[14]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[15]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[17]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[18]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[19]*dx*pow(dy, 2)*dz + (1.0L/48.0L)*cells[c].Mx[1]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[27]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[28]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[29]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].Mx[2]*dx*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[32]*dx*pow(dz, 2) + cells[c].Mx[33]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mx[34]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mx[3]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[47]*pow(dz, 2) + cells[c].Mx[48]*dy*dz + (1.0L/2.0L)*cells[c].Mx[49]*pow(dy, 2) + cells[c].Mx[53]*dx*dz + cells[c].Mx[54]*dx*dy + (1.0L/24.0L)*cells[c].Mx[5]*dy*pow(dz, 4) + (1.0L/12.0L)*cells[c].Mx[6]*pow(dy, 2)*pow(dz, 3) + cells[c].Mx[74]*dz + cells[c].Mx[75]*dy + (1.0L/24.0L)*cells[c].Mx[7]*dx*pow(dz, 4) + cells[c].Mx[81]*dx + (1.0L/6.0L)*cells[c].Mx[8]*dx*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[9]*dx*pow(dy, 2)*pow(dz, 2); - cells[p].Mx[110] += (1.0L/120.0L)*cells[c].Mx[0]*dx*dy*pow(dz, 5) + cells[c].Mx[110] + (1.0L/24.0L)*cells[c].Mx[14]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[15]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[18]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[19]*dx*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[1]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mx[28]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[29]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[2]*dx*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[33]*dx*pow(dz, 2) + cells[c].Mx[34]*dx*dy*dz + (1.0L/24.0L)*cells[c].Mx[3]*dx*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[48]*pow(dz, 2) + cells[c].Mx[49]*dy*dz + cells[c].Mx[54]*dx*dz + cells[c].Mx[55]*dx*dy + (1.0L/120.0L)*cells[c].Mx[5]*pow(dz, 5) + (1.0L/24.0L)*cells[c].Mx[6]*dy*pow(dz, 4) + cells[c].Mx[75]*dz + cells[c].Mx[76]*dy + cells[c].Mx[82]*dx + (1.0L/24.0L)*cells[c].Mx[8]*dx*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[9]*dx*dy*pow(dz, 3); - cells[p].Mx[111] += (1.0L/720.0L)*cells[c].Mx[0]*dx*pow(dz, 6) + cells[c].Mx[111] + (1.0L/24.0L)*cells[c].Mx[15]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[19]*dx*pow(dz, 3) + (1.0L/720.0L)*cells[c].Mx[1]*pow(dz, 6) + (1.0L/6.0L)*cells[c].Mx[29]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[34]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[3]*dx*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[49]*pow(dz, 2) + cells[c].Mx[55]*dx*dz + (1.0L/120.0L)*cells[c].Mx[6]*pow(dz, 5) + cells[c].Mx[76]*dz + cells[c].Mx[83]*dx + (1.0L/24.0L)*cells[c].Mx[9]*dx*pow(dz, 4); - cells[p].Mx[112] += (1.0L/5040.0L)*cells[c].Mx[0]*pow(dy, 7) + cells[c].Mx[112] + (1.0L/24.0L)*cells[c].Mx[16]*pow(dy, 4) + (1.0L/720.0L)*cells[c].Mx[2]*pow(dy, 6) + (1.0L/6.0L)*cells[c].Mx[30]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mx[50]*pow(dy, 2) + cells[c].Mx[77]*dy + (1.0L/120.0L)*cells[c].Mx[7]*pow(dy, 5); - cells[p].Mx[113] += (1.0L/720.0L)*cells[c].Mx[0]*pow(dy, 6)*dz + cells[c].Mx[113] + (1.0L/6.0L)*cells[c].Mx[16]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[17]*pow(dy, 4) + (1.0L/120.0L)*cells[c].Mx[2]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mx[30]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[31]*pow(dy, 3) + (1.0L/720.0L)*cells[c].Mx[3]*pow(dy, 6) + cells[c].Mx[50]*dy*dz + (1.0L/2.0L)*cells[c].Mx[51]*pow(dy, 2) + cells[c].Mx[77]*dz + cells[c].Mx[78]*dy + (1.0L/24.0L)*cells[c].Mx[7]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].Mx[8]*pow(dy, 5); - cells[p].Mx[114] += (1.0L/240.0L)*cells[c].Mx[0]*pow(dy, 5)*pow(dz, 2) + cells[c].Mx[114] + (1.0L/4.0L)*cells[c].Mx[16]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[17]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[18]*pow(dy, 4) + (1.0L/48.0L)*cells[c].Mx[2]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[30]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[31]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[32]*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mx[3]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mx[50]*pow(dz, 2) + cells[c].Mx[51]*dy*dz + (1.0L/2.0L)*cells[c].Mx[52]*pow(dy, 2) + cells[c].Mx[78]*dz + cells[c].Mx[79]*dy + (1.0L/12.0L)*cells[c].Mx[7]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].Mx[8]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].Mx[9]*pow(dy, 5); - cells[p].Mx[115] += (1.0L/144.0L)*cells[c].Mx[0]*pow(dy, 4)*pow(dz, 3) + cells[c].Mx[115] + (1.0L/6.0L)*cells[c].Mx[16]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[17]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[18]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mx[19]*pow(dy, 4) + (1.0L/36.0L)*cells[c].Mx[2]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mx[30]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[31]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[32]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[33]*pow(dy, 3) + (1.0L/48.0L)*cells[c].Mx[3]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[51]*pow(dz, 2) + cells[c].Mx[52]*dy*dz + (1.0L/2.0L)*cells[c].Mx[53]*pow(dy, 2) + cells[c].Mx[79]*dz + (1.0L/12.0L)*cells[c].Mx[7]*pow(dy, 2)*pow(dz, 3) + cells[c].Mx[80]*dy + (1.0L/12.0L)*cells[c].Mx[8]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].Mx[9]*pow(dy, 4)*dz; - cells[p].Mx[116] += (1.0L/144.0L)*cells[c].Mx[0]*pow(dy, 3)*pow(dz, 4) + cells[c].Mx[116] + (1.0L/24.0L)*cells[c].Mx[16]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[17]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[18]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mx[19]*pow(dy, 3)*dz + (1.0L/48.0L)*cells[c].Mx[2]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[31]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[32]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[33]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mx[34]*pow(dy, 3) + (1.0L/36.0L)*cells[c].Mx[3]*pow(dy, 3)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[52]*pow(dz, 2) + cells[c].Mx[53]*dy*dz + (1.0L/2.0L)*cells[c].Mx[54]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mx[7]*dy*pow(dz, 4) + cells[c].Mx[80]*dz + cells[c].Mx[81]*dy + (1.0L/12.0L)*cells[c].Mx[8]*pow(dy, 2)*pow(dz, 3) + (1.0L/12.0L)*cells[c].Mx[9]*pow(dy, 3)*pow(dz, 2); - cells[p].Mx[117] += (1.0L/240.0L)*cells[c].Mx[0]*pow(dy, 2)*pow(dz, 5) + cells[c].Mx[117] + (1.0L/24.0L)*cells[c].Mx[17]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[18]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mx[19]*pow(dy, 2)*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[2]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mx[32]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[33]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mx[34]*pow(dy, 2)*dz + (1.0L/48.0L)*cells[c].Mx[3]*pow(dy, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mx[53]*pow(dz, 2) + cells[c].Mx[54]*dy*dz + (1.0L/2.0L)*cells[c].Mx[55]*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mx[7]*pow(dz, 5) + cells[c].Mx[81]*dz + cells[c].Mx[82]*dy + (1.0L/24.0L)*cells[c].Mx[8]*dy*pow(dz, 4) + (1.0L/12.0L)*cells[c].Mx[9]*pow(dy, 2)*pow(dz, 3); - cells[p].Mx[118] += (1.0L/720.0L)*cells[c].Mx[0]*dy*pow(dz, 6) + cells[c].Mx[118] + (1.0L/24.0L)*cells[c].Mx[18]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[19]*dy*pow(dz, 3) + (1.0L/720.0L)*cells[c].Mx[2]*pow(dz, 6) + (1.0L/6.0L)*cells[c].Mx[33]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mx[34]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mx[3]*dy*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mx[54]*pow(dz, 2) + cells[c].Mx[55]*dy*dz + cells[c].Mx[82]*dz + cells[c].Mx[83]*dy + (1.0L/120.0L)*cells[c].Mx[8]*pow(dz, 5) + (1.0L/24.0L)*cells[c].Mx[9]*dy*pow(dz, 4); - cells[p].Mx[119] += (1.0L/5040.0L)*cells[c].Mx[0]*pow(dz, 7) + cells[c].Mx[119] + (1.0L/24.0L)*cells[c].Mx[19]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mx[34]*pow(dz, 3) + (1.0L/720.0L)*cells[c].Mx[3]*pow(dz, 6) + (1.0L/2.0L)*cells[c].Mx[55]*pow(dz, 2) + cells[c].Mx[83]*dz + (1.0L/120.0L)*cells[c].Mx[9]*pow(dz, 5); - - - cells[p].My[0] += cells[c].My[0]; - cells[p].My[1] += cells[c].My[0]*dx + cells[c].My[1]; - cells[p].My[2] += cells[c].My[0]*dy + cells[c].My[2]; - cells[p].My[3] += cells[c].My[0]*dz + cells[c].My[3]; - cells[p].My[4] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2) + cells[c].My[1]*dx + cells[c].My[4]; - cells[p].My[5] += cells[c].My[0]*dx*dy + cells[c].My[1]*dy + cells[c].My[2]*dx + cells[c].My[5]; - cells[p].My[6] += cells[c].My[0]*dx*dz + cells[c].My[1]*dz + cells[c].My[3]*dx + cells[c].My[6]; - cells[p].My[7] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2) + cells[c].My[2]*dy + cells[c].My[7]; - cells[p].My[8] += cells[c].My[0]*dy*dz + cells[c].My[2]*dz + cells[c].My[3]*dy + cells[c].My[8]; - cells[p].My[9] += (1.0L/2.0L)*cells[c].My[0]*pow(dz, 2) + cells[c].My[3]*dz + cells[c].My[9]; - cells[p].My[10] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3) + cells[c].My[10] + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2) + cells[c].My[4]*dx; - cells[p].My[11] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy + cells[c].My[11] + cells[c].My[1]*dx*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2) + cells[c].My[4]*dy + cells[c].My[5]*dx; - cells[p].My[12] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dz + cells[c].My[12] + cells[c].My[1]*dx*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2) + cells[c].My[4]*dz + cells[c].My[6]*dx; - cells[p].My[13] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2) + cells[c].My[13] + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2) + cells[c].My[2]*dx*dy + cells[c].My[5]*dy + cells[c].My[7]*dx; - cells[p].My[14] += cells[c].My[0]*dx*dy*dz + cells[c].My[14] + cells[c].My[1]*dy*dz + cells[c].My[2]*dx*dz + cells[c].My[3]*dx*dy + cells[c].My[5]*dz + cells[c].My[6]*dy + cells[c].My[8]*dx; - cells[p].My[15] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dz, 2) + cells[c].My[15] + (1.0L/2.0L)*cells[c].My[1]*pow(dz, 2) + cells[c].My[3]*dx*dz + cells[c].My[6]*dz + cells[c].My[9]*dx; - cells[p].My[16] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3) + cells[c].My[16] + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2) + cells[c].My[7]*dy; - cells[p].My[17] += (1.0L/2.0L)*cells[c].My[0]*pow(dy, 2)*dz + cells[c].My[17] + cells[c].My[2]*dy*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2) + cells[c].My[7]*dz + cells[c].My[8]*dy; - cells[p].My[18] += (1.0L/2.0L)*cells[c].My[0]*dy*pow(dz, 2) + cells[c].My[18] + (1.0L/2.0L)*cells[c].My[2]*pow(dz, 2) + cells[c].My[3]*dy*dz + cells[c].My[8]*dz + cells[c].My[9]*dy; - cells[p].My[19] += (1.0L/6.0L)*cells[c].My[0]*pow(dz, 3) + cells[c].My[19] + (1.0L/2.0L)*cells[c].My[3]*pow(dz, 2) + cells[c].My[9]*dz; - cells[p].My[20] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4) + cells[c].My[10]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3) + cells[c].My[20] + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2); - cells[p].My[21] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dy + cells[c].My[10]*dy + cells[c].My[11]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dy + cells[c].My[21] + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3) + cells[c].My[4]*dx*dy + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2); - cells[p].My[22] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dz + cells[c].My[10]*dz + cells[c].My[12]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dz + cells[c].My[22] + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3) + cells[c].My[4]*dx*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2); - cells[p].My[23] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2) + cells[c].My[11]*dy + cells[c].My[13]*dx + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dy, 2) + cells[c].My[23] + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].My[4]*pow(dy, 2) + cells[c].My[5]*dx*dy + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2); - cells[p].My[24] += (1.0L/2.0L)*cells[c].My[0]*pow(dx, 2)*dy*dz + cells[c].My[11]*dz + cells[c].My[12]*dy + cells[c].My[14]*dx + cells[c].My[1]*dx*dy*dz + cells[c].My[24] + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dy + cells[c].My[4]*dy*dz + cells[c].My[5]*dx*dz + cells[c].My[6]*dx*dy + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2); - cells[p].My[25] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 2) + cells[c].My[12]*dz + cells[c].My[15]*dx + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dz, 2) + cells[c].My[25] + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[4]*pow(dz, 2) + cells[c].My[6]*dx*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2); - cells[p].My[26] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dy, 3) + cells[c].My[13]*dy + cells[c].My[16]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dy, 3) + cells[c].My[26] + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[5]*pow(dy, 2) + cells[c].My[7]*dx*dy; - cells[p].My[27] += (1.0L/2.0L)*cells[c].My[0]*dx*pow(dy, 2)*dz + cells[c].My[13]*dz + cells[c].My[14]*dy + cells[c].My[17]*dx + (1.0L/2.0L)*cells[c].My[1]*pow(dy, 2)*dz + cells[c].My[27] + cells[c].My[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dy, 2) + cells[c].My[5]*dy*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dy, 2) + cells[c].My[7]*dx*dz + cells[c].My[8]*dx*dy; - cells[p].My[28] += (1.0L/2.0L)*cells[c].My[0]*dx*dy*pow(dz, 2) + cells[c].My[14]*dz + cells[c].My[15]*dy + cells[c].My[18]*dx + (1.0L/2.0L)*cells[c].My[1]*dy*pow(dz, 2) + cells[c].My[28] + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dz, 2) + cells[c].My[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dz, 2) + cells[c].My[6]*dy*dz + cells[c].My[8]*dx*dz + cells[c].My[9]*dx*dy; - cells[p].My[29] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dz, 3) + cells[c].My[15]*dz + cells[c].My[19]*dx + (1.0L/6.0L)*cells[c].My[1]*pow(dz, 3) + cells[c].My[29] + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dz, 2) + cells[c].My[9]*dx*dz; - cells[p].My[30] += (1.0L/24.0L)*cells[c].My[0]*pow(dy, 4) + cells[c].My[16]*dy + (1.0L/6.0L)*cells[c].My[2]*pow(dy, 3) + cells[c].My[30] + (1.0L/2.0L)*cells[c].My[7]*pow(dy, 2); - cells[p].My[31] += (1.0L/6.0L)*cells[c].My[0]*pow(dy, 3)*dz + cells[c].My[16]*dz + cells[c].My[17]*dy + (1.0L/2.0L)*cells[c].My[2]*pow(dy, 2)*dz + cells[c].My[31] + (1.0L/6.0L)*cells[c].My[3]*pow(dy, 3) + cells[c].My[7]*dy*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dy, 2); - cells[p].My[32] += (1.0L/4.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 2) + cells[c].My[17]*dz + cells[c].My[18]*dy + (1.0L/2.0L)*cells[c].My[2]*dy*pow(dz, 2) + cells[c].My[32] + (1.0L/2.0L)*cells[c].My[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[7]*pow(dz, 2) + cells[c].My[8]*dy*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dy, 2); - cells[p].My[33] += (1.0L/6.0L)*cells[c].My[0]*dy*pow(dz, 3) + cells[c].My[18]*dz + cells[c].My[19]*dy + (1.0L/6.0L)*cells[c].My[2]*pow(dz, 3) + cells[c].My[33] + (1.0L/2.0L)*cells[c].My[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dz, 2) + cells[c].My[9]*dy*dz; - cells[p].My[34] += (1.0L/24.0L)*cells[c].My[0]*pow(dz, 4) + cells[c].My[19]*dz + cells[c].My[34] + (1.0L/6.0L)*cells[c].My[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*pow(dz, 2); - cells[p].My[35] += (1.0L/120.0L)*cells[c].My[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].My[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[1]*pow(dx, 4) + cells[c].My[20]*dx + cells[c].My[35] + (1.0L/6.0L)*cells[c].My[4]*pow(dx, 3); - cells[p].My[36] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4)*dy + cells[c].My[10]*dx*dy + (1.0L/2.0L)*cells[c].My[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3)*dy + cells[c].My[20]*dy + cells[c].My[21]*dx + (1.0L/24.0L)*cells[c].My[2]*pow(dx, 4) + cells[c].My[36] + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[5]*pow(dx, 3); - cells[p].My[37] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4)*dz + cells[c].My[10]*dx*dz + (1.0L/2.0L)*cells[c].My[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3)*dz + cells[c].My[20]*dz + cells[c].My[22]*dx + cells[c].My[37] + (1.0L/24.0L)*cells[c].My[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[6]*pow(dx, 3); - cells[p].My[38] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[10]*pow(dy, 2) + cells[c].My[11]*dx*dy + (1.0L/2.0L)*cells[c].My[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 2) + cells[c].My[21]*dy + cells[c].My[23]*dx + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3)*dy + cells[c].My[38] + (1.0L/2.0L)*cells[c].My[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[7]*pow(dx, 3); - cells[p].My[39] += (1.0L/6.0L)*cells[c].My[0]*pow(dx, 3)*dy*dz + cells[c].My[10]*dy*dz + cells[c].My[11]*dx*dz + cells[c].My[12]*dx*dy + (1.0L/2.0L)*cells[c].My[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*pow(dx, 2)*dy*dz + cells[c].My[21]*dz + cells[c].My[22]*dy + cells[c].My[24]*dx + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3)*dz + cells[c].My[39] + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3)*dy + cells[c].My[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[8]*pow(dx, 3); - cells[p].My[40] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[10]*pow(dz, 2) + cells[c].My[12]*dx*dz + (1.0L/2.0L)*cells[c].My[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*pow(dz, 2) + cells[c].My[22]*dz + cells[c].My[25]*dx + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3)*dz + cells[c].My[40] + (1.0L/2.0L)*cells[c].My[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[9]*pow(dx, 3); - cells[p].My[41] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[11]*pow(dy, 2) + cells[c].My[13]*dx*dy + (1.0L/2.0L)*cells[c].My[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*dx*pow(dy, 3) + cells[c].My[23]*dy + cells[c].My[26]*dx + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 2) + cells[c].My[41] + (1.0L/6.0L)*cells[c].My[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2)*dy; - cells[p].My[42] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[11]*dy*dz + (1.0L/2.0L)*cells[c].My[12]*pow(dy, 2) + cells[c].My[13]*dx*dz + cells[c].My[14]*dx*dy + (1.0L/2.0L)*cells[c].My[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*dx*pow(dy, 2)*dz + cells[c].My[23]*dz + cells[c].My[24]*dy + cells[c].My[27]*dx + (1.0L/2.0L)*cells[c].My[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 2) + cells[c].My[42] + (1.0L/2.0L)*cells[c].My[4]*pow(dy, 2)*dz + cells[c].My[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2)*dy; - cells[p].My[43] += (1.0L/4.0L)*cells[c].My[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[11]*pow(dz, 2) + cells[c].My[12]*dy*dz + cells[c].My[14]*dx*dz + cells[c].My[15]*dx*dy + (1.0L/2.0L)*cells[c].My[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].My[1]*dx*dy*pow(dz, 2) + cells[c].My[24]*dz + cells[c].My[25]*dy + cells[c].My[28]*dx + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[3]*pow(dx, 2)*dy*dz + cells[c].My[43] + (1.0L/2.0L)*cells[c].My[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[5]*dx*pow(dz, 2) + cells[c].My[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2)*dy; - cells[p].My[44] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[12]*pow(dz, 2) + cells[c].My[15]*dx*dz + (1.0L/2.0L)*cells[c].My[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[1]*dx*pow(dz, 3) + cells[c].My[25]*dz + cells[c].My[29]*dx + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*pow(dz, 2) + cells[c].My[44] + (1.0L/6.0L)*cells[c].My[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2)*dz; - cells[p].My[45] += (1.0L/24.0L)*cells[c].My[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[13]*pow(dy, 2) + cells[c].My[16]*dx*dy + (1.0L/24.0L)*cells[c].My[1]*pow(dy, 4) + cells[c].My[26]*dy + (1.0L/6.0L)*cells[c].My[2]*dx*pow(dy, 3) + cells[c].My[30]*dx + cells[c].My[45] + (1.0L/6.0L)*cells[c].My[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[7]*dx*pow(dy, 2); - cells[p].My[46] += (1.0L/6.0L)*cells[c].My[0]*dx*pow(dy, 3)*dz + cells[c].My[13]*dy*dz + (1.0L/2.0L)*cells[c].My[14]*pow(dy, 2) + cells[c].My[16]*dx*dz + cells[c].My[17]*dx*dy + (1.0L/6.0L)*cells[c].My[1]*pow(dy, 3)*dz + cells[c].My[26]*dz + cells[c].My[27]*dy + (1.0L/2.0L)*cells[c].My[2]*dx*pow(dy, 2)*dz + cells[c].My[31]*dx + (1.0L/6.0L)*cells[c].My[3]*dx*pow(dy, 3) + cells[c].My[46] + (1.0L/2.0L)*cells[c].My[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[6]*pow(dy, 3) + cells[c].My[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[8]*dx*pow(dy, 2); - cells[p].My[47] += (1.0L/4.0L)*cells[c].My[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[13]*pow(dz, 2) + cells[c].My[14]*dy*dz + (1.0L/2.0L)*cells[c].My[15]*pow(dy, 2) + cells[c].My[17]*dx*dz + cells[c].My[18]*dx*dy + (1.0L/4.0L)*cells[c].My[1]*pow(dy, 2)*pow(dz, 2) + cells[c].My[27]*dz + cells[c].My[28]*dy + (1.0L/2.0L)*cells[c].My[2]*dx*dy*pow(dz, 2) + cells[c].My[32]*dx + (1.0L/2.0L)*cells[c].My[3]*dx*pow(dy, 2)*dz + cells[c].My[47] + (1.0L/2.0L)*cells[c].My[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[7]*dx*pow(dz, 2) + cells[c].My[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[9]*dx*pow(dy, 2); - cells[p].My[48] += (1.0L/6.0L)*cells[c].My[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[14]*pow(dz, 2) + cells[c].My[15]*dy*dz + cells[c].My[18]*dx*dz + cells[c].My[19]*dx*dy + (1.0L/6.0L)*cells[c].My[1]*dy*pow(dz, 3) + cells[c].My[28]*dz + cells[c].My[29]*dy + (1.0L/6.0L)*cells[c].My[2]*dx*pow(dz, 3) + cells[c].My[33]*dx + (1.0L/2.0L)*cells[c].My[3]*dx*dy*pow(dz, 2) + cells[c].My[48] + (1.0L/6.0L)*cells[c].My[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*dx*pow(dz, 2) + cells[c].My[9]*dx*dy*dz; - cells[p].My[49] += (1.0L/24.0L)*cells[c].My[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[15]*pow(dz, 2) + cells[c].My[19]*dx*dz + (1.0L/24.0L)*cells[c].My[1]*pow(dz, 4) + cells[c].My[29]*dz + cells[c].My[34]*dx + (1.0L/6.0L)*cells[c].My[3]*dx*pow(dz, 3) + cells[c].My[49] + (1.0L/6.0L)*cells[c].My[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*dx*pow(dz, 2); - cells[p].My[50] += (1.0L/120.0L)*cells[c].My[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[2]*pow(dy, 4) + cells[c].My[30]*dy + cells[c].My[50] + (1.0L/6.0L)*cells[c].My[7]*pow(dy, 3); - cells[p].My[51] += (1.0L/24.0L)*cells[c].My[0]*pow(dy, 4)*dz + cells[c].My[16]*dy*dz + (1.0L/2.0L)*cells[c].My[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*pow(dy, 3)*dz + cells[c].My[30]*dz + cells[c].My[31]*dy + (1.0L/24.0L)*cells[c].My[3]*pow(dy, 4) + cells[c].My[51] + (1.0L/2.0L)*cells[c].My[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[8]*pow(dy, 3); - cells[p].My[52] += (1.0L/12.0L)*cells[c].My[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[16]*pow(dz, 2) + cells[c].My[17]*dy*dz + (1.0L/2.0L)*cells[c].My[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].My[2]*pow(dy, 2)*pow(dz, 2) + cells[c].My[31]*dz + cells[c].My[32]*dy + (1.0L/6.0L)*cells[c].My[3]*pow(dy, 3)*dz + cells[c].My[52] + (1.0L/2.0L)*cells[c].My[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[9]*pow(dy, 3); - cells[p].My[53] += (1.0L/12.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[17]*pow(dz, 2) + cells[c].My[18]*dy*dz + (1.0L/2.0L)*cells[c].My[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*dy*pow(dz, 3) + cells[c].My[32]*dz + cells[c].My[33]*dy + (1.0L/4.0L)*cells[c].My[3]*pow(dy, 2)*pow(dz, 2) + cells[c].My[53] + (1.0L/6.0L)*cells[c].My[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*pow(dy, 2)*dz; - cells[p].My[54] += (1.0L/24.0L)*cells[c].My[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[18]*pow(dz, 2) + cells[c].My[19]*dy*dz + (1.0L/24.0L)*cells[c].My[2]*pow(dz, 4) + cells[c].My[33]*dz + cells[c].My[34]*dy + (1.0L/6.0L)*cells[c].My[3]*dy*pow(dz, 3) + cells[c].My[54] + (1.0L/6.0L)*cells[c].My[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*dy*pow(dz, 2); - cells[p].My[55] += (1.0L/120.0L)*cells[c].My[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[19]*pow(dz, 2) + cells[c].My[34]*dz + (1.0L/24.0L)*cells[c].My[3]*pow(dz, 4) + cells[c].My[55] + (1.0L/6.0L)*cells[c].My[9]*pow(dz, 3); - cells[p].My[56] += (1.0L/720.0L)*cells[c].My[0]*pow(dx, 6) + (1.0L/6.0L)*cells[c].My[10]*pow(dx, 3) + (1.0L/120.0L)*cells[c].My[1]*pow(dx, 5) + (1.0L/2.0L)*cells[c].My[20]*pow(dx, 2) + cells[c].My[35]*dx + (1.0L/24.0L)*cells[c].My[4]*pow(dx, 4) + cells[c].My[56]; - cells[p].My[57] += (1.0L/120.0L)*cells[c].My[0]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].My[10]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[11]*pow(dx, 3) + (1.0L/24.0L)*cells[c].My[1]*pow(dx, 4)*dy + cells[c].My[20]*dx*dy + (1.0L/2.0L)*cells[c].My[21]*pow(dx, 2) + (1.0L/120.0L)*cells[c].My[2]*pow(dx, 5) + cells[c].My[35]*dy + cells[c].My[36]*dx + (1.0L/6.0L)*cells[c].My[4]*pow(dx, 3)*dy + cells[c].My[57] + (1.0L/24.0L)*cells[c].My[5]*pow(dx, 4); - cells[p].My[58] += (1.0L/120.0L)*cells[c].My[0]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].My[10]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[12]*pow(dx, 3) + (1.0L/24.0L)*cells[c].My[1]*pow(dx, 4)*dz + cells[c].My[20]*dx*dz + (1.0L/2.0L)*cells[c].My[22]*pow(dx, 2) + cells[c].My[35]*dz + cells[c].My[37]*dx + (1.0L/120.0L)*cells[c].My[3]*pow(dx, 5) + (1.0L/6.0L)*cells[c].My[4]*pow(dx, 3)*dz + cells[c].My[58] + (1.0L/24.0L)*cells[c].My[6]*pow(dx, 4); - cells[p].My[59] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[10]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[11]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[13]*pow(dx, 3) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[20]*pow(dy, 2) + cells[c].My[21]*dx*dy + (1.0L/2.0L)*cells[c].My[23]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[2]*pow(dx, 4)*dy + cells[c].My[36]*dy + cells[c].My[38]*dx + (1.0L/4.0L)*cells[c].My[4]*pow(dx, 2)*pow(dy, 2) + cells[c].My[59] + (1.0L/6.0L)*cells[c].My[5]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[7]*pow(dx, 4); - cells[p].My[60] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 4)*dy*dz + cells[c].My[10]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[11]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[12]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[14]*pow(dx, 3) + (1.0L/6.0L)*cells[c].My[1]*pow(dx, 3)*dy*dz + cells[c].My[20]*dy*dz + cells[c].My[21]*dx*dz + cells[c].My[22]*dx*dy + (1.0L/2.0L)*cells[c].My[24]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[2]*pow(dx, 4)*dz + cells[c].My[36]*dz + cells[c].My[37]*dy + cells[c].My[39]*dx + (1.0L/24.0L)*cells[c].My[3]*pow(dx, 4)*dy + (1.0L/2.0L)*cells[c].My[4]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].My[5]*pow(dx, 3)*dz + cells[c].My[60] + (1.0L/6.0L)*cells[c].My[6]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[8]*pow(dx, 4); - cells[p].My[61] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[10]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[12]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[15]*pow(dx, 3) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[20]*pow(dz, 2) + cells[c].My[22]*dx*dz + (1.0L/2.0L)*cells[c].My[25]*pow(dx, 2) + cells[c].My[37]*dz + (1.0L/24.0L)*cells[c].My[3]*pow(dx, 4)*dz + cells[c].My[40]*dx + (1.0L/4.0L)*cells[c].My[4]*pow(dx, 2)*pow(dz, 2) + cells[c].My[61] + (1.0L/6.0L)*cells[c].My[6]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].My[9]*pow(dx, 4); - cells[p].My[62] += (1.0L/36.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].My[10]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[11]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[13]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[16]*pow(dx, 3) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[21]*pow(dy, 2) + cells[c].My[23]*dx*dy + (1.0L/2.0L)*cells[c].My[26]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 3)*pow(dy, 2) + cells[c].My[38]*dy + cells[c].My[41]*dx + (1.0L/6.0L)*cells[c].My[4]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].My[5]*pow(dx, 2)*pow(dy, 2) + cells[c].My[62] + (1.0L/6.0L)*cells[c].My[7]*pow(dx, 3)*dy; - cells[p].My[63] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[10]*pow(dy, 2)*dz + cells[c].My[11]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[12]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[13]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[14]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[17]*pow(dx, 3) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[21]*dy*dz + (1.0L/2.0L)*cells[c].My[22]*pow(dy, 2) + cells[c].My[23]*dx*dz + cells[c].My[24]*dx*dy + (1.0L/2.0L)*cells[c].My[27]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[2]*pow(dx, 3)*dy*dz + cells[c].My[38]*dz + cells[c].My[39]*dy + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 3)*pow(dy, 2) + cells[c].My[42]*dx + (1.0L/2.0L)*cells[c].My[4]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[5]*pow(dx, 2)*dy*dz + cells[c].My[63] + (1.0L/4.0L)*cells[c].My[6]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[7]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[8]*pow(dx, 3)*dy; - cells[p].My[64] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[10]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[11]*dx*pow(dz, 2) + cells[c].My[12]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[14]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[15]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[18]*pow(dx, 3) + (1.0L/4.0L)*cells[c].My[1]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[21]*pow(dz, 2) + cells[c].My[22]*dy*dz + cells[c].My[24]*dx*dz + cells[c].My[25]*dx*dy + (1.0L/2.0L)*cells[c].My[28]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 3)*pow(dz, 2) + cells[c].My[39]*dz + (1.0L/6.0L)*cells[c].My[3]*pow(dx, 3)*dy*dz + cells[c].My[40]*dy + cells[c].My[43]*dx + (1.0L/2.0L)*cells[c].My[4]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[5]*pow(dx, 2)*pow(dz, 2) + cells[c].My[64] + (1.0L/2.0L)*cells[c].My[6]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].My[8]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[9]*pow(dx, 3)*dy; - cells[p].My[65] += (1.0L/36.0L)*cells[c].My[0]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[10]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[12]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[15]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[19]*pow(dx, 3) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[22]*pow(dz, 2) + cells[c].My[25]*dx*dz + (1.0L/2.0L)*cells[c].My[29]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 3)*pow(dz, 2) + cells[c].My[40]*dz + cells[c].My[44]*dx + (1.0L/6.0L)*cells[c].My[4]*dx*pow(dz, 3) + cells[c].My[65] + (1.0L/4.0L)*cells[c].My[6]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[9]*pow(dx, 3)*dz; - cells[p].My[66] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].My[11]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[13]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[16]*pow(dx, 2)*dy + (1.0L/24.0L)*cells[c].My[1]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[23]*pow(dy, 2) + cells[c].My[26]*dx*dy + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[30]*pow(dx, 2) + cells[c].My[41]*dy + cells[c].My[45]*dx + (1.0L/24.0L)*cells[c].My[4]*pow(dy, 4) + (1.0L/6.0L)*cells[c].My[5]*dx*pow(dy, 3) + cells[c].My[66] + (1.0L/4.0L)*cells[c].My[7]*pow(dx, 2)*pow(dy, 2); - cells[p].My[67] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[11]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[12]*pow(dy, 3) + cells[c].My[13]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[14]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[16]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[17]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[1]*dx*pow(dy, 3)*dz + cells[c].My[23]*dy*dz + (1.0L/2.0L)*cells[c].My[24]*pow(dy, 2) + cells[c].My[26]*dx*dz + cells[c].My[27]*dx*dy + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[31]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 3) + cells[c].My[41]*dz + cells[c].My[42]*dy + cells[c].My[46]*dx + (1.0L/6.0L)*cells[c].My[4]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[5]*dx*pow(dy, 2)*dz + cells[c].My[67] + (1.0L/6.0L)*cells[c].My[6]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[7]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[8]*pow(dx, 2)*pow(dy, 2); - cells[p].My[68] += (1.0L/8.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[11]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[12]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[13]*dx*pow(dz, 2) + cells[c].My[14]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[15]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[17]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[18]*pow(dx, 2)*dy + (1.0L/4.0L)*cells[c].My[1]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[23]*pow(dz, 2) + cells[c].My[24]*dy*dz + (1.0L/2.0L)*cells[c].My[25]*pow(dy, 2) + cells[c].My[27]*dx*dz + cells[c].My[28]*dx*dy + (1.0L/4.0L)*cells[c].My[2]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[32]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[42]*dz + cells[c].My[43]*dy + cells[c].My[47]*dx + (1.0L/4.0L)*cells[c].My[4]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[5]*dx*dy*pow(dz, 2) + cells[c].My[68] + (1.0L/2.0L)*cells[c].My[6]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].My[7]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[9]*pow(dx, 2)*pow(dy, 2); - cells[p].My[69] += (1.0L/12.0L)*cells[c].My[0]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[11]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[12]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[14]*dx*pow(dz, 2) + cells[c].My[15]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[18]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[19]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[1]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[24]*pow(dz, 2) + cells[c].My[25]*dy*dz + cells[c].My[28]*dx*dz + cells[c].My[29]*dx*dy + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[33]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[3]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].My[43]*dz + cells[c].My[44]*dy + cells[c].My[48]*dx + (1.0L/6.0L)*cells[c].My[4]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[5]*dx*pow(dz, 3) + cells[c].My[69] + (1.0L/2.0L)*cells[c].My[6]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[8]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*pow(dx, 2)*dy*dz; - cells[p].My[70] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[12]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[15]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[19]*pow(dx, 2)*dz + (1.0L/24.0L)*cells[c].My[1]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[25]*pow(dz, 2) + cells[c].My[29]*dx*dz + (1.0L/2.0L)*cells[c].My[34]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 2)*pow(dz, 3) + cells[c].My[44]*dz + cells[c].My[49]*dx + (1.0L/24.0L)*cells[c].My[4]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[6]*dx*pow(dz, 3) + cells[c].My[70] + (1.0L/4.0L)*cells[c].My[9]*pow(dx, 2)*pow(dz, 2); - cells[p].My[71] += (1.0L/120.0L)*cells[c].My[0]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].My[13]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[16]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].My[1]*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[26]*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[2]*dx*pow(dy, 4) + cells[c].My[30]*dx*dy + cells[c].My[45]*dy + cells[c].My[50]*dx + (1.0L/24.0L)*cells[c].My[5]*pow(dy, 4) + cells[c].My[71] + (1.0L/6.0L)*cells[c].My[7]*dx*pow(dy, 3); - cells[p].My[72] += (1.0L/24.0L)*cells[c].My[0]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].My[13]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[14]*pow(dy, 3) + cells[c].My[16]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[17]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[1]*pow(dy, 4)*dz + cells[c].My[26]*dy*dz + (1.0L/2.0L)*cells[c].My[27]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*dx*pow(dy, 3)*dz + cells[c].My[30]*dx*dz + cells[c].My[31]*dx*dy + (1.0L/24.0L)*cells[c].My[3]*dx*pow(dy, 4) + cells[c].My[45]*dz + cells[c].My[46]*dy + cells[c].My[51]*dx + (1.0L/6.0L)*cells[c].My[5]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[6]*pow(dy, 4) + cells[c].My[72] + (1.0L/2.0L)*cells[c].My[7]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[8]*dx*pow(dy, 3); - cells[p].My[73] += (1.0L/12.0L)*cells[c].My[0]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[13]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[14]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[15]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[16]*dx*pow(dz, 2) + cells[c].My[17]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[18]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[1]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[26]*pow(dz, 2) + cells[c].My[27]*dy*dz + (1.0L/2.0L)*cells[c].My[28]*pow(dy, 2) + (1.0L/4.0L)*cells[c].My[2]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].My[31]*dx*dz + cells[c].My[32]*dx*dy + (1.0L/6.0L)*cells[c].My[3]*dx*pow(dy, 3)*dz + cells[c].My[46]*dz + cells[c].My[47]*dy + cells[c].My[52]*dx + (1.0L/4.0L)*cells[c].My[5]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[6]*pow(dy, 3)*dz + cells[c].My[73] + (1.0L/2.0L)*cells[c].My[7]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[8]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[9]*dx*pow(dy, 3); - cells[p].My[74] += (1.0L/12.0L)*cells[c].My[0]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[13]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[14]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[15]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[17]*dx*pow(dz, 2) + cells[c].My[18]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[19]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[1]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[27]*pow(dz, 2) + cells[c].My[28]*dy*dz + (1.0L/2.0L)*cells[c].My[29]*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[2]*dx*dy*pow(dz, 3) + cells[c].My[32]*dx*dz + cells[c].My[33]*dx*dy + (1.0L/4.0L)*cells[c].My[3]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].My[47]*dz + cells[c].My[48]*dy + cells[c].My[53]*dx + (1.0L/6.0L)*cells[c].My[5]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[6]*pow(dy, 2)*pow(dz, 2) + cells[c].My[74] + (1.0L/6.0L)*cells[c].My[7]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[8]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[9]*dx*pow(dy, 2)*dz; - cells[p].My[75] += (1.0L/24.0L)*cells[c].My[0]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[14]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[15]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[18]*dx*pow(dz, 2) + cells[c].My[19]*dx*dy*dz + (1.0L/24.0L)*cells[c].My[1]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[28]*pow(dz, 2) + cells[c].My[29]*dy*dz + (1.0L/24.0L)*cells[c].My[2]*dx*pow(dz, 4) + cells[c].My[33]*dx*dz + cells[c].My[34]*dx*dy + (1.0L/6.0L)*cells[c].My[3]*dx*dy*pow(dz, 3) + cells[c].My[48]*dz + cells[c].My[49]*dy + cells[c].My[54]*dx + (1.0L/24.0L)*cells[c].My[5]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[6]*dy*pow(dz, 3) + cells[c].My[75] + (1.0L/6.0L)*cells[c].My[8]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[9]*dx*dy*pow(dz, 2); - cells[p].My[76] += (1.0L/120.0L)*cells[c].My[0]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].My[15]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[19]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[1]*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[29]*pow(dz, 2) + cells[c].My[34]*dx*dz + (1.0L/24.0L)*cells[c].My[3]*dx*pow(dz, 4) + cells[c].My[49]*dz + cells[c].My[55]*dx + (1.0L/24.0L)*cells[c].My[6]*pow(dz, 4) + cells[c].My[76] + (1.0L/6.0L)*cells[c].My[9]*dx*pow(dz, 3); - cells[p].My[77] += (1.0L/720.0L)*cells[c].My[0]*pow(dy, 6) + (1.0L/6.0L)*cells[c].My[16]*pow(dy, 3) + (1.0L/120.0L)*cells[c].My[2]*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[30]*pow(dy, 2) + cells[c].My[50]*dy + cells[c].My[77] + (1.0L/24.0L)*cells[c].My[7]*pow(dy, 4); - cells[p].My[78] += (1.0L/120.0L)*cells[c].My[0]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].My[16]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[17]*pow(dy, 3) + (1.0L/24.0L)*cells[c].My[2]*pow(dy, 4)*dz + cells[c].My[30]*dy*dz + (1.0L/2.0L)*cells[c].My[31]*pow(dy, 2) + (1.0L/120.0L)*cells[c].My[3]*pow(dy, 5) + cells[c].My[50]*dz + cells[c].My[51]*dy + cells[c].My[78] + (1.0L/6.0L)*cells[c].My[7]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[8]*pow(dy, 4); - cells[p].My[79] += (1.0L/48.0L)*cells[c].My[0]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[16]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[17]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[18]*pow(dy, 3) + (1.0L/12.0L)*cells[c].My[2]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[30]*pow(dz, 2) + cells[c].My[31]*dy*dz + (1.0L/2.0L)*cells[c].My[32]*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[3]*pow(dy, 4)*dz + cells[c].My[51]*dz + cells[c].My[52]*dy + cells[c].My[79] + (1.0L/4.0L)*cells[c].My[7]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[8]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[9]*pow(dy, 4); - cells[p].My[80] += (1.0L/36.0L)*cells[c].My[0]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[16]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[17]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[18]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[19]*pow(dy, 3) + (1.0L/12.0L)*cells[c].My[2]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[31]*pow(dz, 2) + cells[c].My[32]*dy*dz + (1.0L/2.0L)*cells[c].My[33]*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dy, 3)*pow(dz, 2) + cells[c].My[52]*dz + cells[c].My[53]*dy + (1.0L/6.0L)*cells[c].My[7]*dy*pow(dz, 3) + cells[c].My[80] + (1.0L/4.0L)*cells[c].My[8]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[9]*pow(dy, 3)*dz; - cells[p].My[81] += (1.0L/48.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[17]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[18]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[19]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].My[2]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[32]*pow(dz, 2) + cells[c].My[33]*dy*dz + (1.0L/2.0L)*cells[c].My[34]*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dy, 2)*pow(dz, 3) + cells[c].My[53]*dz + cells[c].My[54]*dy + (1.0L/24.0L)*cells[c].My[7]*pow(dz, 4) + cells[c].My[81] + (1.0L/6.0L)*cells[c].My[8]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[9]*pow(dy, 2)*pow(dz, 2); - cells[p].My[82] += (1.0L/120.0L)*cells[c].My[0]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].My[18]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[19]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[2]*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[33]*pow(dz, 2) + cells[c].My[34]*dy*dz + (1.0L/24.0L)*cells[c].My[3]*dy*pow(dz, 4) + cells[c].My[54]*dz + cells[c].My[55]*dy + cells[c].My[82] + (1.0L/24.0L)*cells[c].My[8]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[9]*dy*pow(dz, 3); - cells[p].My[83] += (1.0L/720.0L)*cells[c].My[0]*pow(dz, 6) + (1.0L/6.0L)*cells[c].My[19]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[34]*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[3]*pow(dz, 5) + cells[c].My[55]*dz + cells[c].My[83] + (1.0L/24.0L)*cells[c].My[9]*pow(dz, 4); - cells[p].My[84] += (1.0L/5040.0L)*cells[c].My[0]*pow(dx, 7) + (1.0L/24.0L)*cells[c].My[10]*pow(dx, 4) + (1.0L/720.0L)*cells[c].My[1]*pow(dx, 6) + (1.0L/6.0L)*cells[c].My[20]*pow(dx, 3) + (1.0L/2.0L)*cells[c].My[35]*pow(dx, 2) + (1.0L/120.0L)*cells[c].My[4]*pow(dx, 5) + cells[c].My[56]*dx + cells[c].My[84]; - cells[p].My[85] += (1.0L/720.0L)*cells[c].My[0]*pow(dx, 6)*dy + (1.0L/6.0L)*cells[c].My[10]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[11]*pow(dx, 4) + (1.0L/120.0L)*cells[c].My[1]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].My[20]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[21]*pow(dx, 3) + (1.0L/720.0L)*cells[c].My[2]*pow(dx, 6) + cells[c].My[35]*dx*dy + (1.0L/2.0L)*cells[c].My[36]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[4]*pow(dx, 4)*dy + cells[c].My[56]*dy + cells[c].My[57]*dx + (1.0L/120.0L)*cells[c].My[5]*pow(dx, 5) + cells[c].My[85]; - cells[p].My[86] += (1.0L/720.0L)*cells[c].My[0]*pow(dx, 6)*dz + (1.0L/6.0L)*cells[c].My[10]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].My[12]*pow(dx, 4) + (1.0L/120.0L)*cells[c].My[1]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].My[20]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[22]*pow(dx, 3) + cells[c].My[35]*dx*dz + (1.0L/2.0L)*cells[c].My[37]*pow(dx, 2) + (1.0L/720.0L)*cells[c].My[3]*pow(dx, 6) + (1.0L/24.0L)*cells[c].My[4]*pow(dx, 4)*dz + cells[c].My[56]*dz + cells[c].My[58]*dx + (1.0L/120.0L)*cells[c].My[6]*pow(dx, 5) + cells[c].My[86]; - cells[p].My[87] += (1.0L/240.0L)*cells[c].My[0]*pow(dx, 5)*pow(dy, 2) + (1.0L/4.0L)*cells[c].My[10]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[11]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[13]*pow(dx, 4) + (1.0L/48.0L)*cells[c].My[1]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[20]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[21]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[23]*pow(dx, 3) + (1.0L/120.0L)*cells[c].My[2]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].My[35]*pow(dy, 2) + cells[c].My[36]*dx*dy + (1.0L/2.0L)*cells[c].My[38]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[4]*pow(dx, 3)*pow(dy, 2) + cells[c].My[57]*dy + cells[c].My[59]*dx + (1.0L/24.0L)*cells[c].My[5]*pow(dx, 4)*dy + (1.0L/120.0L)*cells[c].My[7]*pow(dx, 5) + cells[c].My[87]; - cells[p].My[88] += (1.0L/120.0L)*cells[c].My[0]*pow(dx, 5)*dy*dz + (1.0L/2.0L)*cells[c].My[10]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].My[11]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[12]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[14]*pow(dx, 4) + (1.0L/24.0L)*cells[c].My[1]*pow(dx, 4)*dy*dz + cells[c].My[20]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[21]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[22]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[24]*pow(dx, 3) + (1.0L/120.0L)*cells[c].My[2]*pow(dx, 5)*dz + cells[c].My[35]*dy*dz + cells[c].My[36]*dx*dz + cells[c].My[37]*dx*dy + (1.0L/2.0L)*cells[c].My[39]*pow(dx, 2) + (1.0L/120.0L)*cells[c].My[3]*pow(dx, 5)*dy + (1.0L/6.0L)*cells[c].My[4]*pow(dx, 3)*dy*dz + cells[c].My[57]*dz + cells[c].My[58]*dy + (1.0L/24.0L)*cells[c].My[5]*pow(dx, 4)*dz + cells[c].My[60]*dx + (1.0L/24.0L)*cells[c].My[6]*pow(dx, 4)*dy + cells[c].My[88] + (1.0L/120.0L)*cells[c].My[8]*pow(dx, 5); - cells[p].My[89] += (1.0L/240.0L)*cells[c].My[0]*pow(dx, 5)*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[10]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[12]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].My[15]*pow(dx, 4) + (1.0L/48.0L)*cells[c].My[1]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[20]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[22]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[25]*pow(dx, 3) + (1.0L/2.0L)*cells[c].My[35]*pow(dz, 2) + cells[c].My[37]*dx*dz + (1.0L/120.0L)*cells[c].My[3]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].My[40]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[4]*pow(dx, 3)*pow(dz, 2) + cells[c].My[58]*dz + cells[c].My[61]*dx + (1.0L/24.0L)*cells[c].My[6]*pow(dx, 4)*dz + cells[c].My[89] + (1.0L/120.0L)*cells[c].My[9]*pow(dx, 5); - cells[p].My[90] += (1.0L/144.0L)*cells[c].My[0]*pow(dx, 4)*pow(dy, 3) + (1.0L/6.0L)*cells[c].My[10]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].My[11]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[13]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[16]*pow(dx, 4) + (1.0L/36.0L)*cells[c].My[1]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].My[20]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[21]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[23]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[26]*pow(dx, 3) + (1.0L/48.0L)*cells[c].My[2]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[36]*pow(dy, 2) + cells[c].My[38]*dx*dy + (1.0L/2.0L)*cells[c].My[41]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[4]*pow(dx, 2)*pow(dy, 3) + cells[c].My[59]*dy + (1.0L/12.0L)*cells[c].My[5]*pow(dx, 3)*pow(dy, 2) + cells[c].My[62]*dx + (1.0L/24.0L)*cells[c].My[7]*pow(dx, 4)*dy + cells[c].My[90]; - cells[p].My[91] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 4)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[10]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[11]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[12]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[13]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[14]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[17]*pow(dx, 4) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[20]*pow(dy, 2)*dz + cells[c].My[21]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[22]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[23]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[24]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[27]*pow(dx, 3) + (1.0L/24.0L)*cells[c].My[2]*pow(dx, 4)*dy*dz + cells[c].My[36]*dy*dz + (1.0L/2.0L)*cells[c].My[37]*pow(dy, 2) + cells[c].My[38]*dx*dz + cells[c].My[39]*dx*dy + (1.0L/48.0L)*cells[c].My[3]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[42]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[4]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[59]*dz + (1.0L/6.0L)*cells[c].My[5]*pow(dx, 3)*dy*dz + cells[c].My[60]*dy + cells[c].My[63]*dx + (1.0L/12.0L)*cells[c].My[6]*pow(dx, 3)*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[7]*pow(dx, 4)*dz + (1.0L/24.0L)*cells[c].My[8]*pow(dx, 4)*dy + cells[c].My[91]; - cells[p].My[92] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 4)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[10]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[11]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[12]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].My[14]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[15]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].My[18]*pow(dx, 4) + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[20]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[21]*dx*pow(dz, 2) + cells[c].My[22]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[24]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[25]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].My[28]*pow(dx, 3) + (1.0L/48.0L)*cells[c].My[2]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[36]*pow(dz, 2) + cells[c].My[37]*dy*dz + cells[c].My[39]*dx*dz + (1.0L/24.0L)*cells[c].My[3]*pow(dx, 4)*dy*dz + cells[c].My[40]*dx*dy + (1.0L/2.0L)*cells[c].My[43]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[4]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/12.0L)*cells[c].My[5]*pow(dx, 3)*pow(dz, 2) + cells[c].My[60]*dz + cells[c].My[61]*dy + cells[c].My[64]*dx + (1.0L/6.0L)*cells[c].My[6]*pow(dx, 3)*dy*dz + (1.0L/24.0L)*cells[c].My[8]*pow(dx, 4)*dz + cells[c].My[92] + (1.0L/24.0L)*cells[c].My[9]*pow(dx, 4)*dy; - cells[p].My[93] += (1.0L/144.0L)*cells[c].My[0]*pow(dx, 4)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[10]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[12]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[15]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].My[19]*pow(dx, 4) + (1.0L/36.0L)*cells[c].My[1]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[20]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[22]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[25]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[29]*pow(dx, 3) + (1.0L/2.0L)*cells[c].My[37]*pow(dz, 2) + (1.0L/48.0L)*cells[c].My[3]*pow(dx, 4)*pow(dz, 2) + cells[c].My[40]*dx*dz + (1.0L/2.0L)*cells[c].My[44]*pow(dx, 2) + (1.0L/12.0L)*cells[c].My[4]*pow(dx, 2)*pow(dz, 3) + cells[c].My[61]*dz + cells[c].My[65]*dx + (1.0L/12.0L)*cells[c].My[6]*pow(dx, 3)*pow(dz, 2) + cells[c].My[93] + (1.0L/24.0L)*cells[c].My[9]*pow(dx, 4)*dz; - cells[p].My[94] += (1.0L/144.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 4) + (1.0L/24.0L)*cells[c].My[10]*pow(dy, 4) + (1.0L/6.0L)*cells[c].My[11]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].My[13]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[16]*pow(dx, 3)*dy + (1.0L/48.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].My[21]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[23]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[26]*pow(dx, 2)*dy + (1.0L/36.0L)*cells[c].My[2]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].My[30]*pow(dx, 3) + (1.0L/2.0L)*cells[c].My[38]*pow(dy, 2) + cells[c].My[41]*dx*dy + (1.0L/2.0L)*cells[c].My[45]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[4]*dx*pow(dy, 4) + (1.0L/12.0L)*cells[c].My[5]*pow(dx, 2)*pow(dy, 3) + cells[c].My[62]*dy + cells[c].My[66]*dx + (1.0L/12.0L)*cells[c].My[7]*pow(dx, 3)*pow(dy, 2) + cells[c].My[94]; - cells[p].My[95] += (1.0L/36.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 3)*dz + (1.0L/6.0L)*cells[c].My[10]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[11]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[12]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[13]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[14]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[16]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[17]*pow(dx, 3)*dy + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[21]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[22]*pow(dy, 3) + cells[c].My[23]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[24]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[26]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[27]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[31]*pow(dx, 3) + cells[c].My[38]*dy*dz + (1.0L/2.0L)*cells[c].My[39]*pow(dy, 2) + (1.0L/36.0L)*cells[c].My[3]*pow(dx, 3)*pow(dy, 3) + cells[c].My[41]*dx*dz + cells[c].My[42]*dx*dy + (1.0L/2.0L)*cells[c].My[46]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[4]*dx*pow(dy, 3)*dz + (1.0L/4.0L)*cells[c].My[5]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].My[62]*dz + cells[c].My[63]*dy + cells[c].My[67]*dx + (1.0L/12.0L)*cells[c].My[6]*pow(dx, 2)*pow(dy, 3) + (1.0L/6.0L)*cells[c].My[7]*pow(dx, 3)*dy*dz + (1.0L/12.0L)*cells[c].My[8]*pow(dx, 3)*pow(dy, 2) + cells[c].My[95]; - cells[p].My[96] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 3)*pow(dy, 2)*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[10]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[11]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[12]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].My[13]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[14]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[15]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].My[17]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[18]*pow(dx, 3)*dy + (1.0L/8.0L)*cells[c].My[1]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[21]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[22]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[23]*dx*pow(dz, 2) + cells[c].My[24]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[25]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[27]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[28]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[32]*pow(dx, 3) + (1.0L/2.0L)*cells[c].My[38]*pow(dz, 2) + cells[c].My[39]*dy*dz + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[40]*pow(dy, 2) + cells[c].My[42]*dx*dz + cells[c].My[43]*dx*dy + (1.0L/2.0L)*cells[c].My[47]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[4]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[5]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].My[63]*dz + cells[c].My[64]*dy + cells[c].My[68]*dx + (1.0L/4.0L)*cells[c].My[6]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].My[7]*pow(dx, 3)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[8]*pow(dx, 3)*dy*dz + cells[c].My[96] + (1.0L/12.0L)*cells[c].My[9]*pow(dx, 3)*pow(dy, 2); - cells[p].My[97] += (1.0L/36.0L)*cells[c].My[0]*pow(dx, 3)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[10]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[11]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[12]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[14]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[15]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].My[18]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].My[19]*pow(dx, 3)*dy + (1.0L/12.0L)*cells[c].My[1]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[21]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[22]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[24]*dx*pow(dz, 2) + cells[c].My[25]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[28]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[29]*pow(dx, 2)*dy + (1.0L/36.0L)*cells[c].My[2]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[33]*pow(dx, 3) + (1.0L/2.0L)*cells[c].My[39]*pow(dz, 2) + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 3)*dy*pow(dz, 2) + cells[c].My[40]*dy*dz + cells[c].My[43]*dx*dz + cells[c].My[44]*dx*dy + (1.0L/2.0L)*cells[c].My[48]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[4]*dx*dy*pow(dz, 3) + (1.0L/12.0L)*cells[c].My[5]*pow(dx, 2)*pow(dz, 3) + cells[c].My[64]*dz + cells[c].My[65]*dy + cells[c].My[69]*dx + (1.0L/4.0L)*cells[c].My[6]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/12.0L)*cells[c].My[8]*pow(dx, 3)*pow(dz, 2) + cells[c].My[97] + (1.0L/6.0L)*cells[c].My[9]*pow(dx, 3)*dy*dz; - cells[p].My[98] += (1.0L/144.0L)*cells[c].My[0]*pow(dx, 3)*pow(dz, 4) + (1.0L/24.0L)*cells[c].My[10]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[12]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[15]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[19]*pow(dx, 3)*dz + (1.0L/48.0L)*cells[c].My[1]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[22]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[25]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[29]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].My[34]*pow(dx, 3) + (1.0L/36.0L)*cells[c].My[3]*pow(dx, 3)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[40]*pow(dz, 2) + cells[c].My[44]*dx*dz + (1.0L/2.0L)*cells[c].My[49]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[4]*dx*pow(dz, 4) + cells[c].My[65]*dz + (1.0L/12.0L)*cells[c].My[6]*pow(dx, 2)*pow(dz, 3) + cells[c].My[70]*dx + cells[c].My[98] + (1.0L/12.0L)*cells[c].My[9]*pow(dx, 3)*pow(dz, 2); - cells[p].My[99] += (1.0L/240.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 5) + (1.0L/24.0L)*cells[c].My[11]*pow(dy, 4) + (1.0L/6.0L)*cells[c].My[13]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].My[16]*pow(dx, 2)*pow(dy, 2) + (1.0L/120.0L)*cells[c].My[1]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].My[23]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[26]*dx*pow(dy, 2) + (1.0L/48.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[30]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].My[41]*pow(dy, 2) + cells[c].My[45]*dx*dy + (1.0L/120.0L)*cells[c].My[4]*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[50]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[5]*dx*pow(dy, 4) + cells[c].My[66]*dy + cells[c].My[71]*dx + (1.0L/12.0L)*cells[c].My[7]*pow(dx, 2)*pow(dy, 3) + cells[c].My[99]; - cells[p].My[100] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 4)*dz + cells[c].My[100] + (1.0L/6.0L)*cells[c].My[11]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[12]*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[13]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[14]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[16]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[17]*pow(dx, 2)*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[1]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].My[23]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[24]*pow(dy, 3) + cells[c].My[26]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[27]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[30]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[31]*pow(dx, 2)*dy + (1.0L/48.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 4) + cells[c].My[41]*dy*dz + (1.0L/2.0L)*cells[c].My[42]*pow(dy, 2) + cells[c].My[45]*dx*dz + cells[c].My[46]*dx*dy + (1.0L/24.0L)*cells[c].My[4]*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].My[51]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[5]*dx*pow(dy, 3)*dz + cells[c].My[66]*dz + cells[c].My[67]*dy + (1.0L/24.0L)*cells[c].My[6]*dx*pow(dy, 4) + cells[c].My[72]*dx + (1.0L/4.0L)*cells[c].My[7]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].My[8]*pow(dx, 2)*pow(dy, 3); - cells[p].My[101] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 3)*pow(dz, 2) + cells[c].My[101] + (1.0L/4.0L)*cells[c].My[11]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[12]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[13]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[14]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[15]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].My[16]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[17]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[18]*pow(dx, 2)*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[1]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[23]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[24]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[25]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[26]*dx*pow(dz, 2) + cells[c].My[27]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[28]*dx*pow(dy, 2) + (1.0L/8.0L)*cells[c].My[2]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[31]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[32]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].My[41]*pow(dz, 2) + cells[c].My[42]*dy*dz + (1.0L/2.0L)*cells[c].My[43]*pow(dy, 2) + cells[c].My[46]*dx*dz + cells[c].My[47]*dx*dy + (1.0L/12.0L)*cells[c].My[4]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[52]*pow(dx, 2) + (1.0L/4.0L)*cells[c].My[5]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].My[67]*dz + cells[c].My[68]*dy + (1.0L/6.0L)*cells[c].My[6]*dx*pow(dy, 3)*dz + cells[c].My[73]*dx + (1.0L/4.0L)*cells[c].My[7]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[8]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].My[9]*pow(dx, 2)*pow(dy, 3); - cells[p].My[102] += (1.0L/24.0L)*cells[c].My[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 3) + cells[c].My[102] + (1.0L/6.0L)*cells[c].My[11]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[12]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[13]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[14]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[15]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].My[17]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[18]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].My[19]*pow(dx, 2)*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[1]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[23]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[24]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[25]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].My[27]*dx*pow(dz, 2) + cells[c].My[28]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[29]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[2]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[32]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[33]*pow(dx, 2)*dy + (1.0L/8.0L)*cells[c].My[3]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[42]*pow(dz, 2) + cells[c].My[43]*dy*dz + (1.0L/2.0L)*cells[c].My[44]*pow(dy, 2) + cells[c].My[47]*dx*dz + cells[c].My[48]*dx*dy + (1.0L/12.0L)*cells[c].My[4]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[53]*pow(dx, 2) + (1.0L/6.0L)*cells[c].My[5]*dx*dy*pow(dz, 3) + cells[c].My[68]*dz + cells[c].My[69]*dy + (1.0L/4.0L)*cells[c].My[6]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].My[74]*dx + (1.0L/12.0L)*cells[c].My[7]*pow(dx, 2)*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[8]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[9]*pow(dx, 2)*pow(dy, 2)*dz; - cells[p].My[103] += (1.0L/48.0L)*cells[c].My[0]*pow(dx, 2)*dy*pow(dz, 4) + cells[c].My[103] + (1.0L/24.0L)*cells[c].My[11]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[12]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[14]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[15]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].My[18]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[19]*pow(dx, 2)*dy*dz + (1.0L/24.0L)*cells[c].My[1]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[24]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[25]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[28]*dx*pow(dz, 2) + cells[c].My[29]*dx*dy*dz + (1.0L/48.0L)*cells[c].My[2]*pow(dx, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[33]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].My[34]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].My[3]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[43]*pow(dz, 2) + cells[c].My[44]*dy*dz + cells[c].My[48]*dx*dz + cells[c].My[49]*dx*dy + (1.0L/24.0L)*cells[c].My[4]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[54]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[5]*dx*pow(dz, 4) + cells[c].My[69]*dz + (1.0L/6.0L)*cells[c].My[6]*dx*dy*pow(dz, 3) + cells[c].My[70]*dy + cells[c].My[75]*dx + (1.0L/12.0L)*cells[c].My[8]*pow(dx, 2)*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[9]*pow(dx, 2)*dy*pow(dz, 2); - cells[p].My[104] += (1.0L/240.0L)*cells[c].My[0]*pow(dx, 2)*pow(dz, 5) + cells[c].My[104] + (1.0L/24.0L)*cells[c].My[12]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[15]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[19]*pow(dx, 2)*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[1]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].My[25]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[29]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[34]*pow(dx, 2)*dz + (1.0L/48.0L)*cells[c].My[3]*pow(dx, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[44]*pow(dz, 2) + cells[c].My[49]*dx*dz + (1.0L/120.0L)*cells[c].My[4]*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[55]*pow(dx, 2) + (1.0L/24.0L)*cells[c].My[6]*dx*pow(dz, 4) + cells[c].My[70]*dz + cells[c].My[76]*dx + (1.0L/12.0L)*cells[c].My[9]*pow(dx, 2)*pow(dz, 3); - cells[p].My[105] += (1.0L/720.0L)*cells[c].My[0]*dx*pow(dy, 6) + cells[c].My[105] + (1.0L/24.0L)*cells[c].My[13]*pow(dy, 4) + (1.0L/6.0L)*cells[c].My[16]*dx*pow(dy, 3) + (1.0L/720.0L)*cells[c].My[1]*pow(dy, 6) + (1.0L/6.0L)*cells[c].My[26]*pow(dy, 3) + (1.0L/120.0L)*cells[c].My[2]*dx*pow(dy, 5) + (1.0L/2.0L)*cells[c].My[30]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].My[45]*pow(dy, 2) + cells[c].My[50]*dx*dy + (1.0L/120.0L)*cells[c].My[5]*pow(dy, 5) + cells[c].My[71]*dy + cells[c].My[77]*dx + (1.0L/24.0L)*cells[c].My[7]*dx*pow(dy, 4); - cells[p].My[106] += (1.0L/120.0L)*cells[c].My[0]*dx*pow(dy, 5)*dz + cells[c].My[106] + (1.0L/6.0L)*cells[c].My[13]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[14]*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[16]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[17]*dx*pow(dy, 3) + (1.0L/120.0L)*cells[c].My[1]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].My[26]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[27]*pow(dy, 3) + (1.0L/24.0L)*cells[c].My[2]*dx*pow(dy, 4)*dz + cells[c].My[30]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[31]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].My[3]*dx*pow(dy, 5) + cells[c].My[45]*dy*dz + (1.0L/2.0L)*cells[c].My[46]*pow(dy, 2) + cells[c].My[50]*dx*dz + cells[c].My[51]*dx*dy + (1.0L/24.0L)*cells[c].My[5]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].My[6]*pow(dy, 5) + cells[c].My[71]*dz + cells[c].My[72]*dy + cells[c].My[78]*dx + (1.0L/6.0L)*cells[c].My[7]*dx*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[8]*dx*pow(dy, 4); - cells[p].My[107] += (1.0L/48.0L)*cells[c].My[0]*dx*pow(dy, 4)*pow(dz, 2) + cells[c].My[107] + (1.0L/4.0L)*cells[c].My[13]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[14]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[15]*pow(dy, 4) + (1.0L/2.0L)*cells[c].My[16]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[17]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[18]*dx*pow(dy, 3) + (1.0L/48.0L)*cells[c].My[1]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[26]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[27]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[28]*pow(dy, 3) + (1.0L/12.0L)*cells[c].My[2]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[30]*dx*pow(dz, 2) + cells[c].My[31]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[32]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[3]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].My[45]*pow(dz, 2) + cells[c].My[46]*dy*dz + (1.0L/2.0L)*cells[c].My[47]*pow(dy, 2) + cells[c].My[51]*dx*dz + cells[c].My[52]*dx*dy + (1.0L/12.0L)*cells[c].My[5]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].My[6]*pow(dy, 4)*dz + cells[c].My[72]*dz + cells[c].My[73]*dy + cells[c].My[79]*dx + (1.0L/4.0L)*cells[c].My[7]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[8]*dx*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[9]*dx*pow(dy, 4); - cells[p].My[108] += (1.0L/36.0L)*cells[c].My[0]*dx*pow(dy, 3)*pow(dz, 3) + cells[c].My[108] + (1.0L/6.0L)*cells[c].My[13]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[14]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[15]*pow(dy, 3)*dz + (1.0L/6.0L)*cells[c].My[16]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[17]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[18]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[19]*dx*pow(dy, 3) + (1.0L/36.0L)*cells[c].My[1]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[26]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[27]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[28]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[29]*pow(dy, 3) + (1.0L/12.0L)*cells[c].My[2]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[31]*dx*pow(dz, 2) + cells[c].My[32]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[33]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[3]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[46]*pow(dz, 2) + cells[c].My[47]*dy*dz + (1.0L/2.0L)*cells[c].My[48]*pow(dy, 2) + cells[c].My[52]*dx*dz + cells[c].My[53]*dx*dy + (1.0L/12.0L)*cells[c].My[5]*pow(dy, 2)*pow(dz, 3) + (1.0L/12.0L)*cells[c].My[6]*pow(dy, 3)*pow(dz, 2) + cells[c].My[73]*dz + cells[c].My[74]*dy + (1.0L/6.0L)*cells[c].My[7]*dx*dy*pow(dz, 3) + cells[c].My[80]*dx + (1.0L/4.0L)*cells[c].My[8]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[9]*dx*pow(dy, 3)*dz; - cells[p].My[109] += (1.0L/48.0L)*cells[c].My[0]*dx*pow(dy, 2)*pow(dz, 4) + cells[c].My[109] + (1.0L/24.0L)*cells[c].My[13]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[14]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[15]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[17]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[18]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[19]*dx*pow(dy, 2)*dz + (1.0L/48.0L)*cells[c].My[1]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[27]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[28]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[29]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].My[2]*dx*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[32]*dx*pow(dz, 2) + cells[c].My[33]*dx*dy*dz + (1.0L/2.0L)*cells[c].My[34]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].My[3]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[47]*pow(dz, 2) + cells[c].My[48]*dy*dz + (1.0L/2.0L)*cells[c].My[49]*pow(dy, 2) + cells[c].My[53]*dx*dz + cells[c].My[54]*dx*dy + (1.0L/24.0L)*cells[c].My[5]*dy*pow(dz, 4) + (1.0L/12.0L)*cells[c].My[6]*pow(dy, 2)*pow(dz, 3) + cells[c].My[74]*dz + cells[c].My[75]*dy + (1.0L/24.0L)*cells[c].My[7]*dx*pow(dz, 4) + cells[c].My[81]*dx + (1.0L/6.0L)*cells[c].My[8]*dx*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[9]*dx*pow(dy, 2)*pow(dz, 2); - cells[p].My[110] += (1.0L/120.0L)*cells[c].My[0]*dx*dy*pow(dz, 5) + cells[c].My[110] + (1.0L/24.0L)*cells[c].My[14]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[15]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[18]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[19]*dx*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[1]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].My[28]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[29]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[2]*dx*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[33]*dx*pow(dz, 2) + cells[c].My[34]*dx*dy*dz + (1.0L/24.0L)*cells[c].My[3]*dx*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[48]*pow(dz, 2) + cells[c].My[49]*dy*dz + cells[c].My[54]*dx*dz + cells[c].My[55]*dx*dy + (1.0L/120.0L)*cells[c].My[5]*pow(dz, 5) + (1.0L/24.0L)*cells[c].My[6]*dy*pow(dz, 4) + cells[c].My[75]*dz + cells[c].My[76]*dy + cells[c].My[82]*dx + (1.0L/24.0L)*cells[c].My[8]*dx*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[9]*dx*dy*pow(dz, 3); - cells[p].My[111] += (1.0L/720.0L)*cells[c].My[0]*dx*pow(dz, 6) + cells[c].My[111] + (1.0L/24.0L)*cells[c].My[15]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[19]*dx*pow(dz, 3) + (1.0L/720.0L)*cells[c].My[1]*pow(dz, 6) + (1.0L/6.0L)*cells[c].My[29]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[34]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[3]*dx*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[49]*pow(dz, 2) + cells[c].My[55]*dx*dz + (1.0L/120.0L)*cells[c].My[6]*pow(dz, 5) + cells[c].My[76]*dz + cells[c].My[83]*dx + (1.0L/24.0L)*cells[c].My[9]*dx*pow(dz, 4); - cells[p].My[112] += (1.0L/5040.0L)*cells[c].My[0]*pow(dy, 7) + cells[c].My[112] + (1.0L/24.0L)*cells[c].My[16]*pow(dy, 4) + (1.0L/720.0L)*cells[c].My[2]*pow(dy, 6) + (1.0L/6.0L)*cells[c].My[30]*pow(dy, 3) + (1.0L/2.0L)*cells[c].My[50]*pow(dy, 2) + cells[c].My[77]*dy + (1.0L/120.0L)*cells[c].My[7]*pow(dy, 5); - cells[p].My[113] += (1.0L/720.0L)*cells[c].My[0]*pow(dy, 6)*dz + cells[c].My[113] + (1.0L/6.0L)*cells[c].My[16]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[17]*pow(dy, 4) + (1.0L/120.0L)*cells[c].My[2]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].My[30]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[31]*pow(dy, 3) + (1.0L/720.0L)*cells[c].My[3]*pow(dy, 6) + cells[c].My[50]*dy*dz + (1.0L/2.0L)*cells[c].My[51]*pow(dy, 2) + cells[c].My[77]*dz + cells[c].My[78]*dy + (1.0L/24.0L)*cells[c].My[7]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].My[8]*pow(dy, 5); - cells[p].My[114] += (1.0L/240.0L)*cells[c].My[0]*pow(dy, 5)*pow(dz, 2) + cells[c].My[114] + (1.0L/4.0L)*cells[c].My[16]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[17]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[18]*pow(dy, 4) + (1.0L/48.0L)*cells[c].My[2]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[30]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[31]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[32]*pow(dy, 3) + (1.0L/120.0L)*cells[c].My[3]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].My[50]*pow(dz, 2) + cells[c].My[51]*dy*dz + (1.0L/2.0L)*cells[c].My[52]*pow(dy, 2) + cells[c].My[78]*dz + cells[c].My[79]*dy + (1.0L/12.0L)*cells[c].My[7]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].My[8]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].My[9]*pow(dy, 5); - cells[p].My[115] += (1.0L/144.0L)*cells[c].My[0]*pow(dy, 4)*pow(dz, 3) + cells[c].My[115] + (1.0L/6.0L)*cells[c].My[16]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[17]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[18]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].My[19]*pow(dy, 4) + (1.0L/36.0L)*cells[c].My[2]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].My[30]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[31]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[32]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[33]*pow(dy, 3) + (1.0L/48.0L)*cells[c].My[3]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[51]*pow(dz, 2) + cells[c].My[52]*dy*dz + (1.0L/2.0L)*cells[c].My[53]*pow(dy, 2) + cells[c].My[79]*dz + (1.0L/12.0L)*cells[c].My[7]*pow(dy, 2)*pow(dz, 3) + cells[c].My[80]*dy + (1.0L/12.0L)*cells[c].My[8]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].My[9]*pow(dy, 4)*dz; - cells[p].My[116] += (1.0L/144.0L)*cells[c].My[0]*pow(dy, 3)*pow(dz, 4) + cells[c].My[116] + (1.0L/24.0L)*cells[c].My[16]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[17]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[18]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].My[19]*pow(dy, 3)*dz + (1.0L/48.0L)*cells[c].My[2]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[31]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[32]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[33]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].My[34]*pow(dy, 3) + (1.0L/36.0L)*cells[c].My[3]*pow(dy, 3)*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[52]*pow(dz, 2) + cells[c].My[53]*dy*dz + (1.0L/2.0L)*cells[c].My[54]*pow(dy, 2) + (1.0L/24.0L)*cells[c].My[7]*dy*pow(dz, 4) + cells[c].My[80]*dz + cells[c].My[81]*dy + (1.0L/12.0L)*cells[c].My[8]*pow(dy, 2)*pow(dz, 3) + (1.0L/12.0L)*cells[c].My[9]*pow(dy, 3)*pow(dz, 2); - cells[p].My[117] += (1.0L/240.0L)*cells[c].My[0]*pow(dy, 2)*pow(dz, 5) + cells[c].My[117] + (1.0L/24.0L)*cells[c].My[17]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[18]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].My[19]*pow(dy, 2)*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[2]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].My[32]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[33]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].My[34]*pow(dy, 2)*dz + (1.0L/48.0L)*cells[c].My[3]*pow(dy, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].My[53]*pow(dz, 2) + cells[c].My[54]*dy*dz + (1.0L/2.0L)*cells[c].My[55]*pow(dy, 2) + (1.0L/120.0L)*cells[c].My[7]*pow(dz, 5) + cells[c].My[81]*dz + cells[c].My[82]*dy + (1.0L/24.0L)*cells[c].My[8]*dy*pow(dz, 4) + (1.0L/12.0L)*cells[c].My[9]*pow(dy, 2)*pow(dz, 3); - cells[p].My[118] += (1.0L/720.0L)*cells[c].My[0]*dy*pow(dz, 6) + cells[c].My[118] + (1.0L/24.0L)*cells[c].My[18]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[19]*dy*pow(dz, 3) + (1.0L/720.0L)*cells[c].My[2]*pow(dz, 6) + (1.0L/6.0L)*cells[c].My[33]*pow(dz, 3) + (1.0L/2.0L)*cells[c].My[34]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].My[3]*dy*pow(dz, 5) + (1.0L/2.0L)*cells[c].My[54]*pow(dz, 2) + cells[c].My[55]*dy*dz + cells[c].My[82]*dz + cells[c].My[83]*dy + (1.0L/120.0L)*cells[c].My[8]*pow(dz, 5) + (1.0L/24.0L)*cells[c].My[9]*dy*pow(dz, 4); - cells[p].My[119] += (1.0L/5040.0L)*cells[c].My[0]*pow(dz, 7) + cells[c].My[119] + (1.0L/24.0L)*cells[c].My[19]*pow(dz, 4) + (1.0L/6.0L)*cells[c].My[34]*pow(dz, 3) + (1.0L/720.0L)*cells[c].My[3]*pow(dz, 6) + (1.0L/2.0L)*cells[c].My[55]*pow(dz, 2) + cells[c].My[83]*dz + (1.0L/120.0L)*cells[c].My[9]*pow(dz, 5); - - - cells[p].Mz[0] += cells[c].Mz[0]; - cells[p].Mz[1] += cells[c].Mz[0]*dx + cells[c].Mz[1]; - cells[p].Mz[2] += cells[c].Mz[0]*dy + cells[c].Mz[2]; - cells[p].Mz[3] += cells[c].Mz[0]*dz + cells[c].Mz[3]; - cells[p].Mz[4] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2) + cells[c].Mz[1]*dx + cells[c].Mz[4]; - cells[p].Mz[5] += cells[c].Mz[0]*dx*dy + cells[c].Mz[1]*dy + cells[c].Mz[2]*dx + cells[c].Mz[5]; - cells[p].Mz[6] += cells[c].Mz[0]*dx*dz + cells[c].Mz[1]*dz + cells[c].Mz[3]*dx + cells[c].Mz[6]; - cells[p].Mz[7] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2) + cells[c].Mz[2]*dy + cells[c].Mz[7]; - cells[p].Mz[8] += cells[c].Mz[0]*dy*dz + cells[c].Mz[2]*dz + cells[c].Mz[3]*dy + cells[c].Mz[8]; - cells[p].Mz[9] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dz, 2) + cells[c].Mz[3]*dz + cells[c].Mz[9]; - cells[p].Mz[10] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3) + cells[c].Mz[10] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2) + cells[c].Mz[4]*dx; - cells[p].Mz[11] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy + cells[c].Mz[11] + cells[c].Mz[1]*dx*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2) + cells[c].Mz[4]*dy + cells[c].Mz[5]*dx; - cells[p].Mz[12] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dz + cells[c].Mz[12] + cells[c].Mz[1]*dx*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2) + cells[c].Mz[4]*dz + cells[c].Mz[6]*dx; - cells[p].Mz[13] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2) + cells[c].Mz[13] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2) + cells[c].Mz[2]*dx*dy + cells[c].Mz[5]*dy + cells[c].Mz[7]*dx; - cells[p].Mz[14] += cells[c].Mz[0]*dx*dy*dz + cells[c].Mz[14] + cells[c].Mz[1]*dy*dz + cells[c].Mz[2]*dx*dz + cells[c].Mz[3]*dx*dy + cells[c].Mz[5]*dz + cells[c].Mz[6]*dy + cells[c].Mz[8]*dx; - cells[p].Mz[15] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dz, 2) + cells[c].Mz[15] + (1.0L/2.0L)*cells[c].Mz[1]*pow(dz, 2) + cells[c].Mz[3]*dx*dz + cells[c].Mz[6]*dz + cells[c].Mz[9]*dx; - cells[p].Mz[16] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3) + cells[c].Mz[16] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2) + cells[c].Mz[7]*dy; - cells[p].Mz[17] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dy, 2)*dz + cells[c].Mz[17] + cells[c].Mz[2]*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2) + cells[c].Mz[7]*dz + cells[c].Mz[8]*dy; - cells[p].Mz[18] += (1.0L/2.0L)*cells[c].Mz[0]*dy*pow(dz, 2) + cells[c].Mz[18] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dz, 2) + cells[c].Mz[3]*dy*dz + cells[c].Mz[8]*dz + cells[c].Mz[9]*dy; - cells[p].Mz[19] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dz, 3) + cells[c].Mz[19] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dz, 2) + cells[c].Mz[9]*dz; - cells[p].Mz[20] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4) + cells[c].Mz[10]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3) + cells[c].Mz[20] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2); - cells[p].Mz[21] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dy + cells[c].Mz[10]*dy + cells[c].Mz[11]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dy + cells[c].Mz[21] + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3) + cells[c].Mz[4]*dx*dy + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2); - cells[p].Mz[22] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dz + cells[c].Mz[10]*dz + cells[c].Mz[12]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dz + cells[c].Mz[22] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3) + cells[c].Mz[4]*dx*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2); - cells[p].Mz[23] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[11]*dy + cells[c].Mz[13]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dy, 2) + cells[c].Mz[23] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mz[4]*pow(dy, 2) + cells[c].Mz[5]*dx*dy + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2); - cells[p].Mz[24] += (1.0L/2.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*dz + cells[c].Mz[11]*dz + cells[c].Mz[12]*dy + cells[c].Mz[14]*dx + cells[c].Mz[1]*dx*dy*dz + cells[c].Mz[24] + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dy + cells[c].Mz[4]*dy*dz + cells[c].Mz[5]*dx*dz + cells[c].Mz[6]*dx*dy + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2); - cells[p].Mz[25] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[12]*dz + cells[c].Mz[15]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dz, 2) + cells[c].Mz[25] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[4]*pow(dz, 2) + cells[c].Mz[6]*dx*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2); - cells[p].Mz[26] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dy, 3) + cells[c].Mz[13]*dy + cells[c].Mz[16]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dy, 3) + cells[c].Mz[26] + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[5]*pow(dy, 2) + cells[c].Mz[7]*dx*dy; - cells[p].Mz[27] += (1.0L/2.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*dz + cells[c].Mz[13]*dz + cells[c].Mz[14]*dy + cells[c].Mz[17]*dx + (1.0L/2.0L)*cells[c].Mz[1]*pow(dy, 2)*dz + cells[c].Mz[27] + cells[c].Mz[2]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dy, 2) + cells[c].Mz[5]*dy*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dy, 2) + cells[c].Mz[7]*dx*dz + cells[c].Mz[8]*dx*dy; - cells[p].Mz[28] += (1.0L/2.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 2) + cells[c].Mz[14]*dz + cells[c].Mz[15]*dy + cells[c].Mz[18]*dx + (1.0L/2.0L)*cells[c].Mz[1]*dy*pow(dz, 2) + cells[c].Mz[28] + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dz, 2) + cells[c].Mz[3]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dz, 2) + cells[c].Mz[6]*dy*dz + cells[c].Mz[8]*dx*dz + cells[c].Mz[9]*dx*dy; - cells[p].Mz[29] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dz, 3) + cells[c].Mz[15]*dz + cells[c].Mz[19]*dx + (1.0L/6.0L)*cells[c].Mz[1]*pow(dz, 3) + cells[c].Mz[29] + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dz, 2) + cells[c].Mz[9]*dx*dz; - cells[p].Mz[30] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dy, 4) + cells[c].Mz[16]*dy + (1.0L/6.0L)*cells[c].Mz[2]*pow(dy, 3) + cells[c].Mz[30] + (1.0L/2.0L)*cells[c].Mz[7]*pow(dy, 2); - cells[p].Mz[31] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dy, 3)*dz + cells[c].Mz[16]*dz + cells[c].Mz[17]*dy + (1.0L/2.0L)*cells[c].Mz[2]*pow(dy, 2)*dz + cells[c].Mz[31] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dy, 3) + cells[c].Mz[7]*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dy, 2); - cells[p].Mz[32] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[17]*dz + cells[c].Mz[18]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dy*pow(dz, 2) + cells[c].Mz[32] + (1.0L/2.0L)*cells[c].Mz[3]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[7]*pow(dz, 2) + cells[c].Mz[8]*dy*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dy, 2); - cells[p].Mz[33] += (1.0L/6.0L)*cells[c].Mz[0]*dy*pow(dz, 3) + cells[c].Mz[18]*dz + cells[c].Mz[19]*dy + (1.0L/6.0L)*cells[c].Mz[2]*pow(dz, 3) + cells[c].Mz[33] + (1.0L/2.0L)*cells[c].Mz[3]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dz, 2) + cells[c].Mz[9]*dy*dz; - cells[p].Mz[34] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dz, 4) + cells[c].Mz[19]*dz + cells[c].Mz[34] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dz, 2); - cells[p].Mz[35] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dx, 4) + cells[c].Mz[20]*dx + cells[c].Mz[35] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dx, 3); - cells[p].Mz[36] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4)*dy + cells[c].Mz[10]*dx*dy + (1.0L/2.0L)*cells[c].Mz[11]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3)*dy + cells[c].Mz[20]*dy + cells[c].Mz[21]*dx + (1.0L/24.0L)*cells[c].Mz[2]*pow(dx, 4) + cells[c].Mz[36] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[5]*pow(dx, 3); - cells[p].Mz[37] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4)*dz + cells[c].Mz[10]*dx*dz + (1.0L/2.0L)*cells[c].Mz[12]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3)*dz + cells[c].Mz[20]*dz + cells[c].Mz[22]*dx + cells[c].Mz[37] + (1.0L/24.0L)*cells[c].Mz[3]*pow(dx, 4) + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[6]*pow(dx, 3); - cells[p].Mz[38] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dy, 2) + cells[c].Mz[11]*dx*dy + (1.0L/2.0L)*cells[c].Mz[13]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[21]*dy + cells[c].Mz[23]*dx + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3)*dy + cells[c].Mz[38] + (1.0L/2.0L)*cells[c].Mz[4]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[7]*pow(dx, 3); - cells[p].Mz[39] += (1.0L/6.0L)*cells[c].Mz[0]*pow(dx, 3)*dy*dz + cells[c].Mz[10]*dy*dz + cells[c].Mz[11]*dx*dz + cells[c].Mz[12]*dx*dy + (1.0L/2.0L)*cells[c].Mz[14]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*pow(dx, 2)*dy*dz + cells[c].Mz[21]*dz + cells[c].Mz[22]*dy + cells[c].Mz[24]*dx + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3)*dz + cells[c].Mz[39] + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3)*dy + cells[c].Mz[4]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[8]*pow(dx, 3); - cells[p].Mz[40] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[10]*pow(dz, 2) + cells[c].Mz[12]*dx*dz + (1.0L/2.0L)*cells[c].Mz[15]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[22]*dz + cells[c].Mz[25]*dx + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3)*dz + cells[c].Mz[40] + (1.0L/2.0L)*cells[c].Mz[4]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[9]*pow(dx, 3); - cells[p].Mz[41] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[11]*pow(dy, 2) + cells[c].Mz[13]*dx*dy + (1.0L/2.0L)*cells[c].Mz[16]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*dx*pow(dy, 3) + cells[c].Mz[23]*dy + cells[c].Mz[26]*dx + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[41] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[5]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2)*dy; - cells[p].Mz[42] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[11]*dy*dz + (1.0L/2.0L)*cells[c].Mz[12]*pow(dy, 2) + cells[c].Mz[13]*dx*dz + cells[c].Mz[14]*dx*dy + (1.0L/2.0L)*cells[c].Mz[17]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*dx*pow(dy, 2)*dz + cells[c].Mz[23]*dz + cells[c].Mz[24]*dy + cells[c].Mz[27]*dx + (1.0L/2.0L)*cells[c].Mz[2]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[42] + (1.0L/2.0L)*cells[c].Mz[4]*pow(dy, 2)*dz + cells[c].Mz[5]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[6]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2)*dy; - cells[p].Mz[43] += (1.0L/4.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[11]*pow(dz, 2) + cells[c].Mz[12]*dy*dz + cells[c].Mz[14]*dx*dz + cells[c].Mz[15]*dx*dy + (1.0L/2.0L)*cells[c].Mz[18]*pow(dx, 2) + (1.0L/2.0L)*cells[c].Mz[1]*dx*dy*pow(dz, 2) + cells[c].Mz[24]*dz + cells[c].Mz[25]*dy + cells[c].Mz[28]*dx + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[3]*pow(dx, 2)*dy*dz + cells[c].Mz[43] + (1.0L/2.0L)*cells[c].Mz[4]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[5]*dx*pow(dz, 2) + cells[c].Mz[6]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2)*dy; - cells[p].Mz[44] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[12]*pow(dz, 2) + cells[c].Mz[15]*dx*dz + (1.0L/2.0L)*cells[c].Mz[19]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[1]*dx*pow(dz, 3) + cells[c].Mz[25]*dz + cells[c].Mz[29]*dx + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[44] + (1.0L/6.0L)*cells[c].Mz[4]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[6]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2)*dz; - cells[p].Mz[45] += (1.0L/24.0L)*cells[c].Mz[0]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dy, 2) + cells[c].Mz[16]*dx*dy + (1.0L/24.0L)*cells[c].Mz[1]*pow(dy, 4) + cells[c].Mz[26]*dy + (1.0L/6.0L)*cells[c].Mz[2]*dx*pow(dy, 3) + cells[c].Mz[30]*dx + cells[c].Mz[45] + (1.0L/6.0L)*cells[c].Mz[5]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[7]*dx*pow(dy, 2); - cells[p].Mz[46] += (1.0L/6.0L)*cells[c].Mz[0]*dx*pow(dy, 3)*dz + cells[c].Mz[13]*dy*dz + (1.0L/2.0L)*cells[c].Mz[14]*pow(dy, 2) + cells[c].Mz[16]*dx*dz + cells[c].Mz[17]*dx*dy + (1.0L/6.0L)*cells[c].Mz[1]*pow(dy, 3)*dz + cells[c].Mz[26]*dz + cells[c].Mz[27]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dx*pow(dy, 2)*dz + cells[c].Mz[31]*dx + (1.0L/6.0L)*cells[c].Mz[3]*dx*pow(dy, 3) + cells[c].Mz[46] + (1.0L/2.0L)*cells[c].Mz[5]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[6]*pow(dy, 3) + cells[c].Mz[7]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[8]*dx*pow(dy, 2); - cells[p].Mz[47] += (1.0L/4.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dz, 2) + cells[c].Mz[14]*dy*dz + (1.0L/2.0L)*cells[c].Mz[15]*pow(dy, 2) + cells[c].Mz[17]*dx*dz + cells[c].Mz[18]*dx*dy + (1.0L/4.0L)*cells[c].Mz[1]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[27]*dz + cells[c].Mz[28]*dy + (1.0L/2.0L)*cells[c].Mz[2]*dx*dy*pow(dz, 2) + cells[c].Mz[32]*dx + (1.0L/2.0L)*cells[c].Mz[3]*dx*pow(dy, 2)*dz + cells[c].Mz[47] + (1.0L/2.0L)*cells[c].Mz[5]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[6]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[7]*dx*pow(dz, 2) + cells[c].Mz[8]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[9]*dx*pow(dy, 2); - cells[p].Mz[48] += (1.0L/6.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[14]*pow(dz, 2) + cells[c].Mz[15]*dy*dz + cells[c].Mz[18]*dx*dz + cells[c].Mz[19]*dx*dy + (1.0L/6.0L)*cells[c].Mz[1]*dy*pow(dz, 3) + cells[c].Mz[28]*dz + cells[c].Mz[29]*dy + (1.0L/6.0L)*cells[c].Mz[2]*dx*pow(dz, 3) + cells[c].Mz[33]*dx + (1.0L/2.0L)*cells[c].Mz[3]*dx*dy*pow(dz, 2) + cells[c].Mz[48] + (1.0L/6.0L)*cells[c].Mz[5]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[6]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*dx*pow(dz, 2) + cells[c].Mz[9]*dx*dy*dz; - cells[p].Mz[49] += (1.0L/24.0L)*cells[c].Mz[0]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[15]*pow(dz, 2) + cells[c].Mz[19]*dx*dz + (1.0L/24.0L)*cells[c].Mz[1]*pow(dz, 4) + cells[c].Mz[29]*dz + cells[c].Mz[34]*dx + (1.0L/6.0L)*cells[c].Mz[3]*dx*pow(dz, 3) + cells[c].Mz[49] + (1.0L/6.0L)*cells[c].Mz[6]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*dx*pow(dz, 2); - cells[p].Mz[50] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dy, 4) + cells[c].Mz[30]*dy + cells[c].Mz[50] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dy, 3); - cells[p].Mz[51] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dy, 4)*dz + cells[c].Mz[16]*dy*dz + (1.0L/2.0L)*cells[c].Mz[17]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*pow(dy, 3)*dz + cells[c].Mz[30]*dz + cells[c].Mz[31]*dy + (1.0L/24.0L)*cells[c].Mz[3]*pow(dy, 4) + cells[c].Mz[51] + (1.0L/2.0L)*cells[c].Mz[7]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[8]*pow(dy, 3); - cells[p].Mz[52] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dz, 2) + cells[c].Mz[17]*dy*dz + (1.0L/2.0L)*cells[c].Mz[18]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mz[2]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[31]*dz + cells[c].Mz[32]*dy + (1.0L/6.0L)*cells[c].Mz[3]*pow(dy, 3)*dz + cells[c].Mz[52] + (1.0L/2.0L)*cells[c].Mz[7]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[9]*pow(dy, 3); - cells[p].Mz[53] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[17]*pow(dz, 2) + cells[c].Mz[18]*dy*dz + (1.0L/2.0L)*cells[c].Mz[19]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*dy*pow(dz, 3) + cells[c].Mz[32]*dz + cells[c].Mz[33]*dy + (1.0L/4.0L)*cells[c].Mz[3]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[53] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[8]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dy, 2)*dz; - cells[p].Mz[54] += (1.0L/24.0L)*cells[c].Mz[0]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[18]*pow(dz, 2) + cells[c].Mz[19]*dy*dz + (1.0L/24.0L)*cells[c].Mz[2]*pow(dz, 4) + cells[c].Mz[33]*dz + cells[c].Mz[34]*dy + (1.0L/6.0L)*cells[c].Mz[3]*dy*pow(dz, 3) + cells[c].Mz[54] + (1.0L/6.0L)*cells[c].Mz[8]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*dy*pow(dz, 2); - cells[p].Mz[55] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[19]*pow(dz, 2) + cells[c].Mz[34]*dz + (1.0L/24.0L)*cells[c].Mz[3]*pow(dz, 4) + cells[c].Mz[55] + (1.0L/6.0L)*cells[c].Mz[9]*pow(dz, 3); - cells[p].Mz[56] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dx, 6) + (1.0L/6.0L)*cells[c].Mz[10]*pow(dx, 3) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dx, 5) + (1.0L/2.0L)*cells[c].Mz[20]*pow(dx, 2) + cells[c].Mz[35]*dx + (1.0L/24.0L)*cells[c].Mz[4]*pow(dx, 4) + cells[c].Mz[56]; - cells[p].Mz[57] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].Mz[10]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[11]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dx, 4)*dy + cells[c].Mz[20]*dx*dy + (1.0L/2.0L)*cells[c].Mz[21]*pow(dx, 2) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dx, 5) + cells[c].Mz[35]*dy + cells[c].Mz[36]*dx + (1.0L/6.0L)*cells[c].Mz[4]*pow(dx, 3)*dy + cells[c].Mz[57] + (1.0L/24.0L)*cells[c].Mz[5]*pow(dx, 4); - cells[p].Mz[58] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].Mz[10]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[12]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dx, 4)*dz + cells[c].Mz[20]*dx*dz + (1.0L/2.0L)*cells[c].Mz[22]*pow(dx, 2) + cells[c].Mz[35]*dz + cells[c].Mz[37]*dx + (1.0L/120.0L)*cells[c].Mz[3]*pow(dx, 5) + (1.0L/6.0L)*cells[c].Mz[4]*pow(dx, 3)*dz + cells[c].Mz[58] + (1.0L/24.0L)*cells[c].Mz[6]*pow(dx, 4); - cells[p].Mz[59] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[10]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[11]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[13]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 3)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[20]*pow(dy, 2) + cells[c].Mz[21]*dx*dy + (1.0L/2.0L)*cells[c].Mz[23]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dx, 4)*dy + cells[c].Mz[36]*dy + cells[c].Mz[38]*dx + (1.0L/4.0L)*cells[c].Mz[4]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[59] + (1.0L/6.0L)*cells[c].Mz[5]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[7]*pow(dx, 4); - cells[p].Mz[60] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 4)*dy*dz + cells[c].Mz[10]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[11]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[12]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[14]*pow(dx, 3) + (1.0L/6.0L)*cells[c].Mz[1]*pow(dx, 3)*dy*dz + cells[c].Mz[20]*dy*dz + cells[c].Mz[21]*dx*dz + cells[c].Mz[22]*dx*dy + (1.0L/2.0L)*cells[c].Mz[24]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dx, 4)*dz + cells[c].Mz[36]*dz + cells[c].Mz[37]*dy + cells[c].Mz[39]*dx + (1.0L/24.0L)*cells[c].Mz[3]*pow(dx, 4)*dy + (1.0L/2.0L)*cells[c].Mz[4]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mz[5]*pow(dx, 3)*dz + cells[c].Mz[60] + (1.0L/6.0L)*cells[c].Mz[6]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[8]*pow(dx, 4); - cells[p].Mz[61] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[10]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[12]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[15]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[20]*pow(dz, 2) + cells[c].Mz[22]*dx*dz + (1.0L/2.0L)*cells[c].Mz[25]*pow(dx, 2) + cells[c].Mz[37]*dz + (1.0L/24.0L)*cells[c].Mz[3]*pow(dx, 4)*dz + cells[c].Mz[40]*dx + (1.0L/4.0L)*cells[c].Mz[4]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[61] + (1.0L/6.0L)*cells[c].Mz[6]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mz[9]*pow(dx, 4); - cells[p].Mz[62] += (1.0L/36.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mz[10]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[11]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[16]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[21]*pow(dy, 2) + cells[c].Mz[23]*dx*dy + (1.0L/2.0L)*cells[c].Mz[26]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 3)*pow(dy, 2) + cells[c].Mz[38]*dy + cells[c].Mz[41]*dx + (1.0L/6.0L)*cells[c].Mz[4]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mz[5]*pow(dx, 2)*pow(dy, 2) + cells[c].Mz[62] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dx, 3)*dy; - cells[p].Mz[63] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[10]*pow(dy, 2)*dz + cells[c].Mz[11]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[12]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[14]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[17]*pow(dx, 3) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[21]*dy*dz + (1.0L/2.0L)*cells[c].Mz[22]*pow(dy, 2) + cells[c].Mz[23]*dx*dz + cells[c].Mz[24]*dx*dy + (1.0L/2.0L)*cells[c].Mz[27]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[2]*pow(dx, 3)*dy*dz + cells[c].Mz[38]*dz + cells[c].Mz[39]*dy + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 3)*pow(dy, 2) + cells[c].Mz[42]*dx + (1.0L/2.0L)*cells[c].Mz[4]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[5]*pow(dx, 2)*dy*dz + cells[c].Mz[63] + (1.0L/4.0L)*cells[c].Mz[6]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[7]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[8]*pow(dx, 3)*dy; - cells[p].Mz[64] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[10]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[11]*dx*pow(dz, 2) + cells[c].Mz[12]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[14]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[15]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[18]*pow(dx, 3) + (1.0L/4.0L)*cells[c].Mz[1]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[21]*pow(dz, 2) + cells[c].Mz[22]*dy*dz + cells[c].Mz[24]*dx*dz + cells[c].Mz[25]*dx*dy + (1.0L/2.0L)*cells[c].Mz[28]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 3)*pow(dz, 2) + cells[c].Mz[39]*dz + (1.0L/6.0L)*cells[c].Mz[3]*pow(dx, 3)*dy*dz + cells[c].Mz[40]*dy + cells[c].Mz[43]*dx + (1.0L/2.0L)*cells[c].Mz[4]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[5]*pow(dx, 2)*pow(dz, 2) + cells[c].Mz[64] + (1.0L/2.0L)*cells[c].Mz[6]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mz[8]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[9]*pow(dx, 3)*dy; - cells[p].Mz[65] += (1.0L/36.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[10]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[12]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[15]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[19]*pow(dx, 3) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[22]*pow(dz, 2) + cells[c].Mz[25]*dx*dz + (1.0L/2.0L)*cells[c].Mz[29]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 3)*pow(dz, 2) + cells[c].Mz[40]*dz + cells[c].Mz[44]*dx + (1.0L/6.0L)*cells[c].Mz[4]*dx*pow(dz, 3) + cells[c].Mz[65] + (1.0L/4.0L)*cells[c].Mz[6]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[9]*pow(dx, 3)*dz; - cells[p].Mz[66] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mz[11]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[13]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dx, 2)*dy + (1.0L/24.0L)*cells[c].Mz[1]*dx*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[23]*pow(dy, 2) + cells[c].Mz[26]*dx*dy + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[30]*pow(dx, 2) + cells[c].Mz[41]*dy + cells[c].Mz[45]*dx + (1.0L/24.0L)*cells[c].Mz[4]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mz[5]*dx*pow(dy, 3) + cells[c].Mz[66] + (1.0L/4.0L)*cells[c].Mz[7]*pow(dx, 2)*pow(dy, 2); - cells[p].Mz[67] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[11]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[12]*pow(dy, 3) + cells[c].Mz[13]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[14]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[17]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[1]*dx*pow(dy, 3)*dz + cells[c].Mz[23]*dy*dz + (1.0L/2.0L)*cells[c].Mz[24]*pow(dy, 2) + cells[c].Mz[26]*dx*dz + cells[c].Mz[27]*dx*dy + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[31]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 3) + cells[c].Mz[41]*dz + cells[c].Mz[42]*dy + cells[c].Mz[46]*dx + (1.0L/6.0L)*cells[c].Mz[4]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[5]*dx*pow(dy, 2)*dz + cells[c].Mz[67] + (1.0L/6.0L)*cells[c].Mz[6]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[7]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[8]*pow(dx, 2)*pow(dy, 2); - cells[p].Mz[68] += (1.0L/8.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[11]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[12]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[13]*dx*pow(dz, 2) + cells[c].Mz[14]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[15]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[17]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[18]*pow(dx, 2)*dy + (1.0L/4.0L)*cells[c].Mz[1]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[23]*pow(dz, 2) + cells[c].Mz[24]*dy*dz + (1.0L/2.0L)*cells[c].Mz[25]*pow(dy, 2) + cells[c].Mz[27]*dx*dz + cells[c].Mz[28]*dx*dy + (1.0L/4.0L)*cells[c].Mz[2]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[32]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[42]*dz + cells[c].Mz[43]*dy + cells[c].Mz[47]*dx + (1.0L/4.0L)*cells[c].Mz[4]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[5]*dx*dy*pow(dz, 2) + cells[c].Mz[68] + (1.0L/2.0L)*cells[c].Mz[6]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].Mz[7]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[9]*pow(dx, 2)*pow(dy, 2); - cells[p].Mz[69] += (1.0L/12.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[11]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[12]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[14]*dx*pow(dz, 2) + cells[c].Mz[15]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[18]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[19]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[1]*dx*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[24]*pow(dz, 2) + cells[c].Mz[25]*dy*dz + cells[c].Mz[28]*dx*dz + cells[c].Mz[29]*dx*dy + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[33]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[3]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].Mz[43]*dz + cells[c].Mz[44]*dy + cells[c].Mz[48]*dx + (1.0L/6.0L)*cells[c].Mz[4]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[5]*dx*pow(dz, 3) + cells[c].Mz[69] + (1.0L/2.0L)*cells[c].Mz[6]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[8]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*pow(dx, 2)*dy*dz; - cells[p].Mz[70] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[12]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[15]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[19]*pow(dx, 2)*dz + (1.0L/24.0L)*cells[c].Mz[1]*dx*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[25]*pow(dz, 2) + cells[c].Mz[29]*dx*dz + (1.0L/2.0L)*cells[c].Mz[34]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dz, 3) + cells[c].Mz[44]*dz + cells[c].Mz[49]*dx + (1.0L/24.0L)*cells[c].Mz[4]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[6]*dx*pow(dz, 3) + cells[c].Mz[70] + (1.0L/4.0L)*cells[c].Mz[9]*pow(dx, 2)*pow(dz, 2); - cells[p].Mz[71] += (1.0L/120.0L)*cells[c].Mz[0]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].Mz[13]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[16]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[26]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[2]*dx*pow(dy, 4) + cells[c].Mz[30]*dx*dy + cells[c].Mz[45]*dy + cells[c].Mz[50]*dx + (1.0L/24.0L)*cells[c].Mz[5]*pow(dy, 4) + cells[c].Mz[71] + (1.0L/6.0L)*cells[c].Mz[7]*dx*pow(dy, 3); - cells[p].Mz[72] += (1.0L/24.0L)*cells[c].Mz[0]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mz[13]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[14]*pow(dy, 3) + cells[c].Mz[16]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[17]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dy, 4)*dz + cells[c].Mz[26]*dy*dz + (1.0L/2.0L)*cells[c].Mz[27]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*dx*pow(dy, 3)*dz + cells[c].Mz[30]*dx*dz + cells[c].Mz[31]*dx*dy + (1.0L/24.0L)*cells[c].Mz[3]*dx*pow(dy, 4) + cells[c].Mz[45]*dz + cells[c].Mz[46]*dy + cells[c].Mz[51]*dx + (1.0L/6.0L)*cells[c].Mz[5]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[6]*pow(dy, 4) + cells[c].Mz[72] + (1.0L/2.0L)*cells[c].Mz[7]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[8]*dx*pow(dy, 3); - cells[p].Mz[73] += (1.0L/12.0L)*cells[c].Mz[0]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[13]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[14]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[15]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[16]*dx*pow(dz, 2) + cells[c].Mz[17]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[18]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[26]*pow(dz, 2) + cells[c].Mz[27]*dy*dz + (1.0L/2.0L)*cells[c].Mz[28]*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mz[2]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[31]*dx*dz + cells[c].Mz[32]*dx*dy + (1.0L/6.0L)*cells[c].Mz[3]*dx*pow(dy, 3)*dz + cells[c].Mz[46]*dz + cells[c].Mz[47]*dy + cells[c].Mz[52]*dx + (1.0L/4.0L)*cells[c].Mz[5]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[6]*pow(dy, 3)*dz + cells[c].Mz[73] + (1.0L/2.0L)*cells[c].Mz[7]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[8]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[9]*dx*pow(dy, 3); - cells[p].Mz[74] += (1.0L/12.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[13]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[14]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[15]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[17]*dx*pow(dz, 2) + cells[c].Mz[18]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[19]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[27]*pow(dz, 2) + cells[c].Mz[28]*dy*dz + (1.0L/2.0L)*cells[c].Mz[29]*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[2]*dx*dy*pow(dz, 3) + cells[c].Mz[32]*dx*dz + cells[c].Mz[33]*dx*dy + (1.0L/4.0L)*cells[c].Mz[3]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[47]*dz + cells[c].Mz[48]*dy + cells[c].Mz[53]*dx + (1.0L/6.0L)*cells[c].Mz[5]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[6]*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[74] + (1.0L/6.0L)*cells[c].Mz[7]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[8]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[9]*dx*pow(dy, 2)*dz; - cells[p].Mz[75] += (1.0L/24.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[14]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[15]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[18]*dx*pow(dz, 2) + cells[c].Mz[19]*dx*dy*dz + (1.0L/24.0L)*cells[c].Mz[1]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[28]*pow(dz, 2) + cells[c].Mz[29]*dy*dz + (1.0L/24.0L)*cells[c].Mz[2]*dx*pow(dz, 4) + cells[c].Mz[33]*dx*dz + cells[c].Mz[34]*dx*dy + (1.0L/6.0L)*cells[c].Mz[3]*dx*dy*pow(dz, 3) + cells[c].Mz[48]*dz + cells[c].Mz[49]*dy + cells[c].Mz[54]*dx + (1.0L/24.0L)*cells[c].Mz[5]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[6]*dy*pow(dz, 3) + cells[c].Mz[75] + (1.0L/6.0L)*cells[c].Mz[8]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[9]*dx*dy*pow(dz, 2); - cells[p].Mz[76] += (1.0L/120.0L)*cells[c].Mz[0]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mz[15]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[19]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[29]*pow(dz, 2) + cells[c].Mz[34]*dx*dz + (1.0L/24.0L)*cells[c].Mz[3]*dx*pow(dz, 4) + cells[c].Mz[49]*dz + cells[c].Mz[55]*dx + (1.0L/24.0L)*cells[c].Mz[6]*pow(dz, 4) + cells[c].Mz[76] + (1.0L/6.0L)*cells[c].Mz[9]*dx*pow(dz, 3); - cells[p].Mz[77] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dy, 6) + (1.0L/6.0L)*cells[c].Mz[16]*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[30]*pow(dy, 2) + cells[c].Mz[50]*dy + cells[c].Mz[77] + (1.0L/24.0L)*cells[c].Mz[7]*pow(dy, 4); - cells[p].Mz[78] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mz[16]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[17]*pow(dy, 3) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dy, 4)*dz + cells[c].Mz[30]*dy*dz + (1.0L/2.0L)*cells[c].Mz[31]*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mz[3]*pow(dy, 5) + cells[c].Mz[50]*dz + cells[c].Mz[51]*dy + cells[c].Mz[78] + (1.0L/6.0L)*cells[c].Mz[7]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[8]*pow(dy, 4); - cells[p].Mz[79] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[16]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[17]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[18]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[30]*pow(dz, 2) + cells[c].Mz[31]*dy*dz + (1.0L/2.0L)*cells[c].Mz[32]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[3]*pow(dy, 4)*dz + cells[c].Mz[51]*dz + cells[c].Mz[52]*dy + cells[c].Mz[79] + (1.0L/4.0L)*cells[c].Mz[7]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[8]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[9]*pow(dy, 4); - cells[p].Mz[80] += (1.0L/36.0L)*cells[c].Mz[0]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[16]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[17]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[18]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[19]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[31]*pow(dz, 2) + cells[c].Mz[32]*dy*dz + (1.0L/2.0L)*cells[c].Mz[33]*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dy, 3)*pow(dz, 2) + cells[c].Mz[52]*dz + cells[c].Mz[53]*dy + (1.0L/6.0L)*cells[c].Mz[7]*dy*pow(dz, 3) + cells[c].Mz[80] + (1.0L/4.0L)*cells[c].Mz[8]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[9]*pow(dy, 3)*dz; - cells[p].Mz[81] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[17]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[18]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[19]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].Mz[2]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[32]*pow(dz, 2) + cells[c].Mz[33]*dy*dz + (1.0L/2.0L)*cells[c].Mz[34]*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dy, 2)*pow(dz, 3) + cells[c].Mz[53]*dz + cells[c].Mz[54]*dy + (1.0L/24.0L)*cells[c].Mz[7]*pow(dz, 4) + cells[c].Mz[81] + (1.0L/6.0L)*cells[c].Mz[8]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[9]*pow(dy, 2)*pow(dz, 2); - cells[p].Mz[82] += (1.0L/120.0L)*cells[c].Mz[0]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mz[18]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[19]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[33]*pow(dz, 2) + cells[c].Mz[34]*dy*dz + (1.0L/24.0L)*cells[c].Mz[3]*dy*pow(dz, 4) + cells[c].Mz[54]*dz + cells[c].Mz[55]*dy + cells[c].Mz[82] + (1.0L/24.0L)*cells[c].Mz[8]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[9]*dy*pow(dz, 3); - cells[p].Mz[83] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dz, 6) + (1.0L/6.0L)*cells[c].Mz[19]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[34]*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[3]*pow(dz, 5) + cells[c].Mz[55]*dz + cells[c].Mz[83] + (1.0L/24.0L)*cells[c].Mz[9]*pow(dz, 4); - cells[p].Mz[84] += (1.0L/5040.0L)*cells[c].Mz[0]*pow(dx, 7) + (1.0L/24.0L)*cells[c].Mz[10]*pow(dx, 4) + (1.0L/720.0L)*cells[c].Mz[1]*pow(dx, 6) + (1.0L/6.0L)*cells[c].Mz[20]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mz[35]*pow(dx, 2) + (1.0L/120.0L)*cells[c].Mz[4]*pow(dx, 5) + cells[c].Mz[56]*dx + cells[c].Mz[84]; - cells[p].Mz[85] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dx, 6)*dy + (1.0L/6.0L)*cells[c].Mz[10]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[11]*pow(dx, 4) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].Mz[20]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[21]*pow(dx, 3) + (1.0L/720.0L)*cells[c].Mz[2]*pow(dx, 6) + cells[c].Mz[35]*dx*dy + (1.0L/2.0L)*cells[c].Mz[36]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[4]*pow(dx, 4)*dy + cells[c].Mz[56]*dy + cells[c].Mz[57]*dx + (1.0L/120.0L)*cells[c].Mz[5]*pow(dx, 5) + cells[c].Mz[85]; - cells[p].Mz[86] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dx, 6)*dz + (1.0L/6.0L)*cells[c].Mz[10]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mz[12]*pow(dx, 4) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].Mz[20]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[22]*pow(dx, 3) + cells[c].Mz[35]*dx*dz + (1.0L/2.0L)*cells[c].Mz[37]*pow(dx, 2) + (1.0L/720.0L)*cells[c].Mz[3]*pow(dx, 6) + (1.0L/24.0L)*cells[c].Mz[4]*pow(dx, 4)*dz + cells[c].Mz[56]*dz + cells[c].Mz[58]*dx + (1.0L/120.0L)*cells[c].Mz[6]*pow(dx, 5) + cells[c].Mz[86]; - cells[p].Mz[87] += (1.0L/240.0L)*cells[c].Mz[0]*pow(dx, 5)*pow(dy, 2) + (1.0L/4.0L)*cells[c].Mz[10]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[11]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[13]*pow(dx, 4) + (1.0L/48.0L)*cells[c].Mz[1]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[20]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[21]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[23]*pow(dx, 3) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dx, 5)*dy + (1.0L/2.0L)*cells[c].Mz[35]*pow(dy, 2) + cells[c].Mz[36]*dx*dy + (1.0L/2.0L)*cells[c].Mz[38]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[4]*pow(dx, 3)*pow(dy, 2) + cells[c].Mz[57]*dy + cells[c].Mz[59]*dx + (1.0L/24.0L)*cells[c].Mz[5]*pow(dx, 4)*dy + (1.0L/120.0L)*cells[c].Mz[7]*pow(dx, 5) + cells[c].Mz[87]; - cells[p].Mz[88] += (1.0L/120.0L)*cells[c].Mz[0]*pow(dx, 5)*dy*dz + (1.0L/2.0L)*cells[c].Mz[10]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mz[11]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[12]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[14]*pow(dx, 4) + (1.0L/24.0L)*cells[c].Mz[1]*pow(dx, 4)*dy*dz + cells[c].Mz[20]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[21]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[22]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[24]*pow(dx, 3) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dx, 5)*dz + cells[c].Mz[35]*dy*dz + cells[c].Mz[36]*dx*dz + cells[c].Mz[37]*dx*dy + (1.0L/2.0L)*cells[c].Mz[39]*pow(dx, 2) + (1.0L/120.0L)*cells[c].Mz[3]*pow(dx, 5)*dy + (1.0L/6.0L)*cells[c].Mz[4]*pow(dx, 3)*dy*dz + cells[c].Mz[57]*dz + cells[c].Mz[58]*dy + (1.0L/24.0L)*cells[c].Mz[5]*pow(dx, 4)*dz + cells[c].Mz[60]*dx + (1.0L/24.0L)*cells[c].Mz[6]*pow(dx, 4)*dy + cells[c].Mz[88] + (1.0L/120.0L)*cells[c].Mz[8]*pow(dx, 5); - cells[p].Mz[89] += (1.0L/240.0L)*cells[c].Mz[0]*pow(dx, 5)*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[10]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[12]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mz[15]*pow(dx, 4) + (1.0L/48.0L)*cells[c].Mz[1]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[20]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[22]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[25]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mz[35]*pow(dz, 2) + cells[c].Mz[37]*dx*dz + (1.0L/120.0L)*cells[c].Mz[3]*pow(dx, 5)*dz + (1.0L/2.0L)*cells[c].Mz[40]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[4]*pow(dx, 3)*pow(dz, 2) + cells[c].Mz[58]*dz + cells[c].Mz[61]*dx + (1.0L/24.0L)*cells[c].Mz[6]*pow(dx, 4)*dz + cells[c].Mz[89] + (1.0L/120.0L)*cells[c].Mz[9]*pow(dx, 5); - cells[p].Mz[90] += (1.0L/144.0L)*cells[c].Mz[0]*pow(dx, 4)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mz[10]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mz[11]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[13]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[16]*pow(dx, 4) + (1.0L/36.0L)*cells[c].Mz[1]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mz[20]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[21]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[23]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[26]*pow(dx, 3) + (1.0L/48.0L)*cells[c].Mz[2]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[36]*pow(dy, 2) + cells[c].Mz[38]*dx*dy + (1.0L/2.0L)*cells[c].Mz[41]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[4]*pow(dx, 2)*pow(dy, 3) + cells[c].Mz[59]*dy + (1.0L/12.0L)*cells[c].Mz[5]*pow(dx, 3)*pow(dy, 2) + cells[c].Mz[62]*dx + (1.0L/24.0L)*cells[c].Mz[7]*pow(dx, 4)*dy + cells[c].Mz[90]; - cells[p].Mz[91] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 4)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[10]*dx*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[11]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[12]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[13]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[14]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[17]*pow(dx, 4) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[20]*pow(dy, 2)*dz + cells[c].Mz[21]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[22]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[23]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[24]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[27]*pow(dx, 3) + (1.0L/24.0L)*cells[c].Mz[2]*pow(dx, 4)*dy*dz + cells[c].Mz[36]*dy*dz + (1.0L/2.0L)*cells[c].Mz[37]*pow(dy, 2) + cells[c].Mz[38]*dx*dz + cells[c].Mz[39]*dx*dy + (1.0L/48.0L)*cells[c].Mz[3]*pow(dx, 4)*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[42]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[4]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[59]*dz + (1.0L/6.0L)*cells[c].Mz[5]*pow(dx, 3)*dy*dz + cells[c].Mz[60]*dy + cells[c].Mz[63]*dx + (1.0L/12.0L)*cells[c].Mz[6]*pow(dx, 3)*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[7]*pow(dx, 4)*dz + (1.0L/24.0L)*cells[c].Mz[8]*pow(dx, 4)*dy + cells[c].Mz[91]; - cells[p].Mz[92] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 4)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[10]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[11]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[12]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mz[14]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[15]*pow(dx, 3)*dy + (1.0L/24.0L)*cells[c].Mz[18]*pow(dx, 4) + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[20]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[21]*dx*pow(dz, 2) + cells[c].Mz[22]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[24]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[25]*pow(dx, 2)*dy + (1.0L/6.0L)*cells[c].Mz[28]*pow(dx, 3) + (1.0L/48.0L)*cells[c].Mz[2]*pow(dx, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[36]*pow(dz, 2) + cells[c].Mz[37]*dy*dz + cells[c].Mz[39]*dx*dz + (1.0L/24.0L)*cells[c].Mz[3]*pow(dx, 4)*dy*dz + cells[c].Mz[40]*dx*dy + (1.0L/2.0L)*cells[c].Mz[43]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[4]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/12.0L)*cells[c].Mz[5]*pow(dx, 3)*pow(dz, 2) + cells[c].Mz[60]*dz + cells[c].Mz[61]*dy + cells[c].Mz[64]*dx + (1.0L/6.0L)*cells[c].Mz[6]*pow(dx, 3)*dy*dz + (1.0L/24.0L)*cells[c].Mz[8]*pow(dx, 4)*dz + cells[c].Mz[92] + (1.0L/24.0L)*cells[c].Mz[9]*pow(dx, 4)*dy; - cells[p].Mz[93] += (1.0L/144.0L)*cells[c].Mz[0]*pow(dx, 4)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[10]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[12]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[15]*pow(dx, 3)*dz + (1.0L/24.0L)*cells[c].Mz[19]*pow(dx, 4) + (1.0L/36.0L)*cells[c].Mz[1]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[20]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[22]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[25]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[29]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mz[37]*pow(dz, 2) + (1.0L/48.0L)*cells[c].Mz[3]*pow(dx, 4)*pow(dz, 2) + cells[c].Mz[40]*dx*dz + (1.0L/2.0L)*cells[c].Mz[44]*pow(dx, 2) + (1.0L/12.0L)*cells[c].Mz[4]*pow(dx, 2)*pow(dz, 3) + cells[c].Mz[61]*dz + cells[c].Mz[65]*dx + (1.0L/12.0L)*cells[c].Mz[6]*pow(dx, 3)*pow(dz, 2) + cells[c].Mz[93] + (1.0L/24.0L)*cells[c].Mz[9]*pow(dx, 4)*dz; - cells[p].Mz[94] += (1.0L/144.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 4) + (1.0L/24.0L)*cells[c].Mz[10]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mz[11]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mz[13]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[16]*pow(dx, 3)*dy + (1.0L/48.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mz[21]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[23]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[26]*pow(dx, 2)*dy + (1.0L/36.0L)*cells[c].Mz[2]*pow(dx, 3)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mz[30]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mz[38]*pow(dy, 2) + cells[c].Mz[41]*dx*dy + (1.0L/2.0L)*cells[c].Mz[45]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[4]*dx*pow(dy, 4) + (1.0L/12.0L)*cells[c].Mz[5]*pow(dx, 2)*pow(dy, 3) + cells[c].Mz[62]*dy + cells[c].Mz[66]*dx + (1.0L/12.0L)*cells[c].Mz[7]*pow(dx, 3)*pow(dy, 2) + cells[c].Mz[94]; - cells[p].Mz[95] += (1.0L/36.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 3)*dz + (1.0L/6.0L)*cells[c].Mz[10]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[11]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[12]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[13]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[14]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[16]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[17]*pow(dx, 3)*dy + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[21]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[22]*pow(dy, 3) + cells[c].Mz[23]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[24]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[26]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[27]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[31]*pow(dx, 3) + cells[c].Mz[38]*dy*dz + (1.0L/2.0L)*cells[c].Mz[39]*pow(dy, 2) + (1.0L/36.0L)*cells[c].Mz[3]*pow(dx, 3)*pow(dy, 3) + cells[c].Mz[41]*dx*dz + cells[c].Mz[42]*dx*dy + (1.0L/2.0L)*cells[c].Mz[46]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[4]*dx*pow(dy, 3)*dz + (1.0L/4.0L)*cells[c].Mz[5]*pow(dx, 2)*pow(dy, 2)*dz + cells[c].Mz[62]*dz + cells[c].Mz[63]*dy + cells[c].Mz[67]*dx + (1.0L/12.0L)*cells[c].Mz[6]*pow(dx, 2)*pow(dy, 3) + (1.0L/6.0L)*cells[c].Mz[7]*pow(dx, 3)*dy*dz + (1.0L/12.0L)*cells[c].Mz[8]*pow(dx, 3)*pow(dy, 2) + cells[c].Mz[95]; - cells[p].Mz[96] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dy, 2)*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[10]*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[11]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[12]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].Mz[13]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[14]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[15]*pow(dx, 2)*pow(dy, 2) + (1.0L/6.0L)*cells[c].Mz[17]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[18]*pow(dx, 3)*dy + (1.0L/8.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[21]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[22]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[23]*dx*pow(dz, 2) + cells[c].Mz[24]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[25]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[27]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[28]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 3)*dy*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[32]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mz[38]*pow(dz, 2) + cells[c].Mz[39]*dy*dz + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 3)*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[40]*pow(dy, 2) + cells[c].Mz[42]*dx*dz + cells[c].Mz[43]*dx*dy + (1.0L/2.0L)*cells[c].Mz[47]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[4]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[5]*pow(dx, 2)*dy*pow(dz, 2) + cells[c].Mz[63]*dz + cells[c].Mz[64]*dy + cells[c].Mz[68]*dx + (1.0L/4.0L)*cells[c].Mz[6]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].Mz[7]*pow(dx, 3)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[8]*pow(dx, 3)*dy*dz + cells[c].Mz[96] + (1.0L/12.0L)*cells[c].Mz[9]*pow(dx, 3)*pow(dy, 2); - cells[p].Mz[97] += (1.0L/36.0L)*cells[c].Mz[0]*pow(dx, 3)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[10]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[11]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[12]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[14]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[15]*pow(dx, 2)*dy*dz + (1.0L/6.0L)*cells[c].Mz[18]*pow(dx, 3)*dz + (1.0L/6.0L)*cells[c].Mz[19]*pow(dx, 3)*dy + (1.0L/12.0L)*cells[c].Mz[1]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[21]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[22]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[24]*dx*pow(dz, 2) + cells[c].Mz[25]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[28]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[29]*pow(dx, 2)*dy + (1.0L/36.0L)*cells[c].Mz[2]*pow(dx, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[33]*pow(dx, 3) + (1.0L/2.0L)*cells[c].Mz[39]*pow(dz, 2) + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 3)*dy*pow(dz, 2) + cells[c].Mz[40]*dy*dz + cells[c].Mz[43]*dx*dz + cells[c].Mz[44]*dx*dy + (1.0L/2.0L)*cells[c].Mz[48]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[4]*dx*dy*pow(dz, 3) + (1.0L/12.0L)*cells[c].Mz[5]*pow(dx, 2)*pow(dz, 3) + cells[c].Mz[64]*dz + cells[c].Mz[65]*dy + cells[c].Mz[69]*dx + (1.0L/4.0L)*cells[c].Mz[6]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/12.0L)*cells[c].Mz[8]*pow(dx, 3)*pow(dz, 2) + cells[c].Mz[97] + (1.0L/6.0L)*cells[c].Mz[9]*pow(dx, 3)*dy*dz; - cells[p].Mz[98] += (1.0L/144.0L)*cells[c].Mz[0]*pow(dx, 3)*pow(dz, 4) + (1.0L/24.0L)*cells[c].Mz[10]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[12]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[15]*pow(dx, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[19]*pow(dx, 3)*dz + (1.0L/48.0L)*cells[c].Mz[1]*pow(dx, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[22]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[25]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[29]*pow(dx, 2)*dz + (1.0L/6.0L)*cells[c].Mz[34]*pow(dx, 3) + (1.0L/36.0L)*cells[c].Mz[3]*pow(dx, 3)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[40]*pow(dz, 2) + cells[c].Mz[44]*dx*dz + (1.0L/2.0L)*cells[c].Mz[49]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[4]*dx*pow(dz, 4) + cells[c].Mz[65]*dz + (1.0L/12.0L)*cells[c].Mz[6]*pow(dx, 2)*pow(dz, 3) + cells[c].Mz[70]*dx + cells[c].Mz[98] + (1.0L/12.0L)*cells[c].Mz[9]*pow(dx, 3)*pow(dz, 2); - cells[p].Mz[99] += (1.0L/240.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 5) + (1.0L/24.0L)*cells[c].Mz[11]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mz[13]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mz[16]*pow(dx, 2)*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mz[1]*dx*pow(dy, 5) + (1.0L/6.0L)*cells[c].Mz[23]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[26]*dx*pow(dy, 2) + (1.0L/48.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[30]*pow(dx, 2)*dy + (1.0L/2.0L)*cells[c].Mz[41]*pow(dy, 2) + cells[c].Mz[45]*dx*dy + (1.0L/120.0L)*cells[c].Mz[4]*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[50]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[5]*dx*pow(dy, 4) + cells[c].Mz[66]*dy + cells[c].Mz[71]*dx + (1.0L/12.0L)*cells[c].Mz[7]*pow(dx, 2)*pow(dy, 3) + cells[c].Mz[99]; - cells[p].Mz[100] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 4)*dz + cells[c].Mz[100] + (1.0L/6.0L)*cells[c].Mz[11]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[12]*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[13]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[14]*dx*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[16]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[17]*pow(dx, 2)*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[1]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mz[23]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[24]*pow(dy, 3) + cells[c].Mz[26]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[27]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[30]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[31]*pow(dx, 2)*dy + (1.0L/48.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 4) + cells[c].Mz[41]*dy*dz + (1.0L/2.0L)*cells[c].Mz[42]*pow(dy, 2) + cells[c].Mz[45]*dx*dz + cells[c].Mz[46]*dx*dy + (1.0L/24.0L)*cells[c].Mz[4]*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mz[51]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[5]*dx*pow(dy, 3)*dz + cells[c].Mz[66]*dz + cells[c].Mz[67]*dy + (1.0L/24.0L)*cells[c].Mz[6]*dx*pow(dy, 4) + cells[c].Mz[72]*dx + (1.0L/4.0L)*cells[c].Mz[7]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].Mz[8]*pow(dx, 2)*pow(dy, 3); - cells[p].Mz[101] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 3)*pow(dz, 2) + cells[c].Mz[101] + (1.0L/4.0L)*cells[c].Mz[11]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[12]*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[13]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[14]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[15]*dx*pow(dy, 3) + (1.0L/4.0L)*cells[c].Mz[16]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[17]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[18]*pow(dx, 2)*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[1]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[23]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[24]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[25]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[26]*dx*pow(dz, 2) + cells[c].Mz[27]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[28]*dx*pow(dy, 2) + (1.0L/8.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[31]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[32]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 3)*dz + (1.0L/2.0L)*cells[c].Mz[41]*pow(dz, 2) + cells[c].Mz[42]*dy*dz + (1.0L/2.0L)*cells[c].Mz[43]*pow(dy, 2) + cells[c].Mz[46]*dx*dz + cells[c].Mz[47]*dx*dy + (1.0L/12.0L)*cells[c].Mz[4]*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[52]*pow(dx, 2) + (1.0L/4.0L)*cells[c].Mz[5]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[67]*dz + cells[c].Mz[68]*dy + (1.0L/6.0L)*cells[c].Mz[6]*dx*pow(dy, 3)*dz + cells[c].Mz[73]*dx + (1.0L/4.0L)*cells[c].Mz[7]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[8]*pow(dx, 2)*pow(dy, 2)*dz + (1.0L/12.0L)*cells[c].Mz[9]*pow(dx, 2)*pow(dy, 3); - cells[p].Mz[102] += (1.0L/24.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dy, 2)*pow(dz, 3) + cells[c].Mz[102] + (1.0L/6.0L)*cells[c].Mz[11]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[12]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[13]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[14]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[15]*dx*pow(dy, 2)*dz + (1.0L/4.0L)*cells[c].Mz[17]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[18]*pow(dx, 2)*dy*dz + (1.0L/4.0L)*cells[c].Mz[19]*pow(dx, 2)*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[1]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[23]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[24]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[25]*pow(dy, 2)*dz + (1.0L/2.0L)*cells[c].Mz[27]*dx*pow(dz, 2) + cells[c].Mz[28]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[29]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[2]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[32]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[33]*pow(dx, 2)*dy + (1.0L/8.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dy, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[42]*pow(dz, 2) + cells[c].Mz[43]*dy*dz + (1.0L/2.0L)*cells[c].Mz[44]*pow(dy, 2) + cells[c].Mz[47]*dx*dz + cells[c].Mz[48]*dx*dy + (1.0L/12.0L)*cells[c].Mz[4]*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[53]*pow(dx, 2) + (1.0L/6.0L)*cells[c].Mz[5]*dx*dy*pow(dz, 3) + cells[c].Mz[68]*dz + cells[c].Mz[69]*dy + (1.0L/4.0L)*cells[c].Mz[6]*dx*pow(dy, 2)*pow(dz, 2) + cells[c].Mz[74]*dx + (1.0L/12.0L)*cells[c].Mz[7]*pow(dx, 2)*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[8]*pow(dx, 2)*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[9]*pow(dx, 2)*pow(dy, 2)*dz; - cells[p].Mz[103] += (1.0L/48.0L)*cells[c].Mz[0]*pow(dx, 2)*dy*pow(dz, 4) + cells[c].Mz[103] + (1.0L/24.0L)*cells[c].Mz[11]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[12]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[14]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[15]*dx*dy*pow(dz, 2) + (1.0L/4.0L)*cells[c].Mz[18]*pow(dx, 2)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[19]*pow(dx, 2)*dy*dz + (1.0L/24.0L)*cells[c].Mz[1]*dx*dy*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[24]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[25]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[28]*dx*pow(dz, 2) + cells[c].Mz[29]*dx*dy*dz + (1.0L/48.0L)*cells[c].Mz[2]*pow(dx, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[33]*pow(dx, 2)*dz + (1.0L/2.0L)*cells[c].Mz[34]*pow(dx, 2)*dy + (1.0L/12.0L)*cells[c].Mz[3]*pow(dx, 2)*dy*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[43]*pow(dz, 2) + cells[c].Mz[44]*dy*dz + cells[c].Mz[48]*dx*dz + cells[c].Mz[49]*dx*dy + (1.0L/24.0L)*cells[c].Mz[4]*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[54]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[5]*dx*pow(dz, 4) + cells[c].Mz[69]*dz + (1.0L/6.0L)*cells[c].Mz[6]*dx*dy*pow(dz, 3) + cells[c].Mz[70]*dy + cells[c].Mz[75]*dx + (1.0L/12.0L)*cells[c].Mz[8]*pow(dx, 2)*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[9]*pow(dx, 2)*dy*pow(dz, 2); - cells[p].Mz[104] += (1.0L/240.0L)*cells[c].Mz[0]*pow(dx, 2)*pow(dz, 5) + cells[c].Mz[104] + (1.0L/24.0L)*cells[c].Mz[12]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[15]*dx*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[19]*pow(dx, 2)*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[1]*dx*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mz[25]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[29]*dx*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[34]*pow(dx, 2)*dz + (1.0L/48.0L)*cells[c].Mz[3]*pow(dx, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[44]*pow(dz, 2) + cells[c].Mz[49]*dx*dz + (1.0L/120.0L)*cells[c].Mz[4]*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[55]*pow(dx, 2) + (1.0L/24.0L)*cells[c].Mz[6]*dx*pow(dz, 4) + cells[c].Mz[70]*dz + cells[c].Mz[76]*dx + (1.0L/12.0L)*cells[c].Mz[9]*pow(dx, 2)*pow(dz, 3); - cells[p].Mz[105] += (1.0L/720.0L)*cells[c].Mz[0]*dx*pow(dy, 6) + cells[c].Mz[105] + (1.0L/24.0L)*cells[c].Mz[13]*pow(dy, 4) + (1.0L/6.0L)*cells[c].Mz[16]*dx*pow(dy, 3) + (1.0L/720.0L)*cells[c].Mz[1]*pow(dy, 6) + (1.0L/6.0L)*cells[c].Mz[26]*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mz[2]*dx*pow(dy, 5) + (1.0L/2.0L)*cells[c].Mz[30]*dx*pow(dy, 2) + (1.0L/2.0L)*cells[c].Mz[45]*pow(dy, 2) + cells[c].Mz[50]*dx*dy + (1.0L/120.0L)*cells[c].Mz[5]*pow(dy, 5) + cells[c].Mz[71]*dy + cells[c].Mz[77]*dx + (1.0L/24.0L)*cells[c].Mz[7]*dx*pow(dy, 4); - cells[p].Mz[106] += (1.0L/120.0L)*cells[c].Mz[0]*dx*pow(dy, 5)*dz + cells[c].Mz[106] + (1.0L/6.0L)*cells[c].Mz[13]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[14]*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[16]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[17]*dx*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mz[1]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mz[26]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[27]*pow(dy, 3) + (1.0L/24.0L)*cells[c].Mz[2]*dx*pow(dy, 4)*dz + cells[c].Mz[30]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[31]*dx*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mz[3]*dx*pow(dy, 5) + cells[c].Mz[45]*dy*dz + (1.0L/2.0L)*cells[c].Mz[46]*pow(dy, 2) + cells[c].Mz[50]*dx*dz + cells[c].Mz[51]*dx*dy + (1.0L/24.0L)*cells[c].Mz[5]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].Mz[6]*pow(dy, 5) + cells[c].Mz[71]*dz + cells[c].Mz[72]*dy + cells[c].Mz[78]*dx + (1.0L/6.0L)*cells[c].Mz[7]*dx*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[8]*dx*pow(dy, 4); - cells[p].Mz[107] += (1.0L/48.0L)*cells[c].Mz[0]*dx*pow(dy, 4)*pow(dz, 2) + cells[c].Mz[107] + (1.0L/4.0L)*cells[c].Mz[13]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[14]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[15]*pow(dy, 4) + (1.0L/2.0L)*cells[c].Mz[16]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[17]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[18]*dx*pow(dy, 3) + (1.0L/48.0L)*cells[c].Mz[1]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[26]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[27]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[28]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mz[2]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[30]*dx*pow(dz, 2) + cells[c].Mz[31]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[32]*dx*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[3]*dx*pow(dy, 4)*dz + (1.0L/2.0L)*cells[c].Mz[45]*pow(dz, 2) + cells[c].Mz[46]*dy*dz + (1.0L/2.0L)*cells[c].Mz[47]*pow(dy, 2) + cells[c].Mz[51]*dx*dz + cells[c].Mz[52]*dx*dy + (1.0L/12.0L)*cells[c].Mz[5]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].Mz[6]*pow(dy, 4)*dz + cells[c].Mz[72]*dz + cells[c].Mz[73]*dy + cells[c].Mz[79]*dx + (1.0L/4.0L)*cells[c].Mz[7]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[8]*dx*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[9]*dx*pow(dy, 4); - cells[p].Mz[108] += (1.0L/36.0L)*cells[c].Mz[0]*dx*pow(dy, 3)*pow(dz, 3) + cells[c].Mz[108] + (1.0L/6.0L)*cells[c].Mz[13]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[14]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[15]*pow(dy, 3)*dz + (1.0L/6.0L)*cells[c].Mz[16]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[17]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[18]*dx*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[19]*dx*pow(dy, 3) + (1.0L/36.0L)*cells[c].Mz[1]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[26]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[27]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[28]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[29]*pow(dy, 3) + (1.0L/12.0L)*cells[c].Mz[2]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[31]*dx*pow(dz, 2) + cells[c].Mz[32]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[33]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[3]*dx*pow(dy, 3)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[46]*pow(dz, 2) + cells[c].Mz[47]*dy*dz + (1.0L/2.0L)*cells[c].Mz[48]*pow(dy, 2) + cells[c].Mz[52]*dx*dz + cells[c].Mz[53]*dx*dy + (1.0L/12.0L)*cells[c].Mz[5]*pow(dy, 2)*pow(dz, 3) + (1.0L/12.0L)*cells[c].Mz[6]*pow(dy, 3)*pow(dz, 2) + cells[c].Mz[73]*dz + cells[c].Mz[74]*dy + (1.0L/6.0L)*cells[c].Mz[7]*dx*dy*pow(dz, 3) + cells[c].Mz[80]*dx + (1.0L/4.0L)*cells[c].Mz[8]*dx*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[9]*dx*pow(dy, 3)*dz; - cells[p].Mz[109] += (1.0L/48.0L)*cells[c].Mz[0]*dx*pow(dy, 2)*pow(dz, 4) + cells[c].Mz[109] + (1.0L/24.0L)*cells[c].Mz[13]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[14]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[15]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[17]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[18]*dx*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[19]*dx*pow(dy, 2)*dz + (1.0L/48.0L)*cells[c].Mz[1]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[27]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[28]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[29]*pow(dy, 2)*dz + (1.0L/24.0L)*cells[c].Mz[2]*dx*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[32]*dx*pow(dz, 2) + cells[c].Mz[33]*dx*dy*dz + (1.0L/2.0L)*cells[c].Mz[34]*dx*pow(dy, 2) + (1.0L/12.0L)*cells[c].Mz[3]*dx*pow(dy, 2)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[47]*pow(dz, 2) + cells[c].Mz[48]*dy*dz + (1.0L/2.0L)*cells[c].Mz[49]*pow(dy, 2) + cells[c].Mz[53]*dx*dz + cells[c].Mz[54]*dx*dy + (1.0L/24.0L)*cells[c].Mz[5]*dy*pow(dz, 4) + (1.0L/12.0L)*cells[c].Mz[6]*pow(dy, 2)*pow(dz, 3) + cells[c].Mz[74]*dz + cells[c].Mz[75]*dy + (1.0L/24.0L)*cells[c].Mz[7]*dx*pow(dz, 4) + cells[c].Mz[81]*dx + (1.0L/6.0L)*cells[c].Mz[8]*dx*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[9]*dx*pow(dy, 2)*pow(dz, 2); - cells[p].Mz[110] += (1.0L/120.0L)*cells[c].Mz[0]*dx*dy*pow(dz, 5) + cells[c].Mz[110] + (1.0L/24.0L)*cells[c].Mz[14]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[15]*dy*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[18]*dx*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[19]*dx*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[1]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mz[28]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[29]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[2]*dx*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[33]*dx*pow(dz, 2) + cells[c].Mz[34]*dx*dy*dz + (1.0L/24.0L)*cells[c].Mz[3]*dx*dy*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[48]*pow(dz, 2) + cells[c].Mz[49]*dy*dz + cells[c].Mz[54]*dx*dz + cells[c].Mz[55]*dx*dy + (1.0L/120.0L)*cells[c].Mz[5]*pow(dz, 5) + (1.0L/24.0L)*cells[c].Mz[6]*dy*pow(dz, 4) + cells[c].Mz[75]*dz + cells[c].Mz[76]*dy + cells[c].Mz[82]*dx + (1.0L/24.0L)*cells[c].Mz[8]*dx*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[9]*dx*dy*pow(dz, 3); - cells[p].Mz[111] += (1.0L/720.0L)*cells[c].Mz[0]*dx*pow(dz, 6) + cells[c].Mz[111] + (1.0L/24.0L)*cells[c].Mz[15]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[19]*dx*pow(dz, 3) + (1.0L/720.0L)*cells[c].Mz[1]*pow(dz, 6) + (1.0L/6.0L)*cells[c].Mz[29]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[34]*dx*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[3]*dx*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[49]*pow(dz, 2) + cells[c].Mz[55]*dx*dz + (1.0L/120.0L)*cells[c].Mz[6]*pow(dz, 5) + cells[c].Mz[76]*dz + cells[c].Mz[83]*dx + (1.0L/24.0L)*cells[c].Mz[9]*dx*pow(dz, 4); - cells[p].Mz[112] += (1.0L/5040.0L)*cells[c].Mz[0]*pow(dy, 7) + cells[c].Mz[112] + (1.0L/24.0L)*cells[c].Mz[16]*pow(dy, 4) + (1.0L/720.0L)*cells[c].Mz[2]*pow(dy, 6) + (1.0L/6.0L)*cells[c].Mz[30]*pow(dy, 3) + (1.0L/2.0L)*cells[c].Mz[50]*pow(dy, 2) + cells[c].Mz[77]*dy + (1.0L/120.0L)*cells[c].Mz[7]*pow(dy, 5); - cells[p].Mz[113] += (1.0L/720.0L)*cells[c].Mz[0]*pow(dy, 6)*dz + cells[c].Mz[113] + (1.0L/6.0L)*cells[c].Mz[16]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[17]*pow(dy, 4) + (1.0L/120.0L)*cells[c].Mz[2]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mz[30]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[31]*pow(dy, 3) + (1.0L/720.0L)*cells[c].Mz[3]*pow(dy, 6) + cells[c].Mz[50]*dy*dz + (1.0L/2.0L)*cells[c].Mz[51]*pow(dy, 2) + cells[c].Mz[77]*dz + cells[c].Mz[78]*dy + (1.0L/24.0L)*cells[c].Mz[7]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].Mz[8]*pow(dy, 5); - cells[p].Mz[114] += (1.0L/240.0L)*cells[c].Mz[0]*pow(dy, 5)*pow(dz, 2) + cells[c].Mz[114] + (1.0L/4.0L)*cells[c].Mz[16]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[17]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[18]*pow(dy, 4) + (1.0L/48.0L)*cells[c].Mz[2]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[30]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[31]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[32]*pow(dy, 3) + (1.0L/120.0L)*cells[c].Mz[3]*pow(dy, 5)*dz + (1.0L/2.0L)*cells[c].Mz[50]*pow(dz, 2) + cells[c].Mz[51]*dy*dz + (1.0L/2.0L)*cells[c].Mz[52]*pow(dy, 2) + cells[c].Mz[78]*dz + cells[c].Mz[79]*dy + (1.0L/12.0L)*cells[c].Mz[7]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].Mz[8]*pow(dy, 4)*dz + (1.0L/120.0L)*cells[c].Mz[9]*pow(dy, 5); - cells[p].Mz[115] += (1.0L/144.0L)*cells[c].Mz[0]*pow(dy, 4)*pow(dz, 3) + cells[c].Mz[115] + (1.0L/6.0L)*cells[c].Mz[16]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[17]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[18]*pow(dy, 3)*dz + (1.0L/24.0L)*cells[c].Mz[19]*pow(dy, 4) + (1.0L/36.0L)*cells[c].Mz[2]*pow(dy, 3)*pow(dz, 3) + (1.0L/6.0L)*cells[c].Mz[30]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[31]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[32]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[33]*pow(dy, 3) + (1.0L/48.0L)*cells[c].Mz[3]*pow(dy, 4)*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[51]*pow(dz, 2) + cells[c].Mz[52]*dy*dz + (1.0L/2.0L)*cells[c].Mz[53]*pow(dy, 2) + cells[c].Mz[79]*dz + (1.0L/12.0L)*cells[c].Mz[7]*pow(dy, 2)*pow(dz, 3) + cells[c].Mz[80]*dy + (1.0L/12.0L)*cells[c].Mz[8]*pow(dy, 3)*pow(dz, 2) + (1.0L/24.0L)*cells[c].Mz[9]*pow(dy, 4)*dz; - cells[p].Mz[116] += (1.0L/144.0L)*cells[c].Mz[0]*pow(dy, 3)*pow(dz, 4) + cells[c].Mz[116] + (1.0L/24.0L)*cells[c].Mz[16]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[17]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[18]*pow(dy, 2)*pow(dz, 2) + (1.0L/6.0L)*cells[c].Mz[19]*pow(dy, 3)*dz + (1.0L/48.0L)*cells[c].Mz[2]*pow(dy, 2)*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[31]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[32]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[33]*pow(dy, 2)*dz + (1.0L/6.0L)*cells[c].Mz[34]*pow(dy, 3) + (1.0L/36.0L)*cells[c].Mz[3]*pow(dy, 3)*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[52]*pow(dz, 2) + cells[c].Mz[53]*dy*dz + (1.0L/2.0L)*cells[c].Mz[54]*pow(dy, 2) + (1.0L/24.0L)*cells[c].Mz[7]*dy*pow(dz, 4) + cells[c].Mz[80]*dz + cells[c].Mz[81]*dy + (1.0L/12.0L)*cells[c].Mz[8]*pow(dy, 2)*pow(dz, 3) + (1.0L/12.0L)*cells[c].Mz[9]*pow(dy, 3)*pow(dz, 2); - cells[p].Mz[117] += (1.0L/240.0L)*cells[c].Mz[0]*pow(dy, 2)*pow(dz, 5) + cells[c].Mz[117] + (1.0L/24.0L)*cells[c].Mz[17]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[18]*dy*pow(dz, 3) + (1.0L/4.0L)*cells[c].Mz[19]*pow(dy, 2)*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[2]*dy*pow(dz, 5) + (1.0L/6.0L)*cells[c].Mz[32]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[33]*dy*pow(dz, 2) + (1.0L/2.0L)*cells[c].Mz[34]*pow(dy, 2)*dz + (1.0L/48.0L)*cells[c].Mz[3]*pow(dy, 2)*pow(dz, 4) + (1.0L/2.0L)*cells[c].Mz[53]*pow(dz, 2) + cells[c].Mz[54]*dy*dz + (1.0L/2.0L)*cells[c].Mz[55]*pow(dy, 2) + (1.0L/120.0L)*cells[c].Mz[7]*pow(dz, 5) + cells[c].Mz[81]*dz + cells[c].Mz[82]*dy + (1.0L/24.0L)*cells[c].Mz[8]*dy*pow(dz, 4) + (1.0L/12.0L)*cells[c].Mz[9]*pow(dy, 2)*pow(dz, 3); - cells[p].Mz[118] += (1.0L/720.0L)*cells[c].Mz[0]*dy*pow(dz, 6) + cells[c].Mz[118] + (1.0L/24.0L)*cells[c].Mz[18]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[19]*dy*pow(dz, 3) + (1.0L/720.0L)*cells[c].Mz[2]*pow(dz, 6) + (1.0L/6.0L)*cells[c].Mz[33]*pow(dz, 3) + (1.0L/2.0L)*cells[c].Mz[34]*dy*pow(dz, 2) + (1.0L/120.0L)*cells[c].Mz[3]*dy*pow(dz, 5) + (1.0L/2.0L)*cells[c].Mz[54]*pow(dz, 2) + cells[c].Mz[55]*dy*dz + cells[c].Mz[82]*dz + cells[c].Mz[83]*dy + (1.0L/120.0L)*cells[c].Mz[8]*pow(dz, 5) + (1.0L/24.0L)*cells[c].Mz[9]*dy*pow(dz, 4); - cells[p].Mz[119] += (1.0L/5040.0L)*cells[c].Mz[0]*pow(dz, 7) + cells[c].Mz[119] + (1.0L/24.0L)*cells[c].Mz[19]*pow(dz, 4) + (1.0L/6.0L)*cells[c].Mz[34]*pow(dz, 3) + (1.0L/720.0L)*cells[c].Mz[3]*pow(dz, 6) + (1.0L/2.0L)*cells[c].Mz[55]*pow(dz, 2) + cells[c].Mz[83]*dz + (1.0L/120.0L)*cells[c].Mz[9]*pow(dz, 5); - - -} -void M2P_7(unsigned int c, unsigned int i, std::vector &cells, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz, std::vector &derivative) { - double dx = -(cells[c].x - particles[i].x); - double dy = -(cells[c].y - particles[i].y); - double dz = -(cells[c].z - particles[i].z); - //std::vector derivative(220); - double dl = sqrt(dx*dx + dy*dy + dz*dz); - derivative[0] = 1.0/dl; - derivative[1] = -dx/pow(dl, 3); - derivative[2] = -dy/pow(dl, 3); - derivative[3] = -dz/pow(dl, 3); - derivative[4] = (-1 + 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 3); - derivative[5] = 3*dx*dy/pow(dl, 5); - derivative[6] = 3*dx*dz/pow(dl, 5); - derivative[7] = (-1 + 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 3); - derivative[8] = 3*dy*dz/pow(dl, 5); - derivative[9] = (-1 + 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 3); - derivative[10] = 3*dx*(3 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[11] = 3*dy*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[12] = 3*dz*(1 - 5*pow(dx, 2)/pow(dl, 2))/pow(dl, 5); - derivative[13] = 3*dx*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[14] = -15*dx*dy*dz/pow(dl, 7); - derivative[15] = 3*dx*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[16] = 3*dy*(3 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[17] = 3*dz*(1 - 5*pow(dy, 2)/pow(dl, 2))/pow(dl, 5); - derivative[18] = 3*dy*(1 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[19] = 3*dz*(3 - 5*pow(dz, 2)/pow(dl, 2))/pow(dl, 5); - derivative[20] = 3*(3 - 30*pow(dx, 2)/pow(dl, 2) + 35*pow(dx, 4)/pow(dl, 4))/pow(dl, 5); - derivative[21] = 15*dx*dy*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[22] = 15*dx*dz*(-3 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[23] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dy, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 5); - derivative[24] = 15*dy*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2))/pow(dl, 7); - derivative[25] = 3*(1 - 5*pow(dx, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[26] = 15*dx*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[27] = 15*dx*dz*(-1 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[28] = 15*dx*dy*(-1 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[29] = 15*dx*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[30] = 3*(3 - 30*pow(dy, 2)/pow(dl, 2) + 35*pow(dy, 4)/pow(dl, 4))/pow(dl, 5); - derivative[31] = 15*dy*dz*(-3 + 7*pow(dy, 2)/pow(dl, 2))/pow(dl, 7); - derivative[32] = 3*(1 - 5*pow(dy, 2)/pow(dl, 2) - 5*pow(dz, 2)/pow(dl, 2) + 35*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 5); - derivative[33] = 15*dy*dz*(-3 + 7*pow(dz, 2)/pow(dl, 2))/pow(dl, 7); - derivative[34] = 3*(3 - 30*pow(dz, 2)/pow(dl, 2) + 35*pow(dz, 4)/pow(dl, 4))/pow(dl, 5); - derivative[35] = 15*dx*(-15 + 70*pow(dx, 2)/pow(dl, 2) - 63*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[36] = 45*dy*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[37] = 45*dz*(-1 + 14*pow(dx, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4))/pow(dl, 7); - derivative[38] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[39] = 315*dx*dy*dz*(1 - 3*pow(dx, 2)/pow(dl, 2))/pow(dl, 9); - derivative[40] = 15*dx*(-3 + 7*pow(dx, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[41] = 15*dy*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[42] = 15*dz*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 7); - derivative[43] = 15*dy*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[44] = 15*dz*(-3 + 21*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[45] = 45*dx*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[46] = 315*dx*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2))/pow(dl, 9); - derivative[47] = 15*dx*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[48] = 315*dx*dy*dz*(1 - 3*pow(dz, 2)/pow(dl, 2))/pow(dl, 9); - derivative[49] = 45*dx*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[50] = 15*dy*(-15 + 70*pow(dy, 2)/pow(dl, 2) - 63*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[51] = 45*dz*(-1 + 14*pow(dy, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4))/pow(dl, 7); - derivative[52] = 15*dy*(-3 + 7*pow(dy, 2)/pow(dl, 2) + 21*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[53] = 15*dz*(-3 + 21*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 7); - derivative[54] = 45*dy*(-1 + 14*pow(dz, 2)/pow(dl, 2) - 21*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[55] = 15*dz*(-15 + 70*pow(dz, 2)/pow(dl, 2) - 63*pow(dz, 4)/pow(dl, 4))/pow(dl, 7); - derivative[56] = 45*(-5 + 105*pow(dx, 2)/pow(dl, 2) - 315*pow(dx, 4)/pow(dl, 4) + 231*pow(dx, 6)/pow(dl, 6))/pow(dl, 7); - derivative[57] = 315*dx*dy*(5 - 30*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[58] = 315*dx*dz*(5 - 30*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[59] = 45*(-1 + 14*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4) - 126*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 231*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 7); - derivative[60] = 315*dy*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4))/pow(dl, 9); - derivative[61] = 45*(-1 + 14*pow(dx, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 21*pow(dx, 4)/pow(dl, 4) - 126*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 231*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[62] = 945*dx*dy*(1 - 3*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 11*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[63] = 315*dx*dz*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[64] = 315*dx*dy*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[65] = 945*dx*dz*(1 - 3*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 11*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[66] = 45*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 14*pow(dy, 2)/pow(dl, 2) - 126*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 21*pow(dy, 4)/pow(dl, 4) + 231*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 7); - derivative[67] = 315*dy*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 9); - derivative[68] = 15*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 7*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 63*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 63*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 63*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 693*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[69] = 315*dy*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[70] = 45*(-1 + 7*pow(dx, 2)/pow(dl, 2) + 14*pow(dz, 2)/pow(dl, 2) - 126*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 21*pow(dz, 4)/pow(dl, 4) + 231*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 7); - derivative[71] = 315*dx*dy*(5 - 30*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[72] = 315*dx*dz*(1 - 18*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[73] = 315*dx*dy*(1 - 3*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[74] = 315*dx*dz*(1 - 9*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[75] = 315*dx*dy*(1 - 18*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[76] = 315*dx*dz*(5 - 30*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[77] = 45*(-5 + 105*pow(dy, 2)/pow(dl, 2) - 315*pow(dy, 4)/pow(dl, 4) + 231*pow(dy, 6)/pow(dl, 6))/pow(dl, 7); - derivative[78] = 315*dy*dz*(5 - 30*pow(dy, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4))/pow(dl, 9); - derivative[79] = 45*(-1 + 14*pow(dy, 2)/pow(dl, 2) + 7*pow(dz, 2)/pow(dl, 2) - 21*pow(dy, 4)/pow(dl, 4) - 126*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 231*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 7); - derivative[80] = 945*dy*dz*(1 - 3*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 11*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 9); - derivative[81] = 45*(-1 + 7*pow(dy, 2)/pow(dl, 2) + 14*pow(dz, 2)/pow(dl, 2) - 126*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 21*pow(dz, 4)/pow(dl, 4) + 231*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 7); - derivative[82] = 315*dy*dz*(5 - 30*pow(dz, 2)/pow(dl, 2) + 33*pow(dz, 4)/pow(dl, 4))/pow(dl, 9); - derivative[83] = 45*(-5 + 105*pow(dz, 2)/pow(dl, 2) - 315*pow(dz, 4)/pow(dl, 4) + 231*pow(dz, 6)/pow(dl, 6))/pow(dl, 7); - derivative[84] = 315*dx*(35 - 315*pow(dx, 2)/pow(dl, 2) + 693*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[85] = 315*dy*(5 - 135*pow(dx, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[86] = 315*dz*(5 - 135*pow(dx, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6))/pow(dl, 9); - derivative[87] = 315*dx*(5 - 30*pow(dx, 2)/pow(dl, 2) - 45*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 330*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[88] = 945*dx*dy*dz*(-15 + 110*pow(dx, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4))/pow(dl, 11); - derivative[89] = 315*dx*(5 - 30*pow(dx, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 330*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[90] = 945*dy*(1 - 18*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 66*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[91] = 315*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 9); - derivative[92] = 315*dy*(1 - 18*pow(dx, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[93] = 945*dz*(1 - 18*pow(dx, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 66*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[94] = 945*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) + 66*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 143*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[95] = 945*dx*dy*dz*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dy, 2)/pow(dl, 4))/pow(dl, 11); - derivative[96] = 315*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 99*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[97] = 945*dx*dy*dz*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 11); - derivative[98] = 945*dx*(1 - 3*pow(dx, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 66*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 143*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[99] = 315*dy*(5 - 45*pow(dx, 2)/pow(dl, 2) - 30*pow(dy, 2)/pow(dl, 2) + 330*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[100] = 315*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 9); - derivative[101] = 315*dy*(1 - 9*pow(dx, 2)/pow(dl, 2) - 3*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 99*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[102] = 315*dz*(1 - 9*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 99*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[103] = 315*dy*(1 - 9*pow(dx, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[104] = 315*dz*(5 - 45*pow(dx, 2)/pow(dl, 2) - 30*pow(dz, 2)/pow(dl, 2) + 330*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[105] = 315*dx*(5 - 135*pow(dy, 2)/pow(dl, 2) + 495*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[106] = 945*dx*dy*dz*(-15 + 110*pow(dy, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4))/pow(dl, 11); - derivative[107] = 315*dx*(1 - 18*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[108] = 945*dx*dy*dz*(-9 + 33*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 2)*pow(dz, 2)/pow(dl, 4))/pow(dl, 11); - derivative[109] = 315*dx*(1 - 9*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[110] = 945*dx*dy*dz*(-15 + 110*pow(dz, 2)/pow(dl, 2) - 143*pow(dz, 4)/pow(dl, 4))/pow(dl, 11); - derivative[111] = 315*dx*(5 - 135*pow(dz, 2)/pow(dl, 2) + 495*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - derivative[112] = 315*dy*(35 - 315*pow(dy, 2)/pow(dl, 2) + 693*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[113] = 315*dz*(5 - 135*pow(dy, 2)/pow(dl, 2) + 495*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6))/pow(dl, 9); - derivative[114] = 315*dy*(5 - 30*pow(dy, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 330*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[115] = 945*dz*(1 - 18*pow(dy, 2)/pow(dl, 2) - 3*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 66*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 9); - derivative[116] = 945*dy*(1 - 3*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 66*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 143*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[117] = 315*dz*(5 - 45*pow(dy, 2)/pow(dl, 2) - 30*pow(dz, 2)/pow(dl, 2) + 330*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 9); - derivative[118] = 315*dy*(5 - 135*pow(dz, 2)/pow(dl, 2) + 495*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - derivative[119] = 315*dz*(35 - 315*pow(dz, 2)/pow(dl, 2) + 693*pow(dz, 4)/pow(dl, 4) - 429*pow(dz, 6)/pow(dl, 6))/pow(dl, 9); - derivative[120] = 315*(35 - 1260*pow(dx, 2)/pow(dl, 2) + 6930*pow(dx, 4)/pow(dl, 4) - 12012*pow(dx, 6)/pow(dl, 6) + 6435*pow(dx, 8)/pow(dl, 8))/pow(dl, 9); - derivative[121] = 2835*dx*dy*(-35 + 385*pow(dx, 2)/pow(dl, 2) - 1001*pow(dx, 4)/pow(dl, 4) + 715*pow(dx, 6)/pow(dl, 6))/pow(dl, 11); - derivative[122] = 2835*dx*dz*(-35 + 385*pow(dx, 2)/pow(dl, 2) - 1001*pow(dx, 4)/pow(dl, 4) + 715*pow(dx, 6)/pow(dl, 6))/pow(dl, 11); - derivative[123] = 315*(5 - 135*pow(dx, 2)/pow(dl, 2) - 45*pow(dy, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) + 1485*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6) - 6435*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) + 6435*pow(dx, 6)*pow(dy, 2)/pow(dl, 8))/pow(dl, 9); - derivative[124] = 14175*dy*dz*(-1 + 33*pow(dx, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) + 143*pow(dx, 6)/pow(dl, 6))/pow(dl, 11); - derivative[125] = 315*(5 - 135*pow(dx, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 495*pow(dx, 4)/pow(dl, 4) + 1485*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 6)/pow(dl, 6) - 6435*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) + 6435*pow(dx, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 9); - derivative[126] = 945*dx*dy*(-45 + 330*pow(dx, 2)/pow(dl, 2) + 165*pow(dy, 2)/pow(dl, 2) - 429*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 11); - derivative[127] = 945*dx*dz*(-15 + 110*pow(dx, 2)/pow(dl, 2) + 165*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 11); - derivative[128] = 945*dx*dy*(-15 + 110*pow(dx, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[129] = 945*dx*dz*(-45 + 330*pow(dx, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[130] = 945*(1 - 18*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 396*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) - 858*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) - 858*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dy, 4)/pow(dl, 8))/pow(dl, 9); - derivative[131] = 2835*dy*dz*(-3 + 66*pow(dx, 2)/pow(dl, 2) + 11*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 286*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 715*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 11); - derivative[132] = 315*(1 - 18*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 99*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) - 429*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) - 2574*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) + 6435*pow(dx, 4)*pow(dy, 2)*pow(dz, 2)/pow(dl, 8))/pow(dl, 9); - derivative[133] = 2835*dy*dz*(-3 + 66*pow(dx, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 286*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 715*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[134] = 945*(1 - 18*pow(dx, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 33*pow(dx, 4)/pow(dl, 4) + 396*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 858*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) - 858*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 9); - derivative[135] = 945*dx*dy*(-45 + 165*pow(dx, 2)/pow(dl, 2) + 330*pow(dy, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dy, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 11); - derivative[136] = 2835*dx*dz*(-3 + 11*pow(dx, 2)/pow(dl, 2) + 66*pow(dy, 2)/pow(dl, 2) - 286*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) + 715*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 11); - derivative[137] = 945*dx*dy*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) + 99*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[138] = 945*dx*dz*(-9 + 33*pow(dx, 2)/pow(dl, 2) + 99*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[139] = 2835*dx*dy*(-3 + 11*pow(dx, 2)/pow(dl, 2) + 66*pow(dz, 2)/pow(dl, 2) - 286*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 715*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[140] = 945*dx*dz*(-45 + 165*pow(dx, 2)/pow(dl, 2) + 330*pow(dz, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dz, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[141] = 315*(5 - 45*pow(dx, 2)/pow(dl, 2) - 135*pow(dy, 2)/pow(dl, 2) + 1485*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 495*pow(dy, 4)/pow(dl, 4) - 6435*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) - 429*pow(dy, 6)/pow(dl, 6) + 6435*pow(dx, 2)*pow(dy, 6)/pow(dl, 8))/pow(dl, 9); - derivative[142] = 945*dy*dz*(-15 + 165*pow(dx, 2)/pow(dl, 2) + 110*pow(dy, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 11); - derivative[143] = 315*(1 - 9*pow(dx, 2)/pow(dl, 2) - 18*pow(dy, 2)/pow(dl, 2) - 9*pow(dz, 2)/pow(dl, 2) + 198*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 99*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dy, 4)/pow(dl, 4) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) - 2574*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) - 429*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) + 6435*pow(dx, 2)*pow(dy, 4)*pow(dz, 2)/pow(dl, 8))/pow(dl, 9); - derivative[144] = 945*dy*dz*(-9 + 99*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[145] = 315*(1 - 9*pow(dx, 2)/pow(dl, 2) - 9*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 99*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 198*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 198*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 2574*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) - 429*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) - 429*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) + 6435*pow(dx, 2)*pow(dy, 2)*pow(dz, 4)/pow(dl, 8))/pow(dl, 9); - derivative[146] = 945*dy*dz*(-15 + 165*pow(dx, 2)/pow(dl, 2) + 110*pow(dz, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[147] = 315*(5 - 45*pow(dx, 2)/pow(dl, 2) - 135*pow(dz, 2)/pow(dl, 2) + 1485*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 495*pow(dz, 4)/pow(dl, 4) - 6435*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) - 429*pow(dz, 6)/pow(dl, 6) + 6435*pow(dx, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 9); - derivative[148] = 2835*dx*dy*(-35 + 385*pow(dy, 2)/pow(dl, 2) - 1001*pow(dy, 4)/pow(dl, 4) + 715*pow(dy, 6)/pow(dl, 6))/pow(dl, 11); - derivative[149] = 14175*dx*dz*(-1 + 33*pow(dy, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) + 143*pow(dy, 6)/pow(dl, 6))/pow(dl, 11); - derivative[150] = 945*dx*dy*(-15 + 110*pow(dy, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[151] = 2835*dx*dz*(-3 + 66*pow(dy, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) - 286*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 715*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[152] = 2835*dx*dy*(-3 + 11*pow(dy, 2)/pow(dl, 2) + 66*pow(dz, 2)/pow(dl, 2) - 286*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 715*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[153] = 945*dx*dz*(-15 + 165*pow(dy, 2)/pow(dl, 2) + 110*pow(dz, 2)/pow(dl, 2) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 2145*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[154] = 14175*dx*dy*(-1 + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dz, 4)/pow(dl, 4) + 143*pow(dz, 6)/pow(dl, 6))/pow(dl, 11); - derivative[155] = 2835*dx*dz*(-35 + 385*pow(dz, 2)/pow(dl, 2) - 1001*pow(dz, 4)/pow(dl, 4) + 715*pow(dz, 6)/pow(dl, 6))/pow(dl, 11); - derivative[156] = 315*(35 - 1260*pow(dy, 2)/pow(dl, 2) + 6930*pow(dy, 4)/pow(dl, 4) - 12012*pow(dy, 6)/pow(dl, 6) + 6435*pow(dy, 8)/pow(dl, 8))/pow(dl, 9); - derivative[157] = 2835*dy*dz*(-35 + 385*pow(dy, 2)/pow(dl, 2) - 1001*pow(dy, 4)/pow(dl, 4) + 715*pow(dy, 6)/pow(dl, 6))/pow(dl, 11); - derivative[158] = 315*(5 - 135*pow(dy, 2)/pow(dl, 2) - 45*pow(dz, 2)/pow(dl, 2) + 495*pow(dy, 4)/pow(dl, 4) + 1485*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dy, 6)/pow(dl, 6) - 6435*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) + 6435*pow(dy, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 9); - derivative[159] = 945*dy*dz*(-45 + 330*pow(dy, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 429*pow(dy, 4)/pow(dl, 4) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 11); - derivative[160] = 945*(1 - 18*pow(dy, 2)/pow(dl, 2) - 18*pow(dz, 2)/pow(dl, 2) + 33*pow(dy, 4)/pow(dl, 4) + 396*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 33*pow(dz, 4)/pow(dl, 4) - 858*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) - 858*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) + 2145*pow(dy, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 9); - derivative[161] = 945*dy*dz*(-45 + 165*pow(dy, 2)/pow(dl, 2) + 330*pow(dz, 2)/pow(dl, 2) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dz, 4)/pow(dl, 4) + 2145*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 11); - derivative[162] = 315*(5 - 45*pow(dy, 2)/pow(dl, 2) - 135*pow(dz, 2)/pow(dl, 2) + 1485*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 495*pow(dz, 4)/pow(dl, 4) - 6435*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) - 429*pow(dz, 6)/pow(dl, 6) + 6435*pow(dy, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 9); - derivative[163] = 2835*dy*dz*(-35 + 385*pow(dz, 2)/pow(dl, 2) - 1001*pow(dz, 4)/pow(dl, 4) + 715*pow(dz, 6)/pow(dl, 6))/pow(dl, 11); - derivative[164] = 315*(35 - 1260*pow(dz, 2)/pow(dl, 2) + 6930*pow(dz, 4)/pow(dl, 4) - 12012*pow(dz, 6)/pow(dl, 6) + 6435*pow(dz, 8)/pow(dl, 8))/pow(dl, 9); - derivative[165] = 2835*dx*(-315 + 4620*pow(dx, 2)/pow(dl, 2) - 18018*pow(dx, 4)/pow(dl, 4) + 25740*pow(dx, 6)/pow(dl, 6) - 12155*pow(dx, 8)/pow(dl, 8))/pow(dl, 11); - derivative[166] = 14175*dy*(-7 + 308*pow(dx, 2)/pow(dl, 2) - 2002*pow(dx, 4)/pow(dl, 4) + 4004*pow(dx, 6)/pow(dl, 6) - 2431*pow(dx, 8)/pow(dl, 8))/pow(dl, 11); - derivative[167] = 14175*dz*(-7 + 308*pow(dx, 2)/pow(dl, 2) - 2002*pow(dx, 4)/pow(dl, 4) + 4004*pow(dx, 6)/pow(dl, 6) - 2431*pow(dx, 8)/pow(dl, 8))/pow(dl, 11); - derivative[168] = 2835*dx*(-35 + 385*pow(dx, 2)/pow(dl, 2) + 385*pow(dy, 2)/pow(dl, 2) - 1001*pow(dx, 4)/pow(dl, 4) - 5005*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 715*pow(dx, 6)/pow(dl, 6) + 15015*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) - 12155*pow(dx, 6)*pow(dy, 2)/pow(dl, 8))/pow(dl, 11); - derivative[169] = 155925*dx*dy*dz*(7 - 91*pow(dx, 2)/pow(dl, 2) + 273*pow(dx, 4)/pow(dl, 4) - 221*pow(dx, 6)/pow(dl, 6))/pow(dl, 13); - derivative[170] = 2835*dx*(-35 + 385*pow(dx, 2)/pow(dl, 2) + 385*pow(dz, 2)/pow(dl, 2) - 1001*pow(dx, 4)/pow(dl, 4) - 5005*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 715*pow(dx, 6)/pow(dl, 6) + 15015*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) - 12155*pow(dx, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[171] = 14175*dy*(-3 + 99*pow(dx, 2)/pow(dl, 2) + 11*pow(dy, 2)/pow(dl, 2) - 429*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 429*pow(dx, 6)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) - 2431*pow(dx, 6)*pow(dy, 2)/pow(dl, 8))/pow(dl, 11); - derivative[172] = 14175*dz*(-1 + 33*pow(dx, 2)/pow(dl, 2) + 11*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 143*pow(dx, 6)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) - 2431*pow(dx, 6)*pow(dy, 2)/pow(dl, 8))/pow(dl, 11); - derivative[173] = 14175*dy*(-1 + 33*pow(dx, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 143*pow(dx, 6)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) - 2431*pow(dx, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[174] = 14175*dz*(-3 + 99*pow(dx, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 4)/pow(dl, 4) - 429*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 429*pow(dx, 6)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) - 2431*pow(dx, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[175] = 2835*dx*(-15 + 110*pow(dx, 2)/pow(dl, 2) + 330*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 2860*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 715*pow(dy, 4)/pow(dl, 4) + 4290*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) + 7150*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) - 12155*pow(dx, 4)*pow(dy, 4)/pow(dl, 8))/pow(dl, 11); - derivative[176] = 155925*dx*dy*dz*(3 - 26*pow(dx, 2)/pow(dl, 2) - 13*pow(dy, 2)/pow(dl, 2) + 39*pow(dx, 4)/pow(dl, 4) + 130*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 221*pow(dx, 4)*pow(dy, 2)/pow(dl, 6))/pow(dl, 13); - derivative[177] = 945*dx*(-15 + 110*pow(dx, 2)/pow(dl, 2) + 165*pow(dy, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 2145*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) + 21450*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) - 36465*pow(dx, 4)*pow(dy, 2)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[178] = 155925*dx*dy*dz*(3 - 26*pow(dx, 2)/pow(dl, 2) - 13*pow(dz, 2)/pow(dl, 2) + 39*pow(dx, 4)/pow(dl, 4) + 130*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 221*pow(dx, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 13); - derivative[179] = 2835*dx*(-15 + 110*pow(dx, 2)/pow(dl, 2) + 330*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 2860*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 715*pow(dz, 4)/pow(dl, 4) + 4290*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) + 7150*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) - 12155*pow(dx, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[180] = 2835*dy*(-15 + 330*pow(dx, 2)/pow(dl, 2) + 110*pow(dy, 2)/pow(dl, 2) - 715*pow(dx, 4)/pow(dl, 4) - 2860*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) + 7150*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) + 4290*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) - 12155*pow(dx, 4)*pow(dy, 4)/pow(dl, 8))/pow(dl, 11); - derivative[181] = 2835*dz*(-3 + 66*pow(dx, 2)/pow(dl, 2) + 66*pow(dy, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 1716*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) + 4290*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) + 4290*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) - 12155*pow(dx, 4)*pow(dy, 4)/pow(dl, 8))/pow(dl, 11); - derivative[182] = 2835*dy*(-3 + 66*pow(dx, 2)/pow(dl, 2) + 11*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 286*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 858*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 715*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) + 2145*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) + 4290*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) - 12155*pow(dx, 4)*pow(dy, 2)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[183] = 2835*dz*(-3 + 66*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 858*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 286*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 4)*pow(dy, 2)/pow(dl, 6) + 715*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) + 4290*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) - 12155*pow(dx, 4)*pow(dy, 2)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[184] = 2835*dy*(-3 + 66*pow(dx, 2)/pow(dl, 2) + 66*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 4)/pow(dl, 4) - 1716*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 4290*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) + 4290*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) - 12155*pow(dx, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[185] = 2835*dz*(-15 + 330*pow(dx, 2)/pow(dl, 2) + 110*pow(dz, 2)/pow(dl, 2) - 715*pow(dx, 4)/pow(dl, 4) - 2860*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 7150*pow(dx, 4)*pow(dz, 2)/pow(dl, 6) + 4290*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) - 12155*pow(dx, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[186] = 14175*dx*(-3 + 11*pow(dx, 2)/pow(dl, 2) + 99*pow(dy, 2)/pow(dl, 2) - 429*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 429*pow(dy, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) + 429*pow(dy, 6)/pow(dl, 6) - 2431*pow(dx, 2)*pow(dy, 6)/pow(dl, 8))/pow(dl, 11); - derivative[187] = 155925*dx*dy*dz*(3 - 13*pow(dx, 2)/pow(dl, 2) - 26*pow(dy, 2)/pow(dl, 2) + 130*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 39*pow(dy, 4)/pow(dl, 4) - 221*pow(dx, 2)*pow(dy, 4)/pow(dl, 6))/pow(dl, 13); - derivative[188] = 2835*dx*(-3 + 11*pow(dx, 2)/pow(dl, 2) + 66*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 286*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) - 858*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 715*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) + 4290*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) + 2145*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) - 12155*pow(dx, 2)*pow(dy, 4)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[189] = 31185*dx*dy*dz*(9 - 39*pow(dx, 2)/pow(dl, 2) - 39*pow(dy, 2)/pow(dl, 2) - 39*pow(dz, 2)/pow(dl, 2) + 195*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) + 195*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 195*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 1105*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6))/pow(dl, 13); - derivative[190] = 2835*dx*(-3 + 11*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) + 66*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 286*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 858*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 4290*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) + 715*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) + 2145*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) - 12155*pow(dx, 2)*pow(dy, 2)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[191] = 155925*dx*dy*dz*(3 - 13*pow(dx, 2)/pow(dl, 2) - 26*pow(dz, 2)/pow(dl, 2) + 130*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) + 39*pow(dz, 4)/pow(dl, 4) - 221*pow(dx, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 13); - derivative[192] = 14175*dx*(-3 + 11*pow(dx, 2)/pow(dl, 2) + 99*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dz, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) + 429*pow(dz, 6)/pow(dl, 6) - 2431*pow(dx, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 11); - derivative[193] = 2835*dy*(-35 + 385*pow(dx, 2)/pow(dl, 2) + 385*pow(dy, 2)/pow(dl, 2) - 5005*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 1001*pow(dy, 4)/pow(dl, 4) + 15015*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) + 715*pow(dy, 6)/pow(dl, 6) - 12155*pow(dx, 2)*pow(dy, 6)/pow(dl, 8))/pow(dl, 11); - derivative[194] = 14175*dz*(-1 + 11*pow(dx, 2)/pow(dl, 2) + 33*pow(dy, 2)/pow(dl, 2) - 429*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) + 143*pow(dy, 6)/pow(dl, 6) - 2431*pow(dx, 2)*pow(dy, 6)/pow(dl, 8))/pow(dl, 11); - derivative[195] = 945*dy*(-15 + 165*pow(dx, 2)/pow(dl, 2) + 110*pow(dy, 2)/pow(dl, 2) + 165*pow(dz, 2)/pow(dl, 2) - 1430*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 2145*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) + 21450*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) + 2145*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) - 36465*pow(dx, 2)*pow(dy, 4)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[196] = 2835*dz*(-3 + 33*pow(dx, 2)/pow(dl, 2) + 66*pow(dy, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 858*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 143*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dy, 4)/pow(dl, 4) - 286*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dy, 4)/pow(dl, 6) + 4290*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) + 715*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) - 12155*pow(dx, 2)*pow(dy, 4)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[197] = 2835*dy*(-3 + 33*pow(dx, 2)/pow(dl, 2) + 11*pow(dy, 2)/pow(dl, 2) + 66*pow(dz, 2)/pow(dl, 2) - 143*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 858*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 286*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 4290*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) + 2145*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) + 715*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) - 12155*pow(dx, 2)*pow(dy, 2)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[198] = 945*dz*(-15 + 165*pow(dx, 2)/pow(dl, 2) + 165*pow(dy, 2)/pow(dl, 2) + 110*pow(dz, 2)/pow(dl, 2) - 2145*pow(dx, 2)*pow(dy, 2)/pow(dl, 4) - 1430*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 1430*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 21450*pow(dx, 2)*pow(dy, 2)*pow(dz, 2)/pow(dl, 6) + 2145*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) + 2145*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) - 36465*pow(dx, 2)*pow(dy, 2)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[199] = 14175*dy*(-1 + 11*pow(dx, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 429*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 2145*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) + 143*pow(dz, 6)/pow(dl, 6) - 2431*pow(dx, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 11); - derivative[200] = 2835*dz*(-35 + 385*pow(dx, 2)/pow(dl, 2) + 385*pow(dz, 2)/pow(dl, 2) - 5005*pow(dx, 2)*pow(dz, 2)/pow(dl, 4) - 1001*pow(dz, 4)/pow(dl, 4) + 15015*pow(dx, 2)*pow(dz, 4)/pow(dl, 6) + 715*pow(dz, 6)/pow(dl, 6) - 12155*pow(dx, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 11); - derivative[201] = 14175*dx*(-7 + 308*pow(dy, 2)/pow(dl, 2) - 2002*pow(dy, 4)/pow(dl, 4) + 4004*pow(dy, 6)/pow(dl, 6) - 2431*pow(dy, 8)/pow(dl, 8))/pow(dl, 11); - derivative[202] = 155925*dx*dy*dz*(7 - 91*pow(dy, 2)/pow(dl, 2) + 273*pow(dy, 4)/pow(dl, 4) - 221*pow(dy, 6)/pow(dl, 6))/pow(dl, 13); - derivative[203] = 14175*dx*(-1 + 33*pow(dy, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 143*pow(dy, 6)/pow(dl, 6) + 2145*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) - 2431*pow(dy, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[204] = 155925*dx*dy*dz*(3 - 26*pow(dy, 2)/pow(dl, 2) - 13*pow(dz, 2)/pow(dl, 2) + 39*pow(dy, 4)/pow(dl, 4) + 130*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 221*pow(dy, 4)*pow(dz, 2)/pow(dl, 6))/pow(dl, 13); - derivative[205] = 2835*dx*(-3 + 66*pow(dy, 2)/pow(dl, 2) + 66*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) - 1716*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 4290*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) + 4290*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) - 12155*pow(dy, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[206] = 155925*dx*dy*dz*(3 - 13*pow(dy, 2)/pow(dl, 2) - 26*pow(dz, 2)/pow(dl, 2) + 130*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 39*pow(dz, 4)/pow(dl, 4) - 221*pow(dy, 2)*pow(dz, 4)/pow(dl, 6))/pow(dl, 13); - derivative[207] = 14175*dx*(-1 + 11*pow(dy, 2)/pow(dl, 2) + 33*pow(dz, 2)/pow(dl, 2) - 429*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 2145*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) + 143*pow(dz, 6)/pow(dl, 6) - 2431*pow(dy, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 11); - derivative[208] = 155925*dx*dy*dz*(7 - 91*pow(dz, 2)/pow(dl, 2) + 273*pow(dz, 4)/pow(dl, 4) - 221*pow(dz, 6)/pow(dl, 6))/pow(dl, 13); - derivative[209] = 14175*dx*(-7 + 308*pow(dz, 2)/pow(dl, 2) - 2002*pow(dz, 4)/pow(dl, 4) + 4004*pow(dz, 6)/pow(dl, 6) - 2431*pow(dz, 8)/pow(dl, 8))/pow(dl, 11); - derivative[210] = 2835*dy*(-315 + 4620*pow(dy, 2)/pow(dl, 2) - 18018*pow(dy, 4)/pow(dl, 4) + 25740*pow(dy, 6)/pow(dl, 6) - 12155*pow(dy, 8)/pow(dl, 8))/pow(dl, 11); - derivative[211] = 14175*dz*(-7 + 308*pow(dy, 2)/pow(dl, 2) - 2002*pow(dy, 4)/pow(dl, 4) + 4004*pow(dy, 6)/pow(dl, 6) - 2431*pow(dy, 8)/pow(dl, 8))/pow(dl, 11); - derivative[212] = 2835*dy*(-35 + 385*pow(dy, 2)/pow(dl, 2) + 385*pow(dz, 2)/pow(dl, 2) - 1001*pow(dy, 4)/pow(dl, 4) - 5005*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 715*pow(dy, 6)/pow(dl, 6) + 15015*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) - 12155*pow(dy, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[213] = 14175*dz*(-3 + 99*pow(dy, 2)/pow(dl, 2) + 11*pow(dz, 2)/pow(dl, 2) - 429*pow(dy, 4)/pow(dl, 4) - 429*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) + 429*pow(dy, 6)/pow(dl, 6) + 2145*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) - 2431*pow(dy, 6)*pow(dz, 2)/pow(dl, 8))/pow(dl, 11); - derivative[214] = 2835*dy*(-15 + 110*pow(dy, 2)/pow(dl, 2) + 330*pow(dz, 2)/pow(dl, 2) - 143*pow(dy, 4)/pow(dl, 4) - 2860*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 715*pow(dz, 4)/pow(dl, 4) + 4290*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) + 7150*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) - 12155*pow(dy, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[215] = 2835*dz*(-15 + 330*pow(dy, 2)/pow(dl, 2) + 110*pow(dz, 2)/pow(dl, 2) - 715*pow(dy, 4)/pow(dl, 4) - 2860*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 143*pow(dz, 4)/pow(dl, 4) + 7150*pow(dy, 4)*pow(dz, 2)/pow(dl, 6) + 4290*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) - 12155*pow(dy, 4)*pow(dz, 4)/pow(dl, 8))/pow(dl, 11); - derivative[216] = 14175*dy*(-3 + 11*pow(dy, 2)/pow(dl, 2) + 99*pow(dz, 2)/pow(dl, 2) - 429*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 429*pow(dz, 4)/pow(dl, 4) + 2145*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) + 429*pow(dz, 6)/pow(dl, 6) - 2431*pow(dy, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 11); - derivative[217] = 2835*dz*(-35 + 385*pow(dy, 2)/pow(dl, 2) + 385*pow(dz, 2)/pow(dl, 2) - 5005*pow(dy, 2)*pow(dz, 2)/pow(dl, 4) - 1001*pow(dz, 4)/pow(dl, 4) + 15015*pow(dy, 2)*pow(dz, 4)/pow(dl, 6) + 715*pow(dz, 6)/pow(dl, 6) - 12155*pow(dy, 2)*pow(dz, 6)/pow(dl, 8))/pow(dl, 11); - derivative[218] = 14175*dy*(-7 + 308*pow(dz, 2)/pow(dl, 2) - 2002*pow(dz, 4)/pow(dl, 4) + 4004*pow(dz, 6)/pow(dl, 6) - 2431*pow(dz, 8)/pow(dl, 8))/pow(dl, 11); - derivative[219] = 2835*dz*(-315 + 4620*pow(dz, 2)/pow(dl, 2) - 18018*pow(dz, 4)/pow(dl, 4) + 25740*pow(dz, 6)/pow(dl, 6) - 12155*pow(dz, 8)/pow(dl, 8))/pow(dl, 11); - Bx[i] += cells[c].Mx[0]*derivative[4] + cells[c].Mx[100]*derivative[181] + cells[c].Mx[101]*derivative[182] + cells[c].Mx[102]*derivative[183] + cells[c].Mx[103]*derivative[184] + cells[c].Mx[104]*derivative[185] + cells[c].Mx[105]*derivative[186] + cells[c].Mx[106]*derivative[187] + cells[c].Mx[107]*derivative[188] + cells[c].Mx[108]*derivative[189] + cells[c].Mx[109]*derivative[190] + cells[c].Mx[10]*derivative[35] + cells[c].Mx[110]*derivative[191] + cells[c].Mx[111]*derivative[192] + cells[c].Mx[112]*derivative[193] + cells[c].Mx[113]*derivative[194] + cells[c].Mx[114]*derivative[195] + cells[c].Mx[115]*derivative[196] + cells[c].Mx[116]*derivative[197] + cells[c].Mx[117]*derivative[198] + cells[c].Mx[118]*derivative[199] + cells[c].Mx[119]*derivative[200] + cells[c].Mx[11]*derivative[36] + cells[c].Mx[12]*derivative[37] + cells[c].Mx[13]*derivative[38] + cells[c].Mx[14]*derivative[39] + cells[c].Mx[15]*derivative[40] + cells[c].Mx[16]*derivative[41] + cells[c].Mx[17]*derivative[42] + cells[c].Mx[18]*derivative[43] + cells[c].Mx[19]*derivative[44] + cells[c].Mx[1]*derivative[10] + cells[c].Mx[20]*derivative[56] + cells[c].Mx[21]*derivative[57] + cells[c].Mx[22]*derivative[58] + cells[c].Mx[23]*derivative[59] + cells[c].Mx[24]*derivative[60] + cells[c].Mx[25]*derivative[61] + cells[c].Mx[26]*derivative[62] + cells[c].Mx[27]*derivative[63] + cells[c].Mx[28]*derivative[64] + cells[c].Mx[29]*derivative[65] + cells[c].Mx[2]*derivative[11] + cells[c].Mx[30]*derivative[66] + cells[c].Mx[31]*derivative[67] + cells[c].Mx[32]*derivative[68] + cells[c].Mx[33]*derivative[69] + cells[c].Mx[34]*derivative[70] + cells[c].Mx[35]*derivative[84] + cells[c].Mx[36]*derivative[85] + cells[c].Mx[37]*derivative[86] + cells[c].Mx[38]*derivative[87] + cells[c].Mx[39]*derivative[88] + cells[c].Mx[3]*derivative[12] + cells[c].Mx[40]*derivative[89] + cells[c].Mx[41]*derivative[90] + cells[c].Mx[42]*derivative[91] + cells[c].Mx[43]*derivative[92] + cells[c].Mx[44]*derivative[93] + cells[c].Mx[45]*derivative[94] + cells[c].Mx[46]*derivative[95] + cells[c].Mx[47]*derivative[96] + cells[c].Mx[48]*derivative[97] + cells[c].Mx[49]*derivative[98] + cells[c].Mx[4]*derivative[20] + cells[c].Mx[50]*derivative[99] + cells[c].Mx[51]*derivative[100] + cells[c].Mx[52]*derivative[101] + cells[c].Mx[53]*derivative[102] + cells[c].Mx[54]*derivative[103] + cells[c].Mx[55]*derivative[104] + cells[c].Mx[56]*derivative[120] + cells[c].Mx[57]*derivative[121] + cells[c].Mx[58]*derivative[122] + cells[c].Mx[59]*derivative[123] + cells[c].Mx[5]*derivative[21] + cells[c].Mx[60]*derivative[124] + cells[c].Mx[61]*derivative[125] + cells[c].Mx[62]*derivative[126] + cells[c].Mx[63]*derivative[127] + cells[c].Mx[64]*derivative[128] + cells[c].Mx[65]*derivative[129] + cells[c].Mx[66]*derivative[130] + cells[c].Mx[67]*derivative[131] + cells[c].Mx[68]*derivative[132] + cells[c].Mx[69]*derivative[133] + cells[c].Mx[6]*derivative[22] + cells[c].Mx[70]*derivative[134] + cells[c].Mx[71]*derivative[135] + cells[c].Mx[72]*derivative[136] + cells[c].Mx[73]*derivative[137] + cells[c].Mx[74]*derivative[138] + cells[c].Mx[75]*derivative[139] + cells[c].Mx[76]*derivative[140] + cells[c].Mx[77]*derivative[141] + cells[c].Mx[78]*derivative[142] + cells[c].Mx[79]*derivative[143] + cells[c].Mx[7]*derivative[23] + cells[c].Mx[80]*derivative[144] + cells[c].Mx[81]*derivative[145] + cells[c].Mx[82]*derivative[146] + cells[c].Mx[83]*derivative[147] + cells[c].Mx[84]*derivative[165] + cells[c].Mx[85]*derivative[166] + cells[c].Mx[86]*derivative[167] + cells[c].Mx[87]*derivative[168] + cells[c].Mx[88]*derivative[169] + cells[c].Mx[89]*derivative[170] + cells[c].Mx[8]*derivative[24] + cells[c].Mx[90]*derivative[171] + cells[c].Mx[91]*derivative[172] + cells[c].Mx[92]*derivative[173] + cells[c].Mx[93]*derivative[174] + cells[c].Mx[94]*derivative[175] + cells[c].Mx[95]*derivative[176] + cells[c].Mx[96]*derivative[177] + cells[c].Mx[97]*derivative[178] + cells[c].Mx[98]*derivative[179] + cells[c].Mx[99]*derivative[180] + cells[c].Mx[9]*derivative[25] + cells[c].My[0]*derivative[5] + cells[c].My[100]*derivative[187] + cells[c].My[101]*derivative[188] + cells[c].My[102]*derivative[189] + cells[c].My[103]*derivative[190] + cells[c].My[104]*derivative[191] + cells[c].My[105]*derivative[193] + cells[c].My[106]*derivative[194] + cells[c].My[107]*derivative[195] + cells[c].My[108]*derivative[196] + cells[c].My[109]*derivative[197] + cells[c].My[10]*derivative[36] + cells[c].My[110]*derivative[198] + cells[c].My[111]*derivative[199] + cells[c].My[112]*derivative[201] + cells[c].My[113]*derivative[202] + cells[c].My[114]*derivative[203] + cells[c].My[115]*derivative[204] + cells[c].My[116]*derivative[205] + cells[c].My[117]*derivative[206] + cells[c].My[118]*derivative[207] + cells[c].My[119]*derivative[208] + cells[c].My[11]*derivative[38] + cells[c].My[12]*derivative[39] + cells[c].My[13]*derivative[41] + cells[c].My[14]*derivative[42] + cells[c].My[15]*derivative[43] + cells[c].My[16]*derivative[45] + cells[c].My[17]*derivative[46] + cells[c].My[18]*derivative[47] + cells[c].My[19]*derivative[48] + cells[c].My[1]*derivative[11] + cells[c].My[20]*derivative[57] + cells[c].My[21]*derivative[59] + cells[c].My[22]*derivative[60] + cells[c].My[23]*derivative[62] + cells[c].My[24]*derivative[63] + cells[c].My[25]*derivative[64] + cells[c].My[26]*derivative[66] + cells[c].My[27]*derivative[67] + cells[c].My[28]*derivative[68] + cells[c].My[29]*derivative[69] + cells[c].My[2]*derivative[13] + cells[c].My[30]*derivative[71] + cells[c].My[31]*derivative[72] + cells[c].My[32]*derivative[73] + cells[c].My[33]*derivative[74] + cells[c].My[34]*derivative[75] + cells[c].My[35]*derivative[85] + cells[c].My[36]*derivative[87] + cells[c].My[37]*derivative[88] + cells[c].My[38]*derivative[90] + cells[c].My[39]*derivative[91] + cells[c].My[3]*derivative[14] + cells[c].My[40]*derivative[92] + cells[c].My[41]*derivative[94] + cells[c].My[42]*derivative[95] + cells[c].My[43]*derivative[96] + cells[c].My[44]*derivative[97] + cells[c].My[45]*derivative[99] + cells[c].My[46]*derivative[100] + cells[c].My[47]*derivative[101] + cells[c].My[48]*derivative[102] + cells[c].My[49]*derivative[103] + cells[c].My[4]*derivative[21] + cells[c].My[50]*derivative[105] + cells[c].My[51]*derivative[106] + cells[c].My[52]*derivative[107] + cells[c].My[53]*derivative[108] + cells[c].My[54]*derivative[109] + cells[c].My[55]*derivative[110] + cells[c].My[56]*derivative[121] + cells[c].My[57]*derivative[123] + cells[c].My[58]*derivative[124] + cells[c].My[59]*derivative[126] + cells[c].My[5]*derivative[23] + cells[c].My[60]*derivative[127] + cells[c].My[61]*derivative[128] + cells[c].My[62]*derivative[130] + cells[c].My[63]*derivative[131] + cells[c].My[64]*derivative[132] + cells[c].My[65]*derivative[133] + cells[c].My[66]*derivative[135] + cells[c].My[67]*derivative[136] + cells[c].My[68]*derivative[137] + cells[c].My[69]*derivative[138] + cells[c].My[6]*derivative[24] + cells[c].My[70]*derivative[139] + cells[c].My[71]*derivative[141] + cells[c].My[72]*derivative[142] + cells[c].My[73]*derivative[143] + cells[c].My[74]*derivative[144] + cells[c].My[75]*derivative[145] + cells[c].My[76]*derivative[146] + cells[c].My[77]*derivative[148] + cells[c].My[78]*derivative[149] + cells[c].My[79]*derivative[150] + cells[c].My[7]*derivative[26] + cells[c].My[80]*derivative[151] + cells[c].My[81]*derivative[152] + cells[c].My[82]*derivative[153] + cells[c].My[83]*derivative[154] + cells[c].My[84]*derivative[166] + cells[c].My[85]*derivative[168] + cells[c].My[86]*derivative[169] + cells[c].My[87]*derivative[171] + cells[c].My[88]*derivative[172] + cells[c].My[89]*derivative[173] + cells[c].My[8]*derivative[27] + cells[c].My[90]*derivative[175] + cells[c].My[91]*derivative[176] + cells[c].My[92]*derivative[177] + cells[c].My[93]*derivative[178] + cells[c].My[94]*derivative[180] + cells[c].My[95]*derivative[181] + cells[c].My[96]*derivative[182] + cells[c].My[97]*derivative[183] + cells[c].My[98]*derivative[184] + cells[c].My[99]*derivative[186] + cells[c].My[9]*derivative[28] + cells[c].Mz[0]*derivative[6] + cells[c].Mz[100]*derivative[188] + cells[c].Mz[101]*derivative[189] + cells[c].Mz[102]*derivative[190] + cells[c].Mz[103]*derivative[191] + cells[c].Mz[104]*derivative[192] + cells[c].Mz[105]*derivative[194] + cells[c].Mz[106]*derivative[195] + cells[c].Mz[107]*derivative[196] + cells[c].Mz[108]*derivative[197] + cells[c].Mz[109]*derivative[198] + cells[c].Mz[10]*derivative[37] + cells[c].Mz[110]*derivative[199] + cells[c].Mz[111]*derivative[200] + cells[c].Mz[112]*derivative[202] + cells[c].Mz[113]*derivative[203] + cells[c].Mz[114]*derivative[204] + cells[c].Mz[115]*derivative[205] + cells[c].Mz[116]*derivative[206] + cells[c].Mz[117]*derivative[207] + cells[c].Mz[118]*derivative[208] + cells[c].Mz[119]*derivative[209] + cells[c].Mz[11]*derivative[39] + cells[c].Mz[12]*derivative[40] + cells[c].Mz[13]*derivative[42] + cells[c].Mz[14]*derivative[43] + cells[c].Mz[15]*derivative[44] + cells[c].Mz[16]*derivative[46] + cells[c].Mz[17]*derivative[47] + cells[c].Mz[18]*derivative[48] + cells[c].Mz[19]*derivative[49] + cells[c].Mz[1]*derivative[12] + cells[c].Mz[20]*derivative[58] + cells[c].Mz[21]*derivative[60] + cells[c].Mz[22]*derivative[61] + cells[c].Mz[23]*derivative[63] + cells[c].Mz[24]*derivative[64] + cells[c].Mz[25]*derivative[65] + cells[c].Mz[26]*derivative[67] + cells[c].Mz[27]*derivative[68] + cells[c].Mz[28]*derivative[69] + cells[c].Mz[29]*derivative[70] + cells[c].Mz[2]*derivative[14] + cells[c].Mz[30]*derivative[72] + cells[c].Mz[31]*derivative[73] + cells[c].Mz[32]*derivative[74] + cells[c].Mz[33]*derivative[75] + cells[c].Mz[34]*derivative[76] + cells[c].Mz[35]*derivative[86] + cells[c].Mz[36]*derivative[88] + cells[c].Mz[37]*derivative[89] + cells[c].Mz[38]*derivative[91] + cells[c].Mz[39]*derivative[92] + cells[c].Mz[3]*derivative[15] + cells[c].Mz[40]*derivative[93] + cells[c].Mz[41]*derivative[95] + cells[c].Mz[42]*derivative[96] + cells[c].Mz[43]*derivative[97] + cells[c].Mz[44]*derivative[98] + cells[c].Mz[45]*derivative[100] + cells[c].Mz[46]*derivative[101] + cells[c].Mz[47]*derivative[102] + cells[c].Mz[48]*derivative[103] + cells[c].Mz[49]*derivative[104] + cells[c].Mz[4]*derivative[22] + cells[c].Mz[50]*derivative[106] + cells[c].Mz[51]*derivative[107] + cells[c].Mz[52]*derivative[108] + cells[c].Mz[53]*derivative[109] + cells[c].Mz[54]*derivative[110] + cells[c].Mz[55]*derivative[111] + cells[c].Mz[56]*derivative[122] + cells[c].Mz[57]*derivative[124] + cells[c].Mz[58]*derivative[125] + cells[c].Mz[59]*derivative[127] + cells[c].Mz[5]*derivative[24] + cells[c].Mz[60]*derivative[128] + cells[c].Mz[61]*derivative[129] + cells[c].Mz[62]*derivative[131] + cells[c].Mz[63]*derivative[132] + cells[c].Mz[64]*derivative[133] + cells[c].Mz[65]*derivative[134] + cells[c].Mz[66]*derivative[136] + cells[c].Mz[67]*derivative[137] + cells[c].Mz[68]*derivative[138] + cells[c].Mz[69]*derivative[139] + cells[c].Mz[6]*derivative[25] + cells[c].Mz[70]*derivative[140] + cells[c].Mz[71]*derivative[142] + cells[c].Mz[72]*derivative[143] + cells[c].Mz[73]*derivative[144] + cells[c].Mz[74]*derivative[145] + cells[c].Mz[75]*derivative[146] + cells[c].Mz[76]*derivative[147] + cells[c].Mz[77]*derivative[149] + cells[c].Mz[78]*derivative[150] + cells[c].Mz[79]*derivative[151] + cells[c].Mz[7]*derivative[27] + cells[c].Mz[80]*derivative[152] + cells[c].Mz[81]*derivative[153] + cells[c].Mz[82]*derivative[154] + cells[c].Mz[83]*derivative[155] + cells[c].Mz[84]*derivative[167] + cells[c].Mz[85]*derivative[169] + cells[c].Mz[86]*derivative[170] + cells[c].Mz[87]*derivative[172] + cells[c].Mz[88]*derivative[173] + cells[c].Mz[89]*derivative[174] + cells[c].Mz[8]*derivative[28] + cells[c].Mz[90]*derivative[176] + cells[c].Mz[91]*derivative[177] + cells[c].Mz[92]*derivative[178] + cells[c].Mz[93]*derivative[179] + cells[c].Mz[94]*derivative[181] + cells[c].Mz[95]*derivative[182] + cells[c].Mz[96]*derivative[183] + cells[c].Mz[97]*derivative[184] + cells[c].Mz[98]*derivative[185] + cells[c].Mz[99]*derivative[187] + cells[c].Mz[9]*derivative[29]; - By[i] += cells[c].Mx[0]*derivative[5] + cells[c].Mx[100]*derivative[187] + cells[c].Mx[101]*derivative[188] + cells[c].Mx[102]*derivative[189] + cells[c].Mx[103]*derivative[190] + cells[c].Mx[104]*derivative[191] + cells[c].Mx[105]*derivative[193] + cells[c].Mx[106]*derivative[194] + cells[c].Mx[107]*derivative[195] + cells[c].Mx[108]*derivative[196] + cells[c].Mx[109]*derivative[197] + cells[c].Mx[10]*derivative[36] + cells[c].Mx[110]*derivative[198] + cells[c].Mx[111]*derivative[199] + cells[c].Mx[112]*derivative[201] + cells[c].Mx[113]*derivative[202] + cells[c].Mx[114]*derivative[203] + cells[c].Mx[115]*derivative[204] + cells[c].Mx[116]*derivative[205] + cells[c].Mx[117]*derivative[206] + cells[c].Mx[118]*derivative[207] + cells[c].Mx[119]*derivative[208] + cells[c].Mx[11]*derivative[38] + cells[c].Mx[12]*derivative[39] + cells[c].Mx[13]*derivative[41] + cells[c].Mx[14]*derivative[42] + cells[c].Mx[15]*derivative[43] + cells[c].Mx[16]*derivative[45] + cells[c].Mx[17]*derivative[46] + cells[c].Mx[18]*derivative[47] + cells[c].Mx[19]*derivative[48] + cells[c].Mx[1]*derivative[11] + cells[c].Mx[20]*derivative[57] + cells[c].Mx[21]*derivative[59] + cells[c].Mx[22]*derivative[60] + cells[c].Mx[23]*derivative[62] + cells[c].Mx[24]*derivative[63] + cells[c].Mx[25]*derivative[64] + cells[c].Mx[26]*derivative[66] + cells[c].Mx[27]*derivative[67] + cells[c].Mx[28]*derivative[68] + cells[c].Mx[29]*derivative[69] + cells[c].Mx[2]*derivative[13] + cells[c].Mx[30]*derivative[71] + cells[c].Mx[31]*derivative[72] + cells[c].Mx[32]*derivative[73] + cells[c].Mx[33]*derivative[74] + cells[c].Mx[34]*derivative[75] + cells[c].Mx[35]*derivative[85] + cells[c].Mx[36]*derivative[87] + cells[c].Mx[37]*derivative[88] + cells[c].Mx[38]*derivative[90] + cells[c].Mx[39]*derivative[91] + cells[c].Mx[3]*derivative[14] + cells[c].Mx[40]*derivative[92] + cells[c].Mx[41]*derivative[94] + cells[c].Mx[42]*derivative[95] + cells[c].Mx[43]*derivative[96] + cells[c].Mx[44]*derivative[97] + cells[c].Mx[45]*derivative[99] + cells[c].Mx[46]*derivative[100] + cells[c].Mx[47]*derivative[101] + cells[c].Mx[48]*derivative[102] + cells[c].Mx[49]*derivative[103] + cells[c].Mx[4]*derivative[21] + cells[c].Mx[50]*derivative[105] + cells[c].Mx[51]*derivative[106] + cells[c].Mx[52]*derivative[107] + cells[c].Mx[53]*derivative[108] + cells[c].Mx[54]*derivative[109] + cells[c].Mx[55]*derivative[110] + cells[c].Mx[56]*derivative[121] + cells[c].Mx[57]*derivative[123] + cells[c].Mx[58]*derivative[124] + cells[c].Mx[59]*derivative[126] + cells[c].Mx[5]*derivative[23] + cells[c].Mx[60]*derivative[127] + cells[c].Mx[61]*derivative[128] + cells[c].Mx[62]*derivative[130] + cells[c].Mx[63]*derivative[131] + cells[c].Mx[64]*derivative[132] + cells[c].Mx[65]*derivative[133] + cells[c].Mx[66]*derivative[135] + cells[c].Mx[67]*derivative[136] + cells[c].Mx[68]*derivative[137] + cells[c].Mx[69]*derivative[138] + cells[c].Mx[6]*derivative[24] + cells[c].Mx[70]*derivative[139] + cells[c].Mx[71]*derivative[141] + cells[c].Mx[72]*derivative[142] + cells[c].Mx[73]*derivative[143] + cells[c].Mx[74]*derivative[144] + cells[c].Mx[75]*derivative[145] + cells[c].Mx[76]*derivative[146] + cells[c].Mx[77]*derivative[148] + cells[c].Mx[78]*derivative[149] + cells[c].Mx[79]*derivative[150] + cells[c].Mx[7]*derivative[26] + cells[c].Mx[80]*derivative[151] + cells[c].Mx[81]*derivative[152] + cells[c].Mx[82]*derivative[153] + cells[c].Mx[83]*derivative[154] + cells[c].Mx[84]*derivative[166] + cells[c].Mx[85]*derivative[168] + cells[c].Mx[86]*derivative[169] + cells[c].Mx[87]*derivative[171] + cells[c].Mx[88]*derivative[172] + cells[c].Mx[89]*derivative[173] + cells[c].Mx[8]*derivative[27] + cells[c].Mx[90]*derivative[175] + cells[c].Mx[91]*derivative[176] + cells[c].Mx[92]*derivative[177] + cells[c].Mx[93]*derivative[178] + cells[c].Mx[94]*derivative[180] + cells[c].Mx[95]*derivative[181] + cells[c].Mx[96]*derivative[182] + cells[c].Mx[97]*derivative[183] + cells[c].Mx[98]*derivative[184] + cells[c].Mx[99]*derivative[186] + cells[c].Mx[9]*derivative[28] + cells[c].My[0]*derivative[7] + cells[c].My[100]*derivative[194] + cells[c].My[101]*derivative[195] + cells[c].My[102]*derivative[196] + cells[c].My[103]*derivative[197] + cells[c].My[104]*derivative[198] + cells[c].My[105]*derivative[201] + cells[c].My[106]*derivative[202] + cells[c].My[107]*derivative[203] + cells[c].My[108]*derivative[204] + cells[c].My[109]*derivative[205] + cells[c].My[10]*derivative[38] + cells[c].My[110]*derivative[206] + cells[c].My[111]*derivative[207] + cells[c].My[112]*derivative[210] + cells[c].My[113]*derivative[211] + cells[c].My[114]*derivative[212] + cells[c].My[115]*derivative[213] + cells[c].My[116]*derivative[214] + cells[c].My[117]*derivative[215] + cells[c].My[118]*derivative[216] + cells[c].My[119]*derivative[217] + cells[c].My[11]*derivative[41] + cells[c].My[12]*derivative[42] + cells[c].My[13]*derivative[45] + cells[c].My[14]*derivative[46] + cells[c].My[15]*derivative[47] + cells[c].My[16]*derivative[50] + cells[c].My[17]*derivative[51] + cells[c].My[18]*derivative[52] + cells[c].My[19]*derivative[53] + cells[c].My[1]*derivative[13] + cells[c].My[20]*derivative[59] + cells[c].My[21]*derivative[62] + cells[c].My[22]*derivative[63] + cells[c].My[23]*derivative[66] + cells[c].My[24]*derivative[67] + cells[c].My[25]*derivative[68] + cells[c].My[26]*derivative[71] + cells[c].My[27]*derivative[72] + cells[c].My[28]*derivative[73] + cells[c].My[29]*derivative[74] + cells[c].My[2]*derivative[16] + cells[c].My[30]*derivative[77] + cells[c].My[31]*derivative[78] + cells[c].My[32]*derivative[79] + cells[c].My[33]*derivative[80] + cells[c].My[34]*derivative[81] + cells[c].My[35]*derivative[87] + cells[c].My[36]*derivative[90] + cells[c].My[37]*derivative[91] + cells[c].My[38]*derivative[94] + cells[c].My[39]*derivative[95] + cells[c].My[3]*derivative[17] + cells[c].My[40]*derivative[96] + cells[c].My[41]*derivative[99] + cells[c].My[42]*derivative[100] + cells[c].My[43]*derivative[101] + cells[c].My[44]*derivative[102] + cells[c].My[45]*derivative[105] + cells[c].My[46]*derivative[106] + cells[c].My[47]*derivative[107] + cells[c].My[48]*derivative[108] + cells[c].My[49]*derivative[109] + cells[c].My[4]*derivative[23] + cells[c].My[50]*derivative[112] + cells[c].My[51]*derivative[113] + cells[c].My[52]*derivative[114] + cells[c].My[53]*derivative[115] + cells[c].My[54]*derivative[116] + cells[c].My[55]*derivative[117] + cells[c].My[56]*derivative[123] + cells[c].My[57]*derivative[126] + cells[c].My[58]*derivative[127] + cells[c].My[59]*derivative[130] + cells[c].My[5]*derivative[26] + cells[c].My[60]*derivative[131] + cells[c].My[61]*derivative[132] + cells[c].My[62]*derivative[135] + cells[c].My[63]*derivative[136] + cells[c].My[64]*derivative[137] + cells[c].My[65]*derivative[138] + cells[c].My[66]*derivative[141] + cells[c].My[67]*derivative[142] + cells[c].My[68]*derivative[143] + cells[c].My[69]*derivative[144] + cells[c].My[6]*derivative[27] + cells[c].My[70]*derivative[145] + cells[c].My[71]*derivative[148] + cells[c].My[72]*derivative[149] + cells[c].My[73]*derivative[150] + cells[c].My[74]*derivative[151] + cells[c].My[75]*derivative[152] + cells[c].My[76]*derivative[153] + cells[c].My[77]*derivative[156] + cells[c].My[78]*derivative[157] + cells[c].My[79]*derivative[158] + cells[c].My[7]*derivative[30] + cells[c].My[80]*derivative[159] + cells[c].My[81]*derivative[160] + cells[c].My[82]*derivative[161] + cells[c].My[83]*derivative[162] + cells[c].My[84]*derivative[168] + cells[c].My[85]*derivative[171] + cells[c].My[86]*derivative[172] + cells[c].My[87]*derivative[175] + cells[c].My[88]*derivative[176] + cells[c].My[89]*derivative[177] + cells[c].My[8]*derivative[31] + cells[c].My[90]*derivative[180] + cells[c].My[91]*derivative[181] + cells[c].My[92]*derivative[182] + cells[c].My[93]*derivative[183] + cells[c].My[94]*derivative[186] + cells[c].My[95]*derivative[187] + cells[c].My[96]*derivative[188] + cells[c].My[97]*derivative[189] + cells[c].My[98]*derivative[190] + cells[c].My[99]*derivative[193] + cells[c].My[9]*derivative[32] + cells[c].Mz[0]*derivative[8] + cells[c].Mz[100]*derivative[195] + cells[c].Mz[101]*derivative[196] + cells[c].Mz[102]*derivative[197] + cells[c].Mz[103]*derivative[198] + cells[c].Mz[104]*derivative[199] + cells[c].Mz[105]*derivative[202] + cells[c].Mz[106]*derivative[203] + cells[c].Mz[107]*derivative[204] + cells[c].Mz[108]*derivative[205] + cells[c].Mz[109]*derivative[206] + cells[c].Mz[10]*derivative[39] + cells[c].Mz[110]*derivative[207] + cells[c].Mz[111]*derivative[208] + cells[c].Mz[112]*derivative[211] + cells[c].Mz[113]*derivative[212] + cells[c].Mz[114]*derivative[213] + cells[c].Mz[115]*derivative[214] + cells[c].Mz[116]*derivative[215] + cells[c].Mz[117]*derivative[216] + cells[c].Mz[118]*derivative[217] + cells[c].Mz[119]*derivative[218] + cells[c].Mz[11]*derivative[42] + cells[c].Mz[12]*derivative[43] + cells[c].Mz[13]*derivative[46] + cells[c].Mz[14]*derivative[47] + cells[c].Mz[15]*derivative[48] + cells[c].Mz[16]*derivative[51] + cells[c].Mz[17]*derivative[52] + cells[c].Mz[18]*derivative[53] + cells[c].Mz[19]*derivative[54] + cells[c].Mz[1]*derivative[14] + cells[c].Mz[20]*derivative[60] + cells[c].Mz[21]*derivative[63] + cells[c].Mz[22]*derivative[64] + cells[c].Mz[23]*derivative[67] + cells[c].Mz[24]*derivative[68] + cells[c].Mz[25]*derivative[69] + cells[c].Mz[26]*derivative[72] + cells[c].Mz[27]*derivative[73] + cells[c].Mz[28]*derivative[74] + cells[c].Mz[29]*derivative[75] + cells[c].Mz[2]*derivative[17] + cells[c].Mz[30]*derivative[78] + cells[c].Mz[31]*derivative[79] + cells[c].Mz[32]*derivative[80] + cells[c].Mz[33]*derivative[81] + cells[c].Mz[34]*derivative[82] + cells[c].Mz[35]*derivative[88] + cells[c].Mz[36]*derivative[91] + cells[c].Mz[37]*derivative[92] + cells[c].Mz[38]*derivative[95] + cells[c].Mz[39]*derivative[96] + cells[c].Mz[3]*derivative[18] + cells[c].Mz[40]*derivative[97] + cells[c].Mz[41]*derivative[100] + cells[c].Mz[42]*derivative[101] + cells[c].Mz[43]*derivative[102] + cells[c].Mz[44]*derivative[103] + cells[c].Mz[45]*derivative[106] + cells[c].Mz[46]*derivative[107] + cells[c].Mz[47]*derivative[108] + cells[c].Mz[48]*derivative[109] + cells[c].Mz[49]*derivative[110] + cells[c].Mz[4]*derivative[24] + cells[c].Mz[50]*derivative[113] + cells[c].Mz[51]*derivative[114] + cells[c].Mz[52]*derivative[115] + cells[c].Mz[53]*derivative[116] + cells[c].Mz[54]*derivative[117] + cells[c].Mz[55]*derivative[118] + cells[c].Mz[56]*derivative[124] + cells[c].Mz[57]*derivative[127] + cells[c].Mz[58]*derivative[128] + cells[c].Mz[59]*derivative[131] + cells[c].Mz[5]*derivative[27] + cells[c].Mz[60]*derivative[132] + cells[c].Mz[61]*derivative[133] + cells[c].Mz[62]*derivative[136] + cells[c].Mz[63]*derivative[137] + cells[c].Mz[64]*derivative[138] + cells[c].Mz[65]*derivative[139] + cells[c].Mz[66]*derivative[142] + cells[c].Mz[67]*derivative[143] + cells[c].Mz[68]*derivative[144] + cells[c].Mz[69]*derivative[145] + cells[c].Mz[6]*derivative[28] + cells[c].Mz[70]*derivative[146] + cells[c].Mz[71]*derivative[149] + cells[c].Mz[72]*derivative[150] + cells[c].Mz[73]*derivative[151] + cells[c].Mz[74]*derivative[152] + cells[c].Mz[75]*derivative[153] + cells[c].Mz[76]*derivative[154] + cells[c].Mz[77]*derivative[157] + cells[c].Mz[78]*derivative[158] + cells[c].Mz[79]*derivative[159] + cells[c].Mz[7]*derivative[31] + cells[c].Mz[80]*derivative[160] + cells[c].Mz[81]*derivative[161] + cells[c].Mz[82]*derivative[162] + cells[c].Mz[83]*derivative[163] + cells[c].Mz[84]*derivative[169] + cells[c].Mz[85]*derivative[172] + cells[c].Mz[86]*derivative[173] + cells[c].Mz[87]*derivative[176] + cells[c].Mz[88]*derivative[177] + cells[c].Mz[89]*derivative[178] + cells[c].Mz[8]*derivative[32] + cells[c].Mz[90]*derivative[181] + cells[c].Mz[91]*derivative[182] + cells[c].Mz[92]*derivative[183] + cells[c].Mz[93]*derivative[184] + cells[c].Mz[94]*derivative[187] + cells[c].Mz[95]*derivative[188] + cells[c].Mz[96]*derivative[189] + cells[c].Mz[97]*derivative[190] + cells[c].Mz[98]*derivative[191] + cells[c].Mz[99]*derivative[194] + cells[c].Mz[9]*derivative[33]; - Bz[i] += cells[c].Mx[0]*derivative[6] + cells[c].Mx[100]*derivative[188] + cells[c].Mx[101]*derivative[189] + cells[c].Mx[102]*derivative[190] + cells[c].Mx[103]*derivative[191] + cells[c].Mx[104]*derivative[192] + cells[c].Mx[105]*derivative[194] + cells[c].Mx[106]*derivative[195] + cells[c].Mx[107]*derivative[196] + cells[c].Mx[108]*derivative[197] + cells[c].Mx[109]*derivative[198] + cells[c].Mx[10]*derivative[37] + cells[c].Mx[110]*derivative[199] + cells[c].Mx[111]*derivative[200] + cells[c].Mx[112]*derivative[202] + cells[c].Mx[113]*derivative[203] + cells[c].Mx[114]*derivative[204] + cells[c].Mx[115]*derivative[205] + cells[c].Mx[116]*derivative[206] + cells[c].Mx[117]*derivative[207] + cells[c].Mx[118]*derivative[208] + cells[c].Mx[119]*derivative[209] + cells[c].Mx[11]*derivative[39] + cells[c].Mx[12]*derivative[40] + cells[c].Mx[13]*derivative[42] + cells[c].Mx[14]*derivative[43] + cells[c].Mx[15]*derivative[44] + cells[c].Mx[16]*derivative[46] + cells[c].Mx[17]*derivative[47] + cells[c].Mx[18]*derivative[48] + cells[c].Mx[19]*derivative[49] + cells[c].Mx[1]*derivative[12] + cells[c].Mx[20]*derivative[58] + cells[c].Mx[21]*derivative[60] + cells[c].Mx[22]*derivative[61] + cells[c].Mx[23]*derivative[63] + cells[c].Mx[24]*derivative[64] + cells[c].Mx[25]*derivative[65] + cells[c].Mx[26]*derivative[67] + cells[c].Mx[27]*derivative[68] + cells[c].Mx[28]*derivative[69] + cells[c].Mx[29]*derivative[70] + cells[c].Mx[2]*derivative[14] + cells[c].Mx[30]*derivative[72] + cells[c].Mx[31]*derivative[73] + cells[c].Mx[32]*derivative[74] + cells[c].Mx[33]*derivative[75] + cells[c].Mx[34]*derivative[76] + cells[c].Mx[35]*derivative[86] + cells[c].Mx[36]*derivative[88] + cells[c].Mx[37]*derivative[89] + cells[c].Mx[38]*derivative[91] + cells[c].Mx[39]*derivative[92] + cells[c].Mx[3]*derivative[15] + cells[c].Mx[40]*derivative[93] + cells[c].Mx[41]*derivative[95] + cells[c].Mx[42]*derivative[96] + cells[c].Mx[43]*derivative[97] + cells[c].Mx[44]*derivative[98] + cells[c].Mx[45]*derivative[100] + cells[c].Mx[46]*derivative[101] + cells[c].Mx[47]*derivative[102] + cells[c].Mx[48]*derivative[103] + cells[c].Mx[49]*derivative[104] + cells[c].Mx[4]*derivative[22] + cells[c].Mx[50]*derivative[106] + cells[c].Mx[51]*derivative[107] + cells[c].Mx[52]*derivative[108] + cells[c].Mx[53]*derivative[109] + cells[c].Mx[54]*derivative[110] + cells[c].Mx[55]*derivative[111] + cells[c].Mx[56]*derivative[122] + cells[c].Mx[57]*derivative[124] + cells[c].Mx[58]*derivative[125] + cells[c].Mx[59]*derivative[127] + cells[c].Mx[5]*derivative[24] + cells[c].Mx[60]*derivative[128] + cells[c].Mx[61]*derivative[129] + cells[c].Mx[62]*derivative[131] + cells[c].Mx[63]*derivative[132] + cells[c].Mx[64]*derivative[133] + cells[c].Mx[65]*derivative[134] + cells[c].Mx[66]*derivative[136] + cells[c].Mx[67]*derivative[137] + cells[c].Mx[68]*derivative[138] + cells[c].Mx[69]*derivative[139] + cells[c].Mx[6]*derivative[25] + cells[c].Mx[70]*derivative[140] + cells[c].Mx[71]*derivative[142] + cells[c].Mx[72]*derivative[143] + cells[c].Mx[73]*derivative[144] + cells[c].Mx[74]*derivative[145] + cells[c].Mx[75]*derivative[146] + cells[c].Mx[76]*derivative[147] + cells[c].Mx[77]*derivative[149] + cells[c].Mx[78]*derivative[150] + cells[c].Mx[79]*derivative[151] + cells[c].Mx[7]*derivative[27] + cells[c].Mx[80]*derivative[152] + cells[c].Mx[81]*derivative[153] + cells[c].Mx[82]*derivative[154] + cells[c].Mx[83]*derivative[155] + cells[c].Mx[84]*derivative[167] + cells[c].Mx[85]*derivative[169] + cells[c].Mx[86]*derivative[170] + cells[c].Mx[87]*derivative[172] + cells[c].Mx[88]*derivative[173] + cells[c].Mx[89]*derivative[174] + cells[c].Mx[8]*derivative[28] + cells[c].Mx[90]*derivative[176] + cells[c].Mx[91]*derivative[177] + cells[c].Mx[92]*derivative[178] + cells[c].Mx[93]*derivative[179] + cells[c].Mx[94]*derivative[181] + cells[c].Mx[95]*derivative[182] + cells[c].Mx[96]*derivative[183] + cells[c].Mx[97]*derivative[184] + cells[c].Mx[98]*derivative[185] + cells[c].Mx[99]*derivative[187] + cells[c].Mx[9]*derivative[29] + cells[c].My[0]*derivative[8] + cells[c].My[100]*derivative[195] + cells[c].My[101]*derivative[196] + cells[c].My[102]*derivative[197] + cells[c].My[103]*derivative[198] + cells[c].My[104]*derivative[199] + cells[c].My[105]*derivative[202] + cells[c].My[106]*derivative[203] + cells[c].My[107]*derivative[204] + cells[c].My[108]*derivative[205] + cells[c].My[109]*derivative[206] + cells[c].My[10]*derivative[39] + cells[c].My[110]*derivative[207] + cells[c].My[111]*derivative[208] + cells[c].My[112]*derivative[211] + cells[c].My[113]*derivative[212] + cells[c].My[114]*derivative[213] + cells[c].My[115]*derivative[214] + cells[c].My[116]*derivative[215] + cells[c].My[117]*derivative[216] + cells[c].My[118]*derivative[217] + cells[c].My[119]*derivative[218] + cells[c].My[11]*derivative[42] + cells[c].My[12]*derivative[43] + cells[c].My[13]*derivative[46] + cells[c].My[14]*derivative[47] + cells[c].My[15]*derivative[48] + cells[c].My[16]*derivative[51] + cells[c].My[17]*derivative[52] + cells[c].My[18]*derivative[53] + cells[c].My[19]*derivative[54] + cells[c].My[1]*derivative[14] + cells[c].My[20]*derivative[60] + cells[c].My[21]*derivative[63] + cells[c].My[22]*derivative[64] + cells[c].My[23]*derivative[67] + cells[c].My[24]*derivative[68] + cells[c].My[25]*derivative[69] + cells[c].My[26]*derivative[72] + cells[c].My[27]*derivative[73] + cells[c].My[28]*derivative[74] + cells[c].My[29]*derivative[75] + cells[c].My[2]*derivative[17] + cells[c].My[30]*derivative[78] + cells[c].My[31]*derivative[79] + cells[c].My[32]*derivative[80] + cells[c].My[33]*derivative[81] + cells[c].My[34]*derivative[82] + cells[c].My[35]*derivative[88] + cells[c].My[36]*derivative[91] + cells[c].My[37]*derivative[92] + cells[c].My[38]*derivative[95] + cells[c].My[39]*derivative[96] + cells[c].My[3]*derivative[18] + cells[c].My[40]*derivative[97] + cells[c].My[41]*derivative[100] + cells[c].My[42]*derivative[101] + cells[c].My[43]*derivative[102] + cells[c].My[44]*derivative[103] + cells[c].My[45]*derivative[106] + cells[c].My[46]*derivative[107] + cells[c].My[47]*derivative[108] + cells[c].My[48]*derivative[109] + cells[c].My[49]*derivative[110] + cells[c].My[4]*derivative[24] + cells[c].My[50]*derivative[113] + cells[c].My[51]*derivative[114] + cells[c].My[52]*derivative[115] + cells[c].My[53]*derivative[116] + cells[c].My[54]*derivative[117] + cells[c].My[55]*derivative[118] + cells[c].My[56]*derivative[124] + cells[c].My[57]*derivative[127] + cells[c].My[58]*derivative[128] + cells[c].My[59]*derivative[131] + cells[c].My[5]*derivative[27] + cells[c].My[60]*derivative[132] + cells[c].My[61]*derivative[133] + cells[c].My[62]*derivative[136] + cells[c].My[63]*derivative[137] + cells[c].My[64]*derivative[138] + cells[c].My[65]*derivative[139] + cells[c].My[66]*derivative[142] + cells[c].My[67]*derivative[143] + cells[c].My[68]*derivative[144] + cells[c].My[69]*derivative[145] + cells[c].My[6]*derivative[28] + cells[c].My[70]*derivative[146] + cells[c].My[71]*derivative[149] + cells[c].My[72]*derivative[150] + cells[c].My[73]*derivative[151] + cells[c].My[74]*derivative[152] + cells[c].My[75]*derivative[153] + cells[c].My[76]*derivative[154] + cells[c].My[77]*derivative[157] + cells[c].My[78]*derivative[158] + cells[c].My[79]*derivative[159] + cells[c].My[7]*derivative[31] + cells[c].My[80]*derivative[160] + cells[c].My[81]*derivative[161] + cells[c].My[82]*derivative[162] + cells[c].My[83]*derivative[163] + cells[c].My[84]*derivative[169] + cells[c].My[85]*derivative[172] + cells[c].My[86]*derivative[173] + cells[c].My[87]*derivative[176] + cells[c].My[88]*derivative[177] + cells[c].My[89]*derivative[178] + cells[c].My[8]*derivative[32] + cells[c].My[90]*derivative[181] + cells[c].My[91]*derivative[182] + cells[c].My[92]*derivative[183] + cells[c].My[93]*derivative[184] + cells[c].My[94]*derivative[187] + cells[c].My[95]*derivative[188] + cells[c].My[96]*derivative[189] + cells[c].My[97]*derivative[190] + cells[c].My[98]*derivative[191] + cells[c].My[99]*derivative[194] + cells[c].My[9]*derivative[33] + cells[c].Mz[0]*derivative[9] + cells[c].Mz[100]*derivative[196] + cells[c].Mz[101]*derivative[197] + cells[c].Mz[102]*derivative[198] + cells[c].Mz[103]*derivative[199] + cells[c].Mz[104]*derivative[200] + cells[c].Mz[105]*derivative[203] + cells[c].Mz[106]*derivative[204] + cells[c].Mz[107]*derivative[205] + cells[c].Mz[108]*derivative[206] + cells[c].Mz[109]*derivative[207] + cells[c].Mz[10]*derivative[40] + cells[c].Mz[110]*derivative[208] + cells[c].Mz[111]*derivative[209] + cells[c].Mz[112]*derivative[212] + cells[c].Mz[113]*derivative[213] + cells[c].Mz[114]*derivative[214] + cells[c].Mz[115]*derivative[215] + cells[c].Mz[116]*derivative[216] + cells[c].Mz[117]*derivative[217] + cells[c].Mz[118]*derivative[218] + cells[c].Mz[119]*derivative[219] + cells[c].Mz[11]*derivative[43] + cells[c].Mz[12]*derivative[44] + cells[c].Mz[13]*derivative[47] + cells[c].Mz[14]*derivative[48] + cells[c].Mz[15]*derivative[49] + cells[c].Mz[16]*derivative[52] + cells[c].Mz[17]*derivative[53] + cells[c].Mz[18]*derivative[54] + cells[c].Mz[19]*derivative[55] + cells[c].Mz[1]*derivative[15] + cells[c].Mz[20]*derivative[61] + cells[c].Mz[21]*derivative[64] + cells[c].Mz[22]*derivative[65] + cells[c].Mz[23]*derivative[68] + cells[c].Mz[24]*derivative[69] + cells[c].Mz[25]*derivative[70] + cells[c].Mz[26]*derivative[73] + cells[c].Mz[27]*derivative[74] + cells[c].Mz[28]*derivative[75] + cells[c].Mz[29]*derivative[76] + cells[c].Mz[2]*derivative[18] + cells[c].Mz[30]*derivative[79] + cells[c].Mz[31]*derivative[80] + cells[c].Mz[32]*derivative[81] + cells[c].Mz[33]*derivative[82] + cells[c].Mz[34]*derivative[83] + cells[c].Mz[35]*derivative[89] + cells[c].Mz[36]*derivative[92] + cells[c].Mz[37]*derivative[93] + cells[c].Mz[38]*derivative[96] + cells[c].Mz[39]*derivative[97] + cells[c].Mz[3]*derivative[19] + cells[c].Mz[40]*derivative[98] + cells[c].Mz[41]*derivative[101] + cells[c].Mz[42]*derivative[102] + cells[c].Mz[43]*derivative[103] + cells[c].Mz[44]*derivative[104] + cells[c].Mz[45]*derivative[107] + cells[c].Mz[46]*derivative[108] + cells[c].Mz[47]*derivative[109] + cells[c].Mz[48]*derivative[110] + cells[c].Mz[49]*derivative[111] + cells[c].Mz[4]*derivative[25] + cells[c].Mz[50]*derivative[114] + cells[c].Mz[51]*derivative[115] + cells[c].Mz[52]*derivative[116] + cells[c].Mz[53]*derivative[117] + cells[c].Mz[54]*derivative[118] + cells[c].Mz[55]*derivative[119] + cells[c].Mz[56]*derivative[125] + cells[c].Mz[57]*derivative[128] + cells[c].Mz[58]*derivative[129] + cells[c].Mz[59]*derivative[132] + cells[c].Mz[5]*derivative[28] + cells[c].Mz[60]*derivative[133] + cells[c].Mz[61]*derivative[134] + cells[c].Mz[62]*derivative[137] + cells[c].Mz[63]*derivative[138] + cells[c].Mz[64]*derivative[139] + cells[c].Mz[65]*derivative[140] + cells[c].Mz[66]*derivative[143] + cells[c].Mz[67]*derivative[144] + cells[c].Mz[68]*derivative[145] + cells[c].Mz[69]*derivative[146] + cells[c].Mz[6]*derivative[29] + cells[c].Mz[70]*derivative[147] + cells[c].Mz[71]*derivative[150] + cells[c].Mz[72]*derivative[151] + cells[c].Mz[73]*derivative[152] + cells[c].Mz[74]*derivative[153] + cells[c].Mz[75]*derivative[154] + cells[c].Mz[76]*derivative[155] + cells[c].Mz[77]*derivative[158] + cells[c].Mz[78]*derivative[159] + cells[c].Mz[79]*derivative[160] + cells[c].Mz[7]*derivative[32] + cells[c].Mz[80]*derivative[161] + cells[c].Mz[81]*derivative[162] + cells[c].Mz[82]*derivative[163] + cells[c].Mz[83]*derivative[164] + cells[c].Mz[84]*derivative[170] + cells[c].Mz[85]*derivative[173] + cells[c].Mz[86]*derivative[174] + cells[c].Mz[87]*derivative[177] + cells[c].Mz[88]*derivative[178] + cells[c].Mz[89]*derivative[179] + cells[c].Mz[8]*derivative[33] + cells[c].Mz[90]*derivative[182] + cells[c].Mz[91]*derivative[183] + cells[c].Mz[92]*derivative[184] + cells[c].Mz[93]*derivative[185] + cells[c].Mz[94]*derivative[188] + cells[c].Mz[95]*derivative[189] + cells[c].Mz[96]*derivative[190] + cells[c].Mz[97]*derivative[191] + cells[c].Mz[98]*derivative[192] + cells[c].Mz[99]*derivative[195] + cells[c].Mz[9]*derivative[34]; -} - - -void P2P(unsigned int i, unsigned int j, std::vector &particles, std::vector &Bx, std::vector &By, std::vector &Bz) { - double dx = particles[i].x - particles[j].x; - double dy = particles[i].y - particles[j].y; - double dz = particles[i].z - particles[j].z; - double r2 = dx * dx + dy * dy + dz * dz; - if (r2 != 0) { - double r3 = sqrt(r2)*r2; - double r5 = r3*r2; - // # 3 * (mu.r)*r / r**5 - mu / r**3 - double mudotr = dx * particles[j].mux + dy * particles[j].muy + dz * particles[j].muz; - - Bx[i] += 3*mudotr*dx / r5 - particles[j].mux / r3; - By[i] += 3*mudotr*dy / r5 - particles[j].muy / r3; - Bz[i] += 3*mudotr*dz / r5 - particles[j].muz / r3; - } - } - -void P2M(std::vector &particles, unsigned int p, std::vector &cells, unsigned int ncrit, unsigned int exporder) { - switch(exporder) { - - case 0: - P2M_0(particles, p, cells, ncrit); - break; - - case 1: - P2M_1(particles, p, cells, ncrit); - break; - - case 2: - P2M_2(particles, p, cells, ncrit); - break; - - case 3: - P2M_3(particles, p, cells, ncrit); - break; - - case 4: - P2M_4(particles, p, cells, ncrit); - break; - - case 5: - P2M_5(particles, p, cells, ncrit); - break; - - case 6: - P2M_6(particles, p, cells, ncrit); - break; - - case 7: - P2M_7(particles, p, cells, ncrit); - break; - - default: - throw std::invalid_argument("P2M: Regenerate the code with higher expansions"); - } -} - -void M2M(unsigned int p, unsigned int c, std::vector &cells, unsigned int exporder) { - switch(exporder) { - - case 0: - M2M_0(p, c, cells); - break; - - case 1: - M2M_1(p, c, cells); - break; - - case 2: - M2M_2(p, c, cells); - break; - - case 3: - M2M_3(p, c, cells); - break; - - case 4: - M2M_4(p, c, cells); - break; - - case 5: - M2M_5(p, c, cells); - break; - - case 6: - M2M_6(p, c, cells); - break; - - case 7: - M2M_7(p, c, cells); - break; - - default: - throw std::invalid_argument("M2M: Regenerate the code with higher expansions"); - } -} - -void M2P(unsigned int A, unsigned int B, std::vector &cells, std::vector & particles, std::vector &Bx, std::vector &By, std::vector &Bz, unsigned int exporder, std::vector &derivative) { - switch(exporder) { - - case 0: - M2P_0(A, B, cells, particles, Bx, By, Bz, derivative); - break; - - case 1: - M2P_1(A, B, cells, particles, Bx, By, Bz, derivative); - break; - - case 2: - M2P_2(A, B, cells, particles, Bx, By, Bz, derivative); - break; - - case 3: - M2P_3(A, B, cells, particles, Bx, By, Bz, derivative); - break; - - case 4: - M2P_4(A, B, cells, particles, Bx, By, Bz, derivative); - break; - - case 5: - M2P_5(A, B, cells, particles, Bx, By, Bz, derivative); - break; - - case 6: - M2P_6(A, B, cells, particles, Bx, By, Bz, derivative); - break; - - case 7: - M2P_7(A, B, cells, particles, Bx, By, Bz, derivative); - break; - - default: - throw std::invalid_argument("M2P: Regenerate the code with higher expansions"); - } -} -#endif \ No newline at end of file diff --git a/fidimag/atomistic/lib/fmmlib/fmmlib.pyx b/fidimag/atomistic/lib/fmmlib/fmmlib.pyx deleted file mode 100644 index a8382ab6..00000000 --- a/fidimag/atomistic/lib/fmmlib/fmmlib.pyx +++ /dev/null @@ -1,51 +0,0 @@ -from libcpp.vector cimport vector - -cdef extern from "tree.hpp": - cdef cppclass Particle: - Particle(double x, double y, double z, double mux, double muy, double muz) - double x, y, z, mux, muy, muz - - cdef cppclass Cell: - Cell(double x, double y, double z, double r, unsigned int parent, unsigned int order, - unsigned int level, unsigned int ncrit) - unsigned int nleaf, nchild, level - double x, y, z, r - unsigned int parent - vector[double] Mx - vector[double] My - vector[double] Mz - vector[double] Lx - vector[double] Ly - vector[double] Lz - vector[int] leaf - - cdef vector[Cell] build_tree(vector[Particle]& particles, - Cell &root, - unsigned int ncrit, - unsigned int order) - - -cdef vector[Particle] sim_to_particles(mesh, mu_s): - """ - Convert the positions of the lattice spins to C++ Particle objects - for the building of the trees. - """ - ids = [] - for k in range(mesh.nz): - for j in range(mesh.ny): - for i in range(mesh.nx): - id = k * mesh.nx * mesh.ny + j * mesh.nx + i - # Check that the spin is not a 'ghost' spin - if mu_s[id] != 0: - ids.append(id) - - - - - -def build_tree(mesh, mus): - pass - - - - diff --git a/fidimag/atomistic/lib/fmmlib/tree.cpp b/fidimag/atomistic/lib/fmmlib/tree.cpp deleted file mode 100644 index 6c32169c..00000000 --- a/fidimag/atomistic/lib/fmmlib/tree.cpp +++ /dev/null @@ -1,161 +0,0 @@ -#ifndef FMMLIB_TREE_HPP -#define FMMLIB_TREE_HPP - -#include -#include -#include -#include -#include "utils.hpp" - -class Particle { -public: - double x, y, z; - double mux, muy, muz; - Particle(double x, double y, double z, double mux, double muy, double muz) : x(x), y(y), z(z), mux(mux), muy(muy), muz(muz) {} -}; - -struct Cell { -public: - unsigned int nleaf; - unsigned int nchild; - unsigned int level; - std::array child; - std::vector Mx; - std::vector My; - std::vector Mz; - std::vector Lx; - std::vector Ly; - std::vector Lz; - std::vector leaf; - double x, y, z, r; - unsigned int parent; - Cell(double x, double y, double z, double r, unsigned int parent, unsigned int order, unsigned int level, unsigned int ncrit); -}; - - -Cell::Cell(double x, double y, double z, double r, unsigned int parent, unsigned int order, unsigned int level, unsigned int ncrit) { - //std::cout << "Cell("<x = x; - this->y = y; - this->z = z; - this->r = r; - this->parent = parent; - this->level = level; - this->Mx.resize(Nterms(order)); - this->My.resize(Nterms(order)); - this->Mz.resize(Nterms(order)); - for(unsigned int i = 0; i < Mx.size(); i++) { - this->Mx[i] = 0; - this->My[i] = 0; - this->Mz[i] = 0; - } - for(unsigned int i = 0; i < leaf.size(); i++) { - this->leaf[i] = 0; - } - this->leaf.resize(ncrit); - this->nleaf = 0; - this->nchild = 0; -} - - -void printTreeParticles(std::vector &cells, unsigned int cell, unsigned int depth) { - if (cell == 0) { - //std::cout << "Printing particle locations!" << std::endl; - } - for(unsigned int i = 0; i < depth; i++) { - std::cout << " "; - } - std::cout << cell << " (" << cells[cell].x << ","<< cells[cell].y << "," << cells[cell].z << ") : ("; - unsigned int nchild = 0; - for(unsigned int octant = 0; octant < 8; octant++) { - if (cells[cell].nchild & (1 << octant)) { - nchild += 1; - } - } - - if (nchild == 0) { - for(unsigned int i = 0; i < cells[cell].nleaf; i++) { - std::cout << cells[cell].leaf[i]; - if (i != (cells[cell].nleaf - 1)) { - std::cout << ","; - } - } - } - std::cout << ")" << std::endl; - for(unsigned int octant = 0; octant < 8; octant++) { - if (cells[cell].nchild & (1 << octant)) { - printTreeParticles(cells, cells[cell].child[octant], depth + 1); - } - } -} - -void add_child(std::vector &cells, int octant, unsigned int p, unsigned int ncrit, unsigned int order) { - int c = cells.size(); - // Do not change octant to unsigned int - otherwise the calculation - // of x, y, z position is not correct. - double r = cells[p].r / 2.0; - //std::cout << "Adding child to cell p "<< p<< "Parent(" << cells[p].x << "," << cells[p].y << "," << cells[p].z << "," << cells[p].r << ")" << std::endl; - - double x = cells[p].x + r * ((octant & 1) * 2 - 1); - double y = cells[p].y + r * ((octant & 2) - 1); - double z = cells[p].z + r * ((octant & 4) / 2 - 1); - //std::cout << "Creating Cell("< &cells, std::vector &particles, unsigned int p, unsigned int ncrit, unsigned int order) { - //std::cout << "Printing split_cell" << std::endl; - unsigned int l, c; - // Do not change octant to unsigned int - otherwise the calculation - // of x, y, z position in add_child is not correct! - int octant; - for(unsigned int i = 0; i < cells[p].leaf.size(); i++) { - l = cells[p].leaf[i]; - octant = (particles[l].x > cells[p].x) + - ((particles[l].y > cells[p].y) << 1) + - ((particles[l].z > cells[p].z) << 2); - - if (!((cells[p].nchild) & (1 << octant))) { - add_child(cells, octant, p, ncrit, order); - } - c = cells[p].child[octant]; - cells[c].leaf[cells[c].nleaf] = l; - cells[c].nleaf += 1; - if (cells[c].nleaf >= ncrit) { - split_cell(cells, particles, c, ncrit, order); - } - } -} - -std::vector build_tree(std::vector &particles, Cell &root, unsigned int ncrit, unsigned int order) { - std::vector cells; - unsigned int curr; - int octant; - cells.push_back(root); - for(unsigned int i = 0; i < particles.size(); i++) { - //std::cout << i << std::endl; - curr = 0; - while (cells[curr].nleaf >= ncrit) { - cells[curr].nleaf += 1; - octant = (particles[i].x > cells[curr].x) + ((particles[i].y > cells[curr].y) << 1) + ((particles[i].z > cells[curr].z) << 2); - if (!(cells[curr].nchild & (1 << octant))) { - add_child(cells, octant, curr, ncrit, order); - } - curr = cells[curr].child[octant]; - } - cells[curr].leaf[cells[curr].nleaf] = i; - cells[curr].nleaf += 1; - if (cells[curr].nleaf >= ncrit) { - split_cell(cells, particles, curr, ncrit, order); - } - } - return cells; -} - - -#endif diff --git a/fidimag/atomistic/lib/fmmlib/tree.hpp b/fidimag/atomistic/lib/fmmlib/tree.hpp deleted file mode 100644 index feb1fc5b..00000000 --- a/fidimag/atomistic/lib/fmmlib/tree.hpp +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef FMMLIB_TREE_HPP -#define FMMLIB_TREE_HPP - -#include -#include -#include -#include -#include "utils.hpp" - -class Particle { -public: - double x, y, z; - double mux, muy, muz; - Particle(double x, double y, double z, double mux, double muy, double muz) : x(x), y(y), z(z), mux(mux), muy(muy), muz(muz) {} -}; - -struct Cell { -public: - unsigned int nleaf; - unsigned int nchild; - unsigned int level; - std::array child; - std::vector Mx; - std::vector My; - std::vector Mz; - std::vector Lx; - std::vector Ly; - std::vector Lz; - std::vector leaf; - double x, y, z, r; - unsigned int parent; - Cell(double x, double y, double z, double r, unsigned int parent, unsigned int order, unsigned int level, unsigned int ncrit); -}; - -void printTreeParticles(std::vector &cells, unsigned int cell, unsigned int depth); - -void add_child(std::vector &cells, int octant, unsigned int p, unsigned int ncrit, unsigned int order); - - -void split_cell(std::vector &cells, std::vector &particles, unsigned int p, unsigned int ncrit, unsigned int order); - -std::vector build_tree(std::vector &particles, Cell &root, unsigned int ncrit, unsigned int order); - -#endif \ No newline at end of file diff --git a/fidimag/atomistic/lib/fmmlib/utils.cpp b/fidimag/atomistic/lib/fmmlib/utils.cpp deleted file mode 100644 index 078d1c49..00000000 --- a/fidimag/atomistic/lib/fmmlib/utils.cpp +++ /dev/null @@ -1,11 +0,0 @@ -unsigned int TriangleNumbers(unsigned int n) { - return (n * (n + 1)) / 2; -} - -unsigned int Nterms(unsigned int p) { - unsigned int result = 0; - for(unsigned int i = 0; i < p + 2; i++) { - result += TriangleNumbers(i); - } - return result; -} diff --git a/fidimag/atomistic/lib/fmmlib/utils.hpp b/fidimag/atomistic/lib/fmmlib/utils.hpp deleted file mode 100644 index c1f1a567..00000000 --- a/fidimag/atomistic/lib/fmmlib/utils.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef FMMLIB_UTILS_HPP -#define FMMLIB_UTILS_HPP - -unsigned int TriangleNumbers(unsigned int n); - -unsigned int Nterms(unsigned int p); - - -#endif diff --git a/pyproject.toml b/pyproject.toml index b78d41c9..7bea62e4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,44 +1,201 @@ +# Modern pyproject.toml using scikit-build-core +# This replaces setup.py entirely + +[build-system] +requires = [ + "scikit-build-core>=0.8", + "cython>=3.0.0", + "numpy>=1.21", +] +build-backend = "scikit_build_core.build" + [project] name = "fidimag" -dynamic = ["version"] -description = "Atomistic and Finite-DIfference microMAGnetic code, based on Python, Cython and C " +version = "3.0" +description = "Finite Difference Atomistic and Micromagnetic Simulation Package" readme = "README.md" -# Not fully supported: -# license-files = ["LICENSE.txt"] -# license = "BSD-2-Clause" -requires-python = ">= 3.14" -dependencies = [ - 'numpy', - 'scipy', - 'cython>=3.0.0', - 'pytest', - 'matplotlib', - 'ipywidgets', - 'pyvtk', - 'ipython', - 'psutil' -] +requires-python = ">=3.9" +license = {text = "BSD-2-Clause"} + authors = [ - { name = "Weiwei Wang" }, - { name = "David Cortes Ortuno" }, - { name = "Ryan Pepper" }, - { name = "Hans Fangohr" }, - { name = "Marc-Antonio Bisotti" }, - { name = "Thomas Kluyver" }, - { name = "Mark Vousden" }, - { name = "Oliver Laslett" }, - { name = "Rebecca Carey" }, + {name = "Weiwei Wang"}, + {name = "David Cortes Ortuno"}, + {name = "Ryan Pepper"}, + {name = "Hans Fangohr"}, + {name = "Marc-Antonio Bisotti"}, + {name = "Thomas Kluyver"}, + {name = "Mark Vousden"}, + {name = "Oliver Laslett"}, + {name = "Rebecca Carey"}, ] maintainers = [ - {name = "David Cortes Ortuno", email = "david.cortes.o@gmail.com"}, - {name = "Ryan Pepper"} + {name = "David Cortes Ortuno", email = "david.cortes.o@gmail.com"}, + {name = "Ryan Pepper"} ] -[build-system] -build-backend = "setuptools.build_meta" -requires = [ - "setuptools", - "numpy", - "cython>=3.0.0", +keywords = [ + "physics", + "simulation", + "magnetism", + "micromagnetics", + "atomistic", + "scientific-computing", +] + +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: BSD License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + "Programming Language :: C", + "Programming Language :: C++", + "Programming Language :: Cython", + "Topic :: Scientific/Engineering :: Physics", +] + +dependencies = [ + "numpy>=1.21", + "scipy>=1.7", + "matplotlib>=3.0", + "ipywidgets>=7.0", + "pyvtk", + "ipython>=7.0", + "psutil>=5.0", +] + +[project.optional-dependencies] +dev = [ + "pytest>=6.0", + "pytest-cov", + "nbval", +] +docs = [ + "sphinx", + "sphinx-rtd-theme", +] +test = [ + "pytest>=6.0", +] + +[project.urls] +Homepage = "https://github.com/computationalmodelling/fidimag" +Documentation = "https://fidimag.readthedocs.io" +Repository = "https://github.com/computationalmodelling/fidimag" +Issues = "https://github.com/computationalmodelling/fidimag/issues" + +# scikit-build-core configuration +[tool.scikit-build] +# Minimum CMake version (updated syntax for scikit-build-core >= 0.8) +cmake.version = ">=3.18" + +# Build directory +build-dir = "build/{wheel_tag}" + +# Verbose output for debugging (updated syntax for scikit-build-core >= 0.10) +build.verbose = false + +# Install C/C++ libraries to package +install.components = ["python"] + +# Don't strip symbols (useful for debugging) +install.strip = false + +# CMake configuration options +[tool.scikit-build.cmake.define] +# Add local library paths to CMake search path +CMAKE_PREFIX_PATH = "${SKBUILD_PROJECT_DIR}/local" + +# Build type (Release for optimization) +CMAKE_BUILD_TYPE = "Release" + +# Note: Use CMAKE_GENERATOR="Unix Makefiles" environment variable if needed + +# OpenMP support +# (CMake will find it automatically via FindOpenMP) + +# Override these with environment variables if needed: +# CMAKE_PREFIX_PATH=/custom/path pip install . +# or +# SUNDIALS_ROOT=/path pip install . +# FFTW_ROOT=/path pip install . + +# Metadata for wheel/sdist +[tool.scikit-build.metadata] +# Additional files to include in source distribution +[tool.scikit-build.sdist] +include = [ + "CMakeLists.txt", + "cmake/*.cmake", + "fidimag/**/*.pyx", + "fidimag/**/*.pxd", + "fidimag/**/*.h", + "fidimag/**/*.c", + "fidimag/**/*.cpp", +] +exclude = [ + "**/*.so", + "**/.DS_Store", + "**/__pycache__", +] + +# Wheel building +[tool.scikit-build.wheel] +# Expand the macos deployment target to support older macs +expand-macos-universal-tags = true + +# Install dir should be empty - CMake handles the full path +install-dir = "" + +# Cython configuration +[tool.cython] +# Global Cython compiler directives +[tool.cython.compile] +linetrace = true +language_level = "3" + +# Package discovery +[tool.setuptools] +# These are read by scikit-build-core for package discovery +packages = [ + "fidimag", + "fidimag.atomistic", + "fidimag.micro", + "fidimag.common", + "fidimag.extensions", +] + +[tool.setuptools.package-data] +fidimag = ["*.pyx", "*.pxd", "*.h"] + +# pytest configuration +[tool.pytest.ini_options] +minversion = "6.0" +testpaths = ["tests"] +python_files = ["test_*.py"] +markers = [ + "slow: marks tests as slow (deselect with '-m \"not slow\"')", + "run_oommf: marks tests that require OOMMF (deselect with '-m \"not run_oommf\"')", +] + +# Coverage configuration +[tool.coverage.run] +source = ["fidimag"] +omit = ["*/tests/*", "*/test_*.py"] + +[tool.coverage.report] +exclude_lines = [ + "pragma: no cover", + "def __repr__", + "raise AssertionError", + "raise NotImplementedError", + "if __name__ == .__main__.:", ] diff --git a/sandbox/heirarchical/test_fmm.py b/sandbox/heirarchical/test_fmm.py deleted file mode 100644 index 0a16ca52..00000000 --- a/sandbox/heirarchical/test_fmm.py +++ /dev/null @@ -1,158 +0,0 @@ -import numpy as np -import fidimag -from fidimag.atomistic.energy import Energy -from fidimag.atomistic import Demag, DemagFull -import fidimag.extensions.fmm as fmm -import fidimag.extensions.bh as bh -import time - -order = 9 -ncrit = 48 -theta=0.0 - -Nx=20 -Ny=16 -Nz=15 - -N = Nx*Ny*Nz - -class DemagFMM(Energy): - def __init__(self, order, ncrit, theta, name="DemagFMM"): - self.name = name - assert order > 0, "Order must be 1 or higher" - self.order = order - assert ncrit >= 2, "ncrit must be greater than 1." - self.ncrit = ncrit - assert theta >= 0.0, "theta must be >= 0.0" - self.theta = theta - - def setup(self, mesh, spin, mu_s, mu_s_inv): - super(DemagFMM, self).setup(mesh, spin, mu_s, mu_s_inv) - self.n = mesh.n - print(mesh.coordinates) - self.m_temp = sim.spin.copy() - self.m_temp[0::3] *= self.mu_s - self.m_temp[1::3] *= self.mu_s - self.m_temp[2::3] *= self.mu_s - self.fmm = fmm.FMM(self.n, self.ncrit, self.order, mesh.coordinates * mesh.unit_length, self.m_temp) - - def compute_field(self, t=0, spin=None): - self.m_temp[:] = spin if spin is not None else self.spin - self.m_temp[0::3] *= self.mu_s - self.m_temp[1::3] *= self.mu_s - self.m_temp[2::3] *= self.mu_s - - self.field[:] = 0.0 - #self.fmm.set(self.m_temp) - self.fmm.compute_field(self.theta, self.field) - self.field *= 1e-7 - return self.field - - -# class DemagBH(Energy): -# def __init__(self, order, ncrit, theta, name="DemagBH"): -# self.name = name -# assert order > 0, "Order must be 1 or higher" -# self.order = order -# assert ncrit >= 2, "ncrit must be greater than 1." -# self.ncrit = ncrit -# assert theta >= 0.0, "theta must be >= 0.0" -# self.theta = theta - -# def setup(self, mesh, spin, mu_s, mu_s_inv): -# super(Demag, self).setup(mesh, spin, mu_s, mu_s_inv) -# self.n = mesh.n -# print(mesh.coordinates) -# self.fmm = fmm.FMM(self.n, self.ncrit, self.order, mesh.coordinates * mesh.unit_length, self.spin) -# self.m_temp = np.zeros_like(sim.spin) - -# def compute_field(self, t=0, spin=None): -# m = spin.copy() if spin is not None else self.spin.copy() -# m[0::3] *= self.mu_s -# m[1::3] *= self.mu_s -# m[2::3] *= self.mu_s - -# self.field[:] = 0.0 -# #self.fmm.set(m) -# self.fmm.compute_field(self.theta, self.field) -# self.field *= 1e-7 -# return self.field - - - -mesh = fidimag.common.CuboidMesh(nx=Nx, ny=Ny, nz=Nz, dx=1, dy=1, dz=1, unit_length=1e-9) -N = mesh.n -print("Nparticles = {}".format(N)) - -demagfmm = DemagFMM(order, ncrit, theta=theta) -demagfft = Demag() -demagfull = DemagFull() - -sim = fidimag.atomistic.Sim(mesh) -sim.set_m((0, 0, 1), normalise=True) -print(f"Bohr Magnetom = {fidimag.common.constant.mu_B}") -sim.set_mu_s(fidimag.common.constant.mu_B) - -sim.add(demagfft) -sim.add(demagfmm) -sim.add(demagfull) - - - -start = time.time() -demagfft.compute_field() -end = time.time() -t = end - start -print('fft t = {}'.format(t)) -print('{}\n\n'.format(demagfft.field)) - -start = time.time() - -demagfmm.fmm.numcells() - -print(f"N * bohr = {fidimag.common.constant.mu_B * N}") -demagfmm.compute_field() -err = (demagfft.field - demagfmm.field) / demagfft.field - -errx = (err[0::3]*err[0::3])**0.5 -erry = (err[1::3]*err[1::3])**0.5 -errz = (err[2::3]*err[2::3])**0.5 - -print(f'errx = {np.mean(errx)}') -print(f'erry = {np.mean(erry)}') -print(f'errz = {np.mean(erry)}') - - -# demagfmm.fmm.checkM() - -start = time.time() -demagfull.compute_field() -end = time.time() -t = end - start -print('direct t = {}, {}\n'.format(t, demagfull.field)) - -Exrel_err = 0 -Eyrel_err = 0 -Ezrel_err = 0 - -direct = np.zeros(3*N) -demagfmm.fmm.compute_field_exact(direct) -direct *= 1e-7 - -for i in range(N): - exerr = (direct[3*i + 0] - demagfmm.field[3*i + 0])/direct[3*i + 0] - eyerr = (direct[3*i + 1] - demagfmm.field[3*i + 1])/direct[3*i + 1] - ezerr = (direct[3*i + 2] - demagfmm.field[3*i + 2])/direct[3*i + 2] - - Exrel_err += np.sqrt(exerr * exerr); - Eyrel_err += np.sqrt(eyerr * eyerr); - Ezrel_err += np.sqrt(ezerr * ezerr); - - -Exrel_err /= N -Eyrel_err /= N -Ezrel_err /= N - -print(f'err = {Exrel_err}, {Eyrel_err}, {Ezrel_err}') - - diff --git a/uv.lock b/uv.lock new file mode 100644 index 00000000..623ba9b5 --- /dev/null +++ b/uv.lock @@ -0,0 +1,3635 @@ +version = 1 +requires-python = ">=3.9" +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version < '3.10'", +] + +[[package]] +name = "alabaster" +version = "0.7.16" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/3e/13dd8e5ed9094e734ac430b5d0eb4f2bb001708a8b7856cbf8e084e001ba/alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65", size = 23776 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511 }, +] + +[[package]] +name = "alabaster" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a6/f8/d9c74d0daf3f742840fd818d69cfae176fa332022fd44e3469487d5a9420/alabaster-1.0.0.tar.gz", hash = "sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e", size = 24210 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl", hash = "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b", size = 13929 }, +] + +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321 }, +] + +[[package]] +name = "asttokens" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7", size = 62308 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a", size = 27047 }, +] + +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615 }, +] + +[[package]] +name = "babel" +version = "2.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845 }, +] + +[[package]] +name = "certifi" +version = "2026.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900 }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", version = "2.23", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' and implementation_name != 'PyPy'" }, + { name = "pycparser", version = "3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283 }, + { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504 }, + { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811 }, + { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402 }, + { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217 }, + { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079 }, + { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475 }, + { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829 }, + { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211 }, + { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036 }, + { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184 }, + { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790 }, + { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344 }, + { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560 }, + { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613 }, + { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476 }, + { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374 }, + { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597 }, + { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574 }, + { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971 }, + { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972 }, + { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078 }, + { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076 }, + { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820 }, + { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635 }, + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271 }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048 }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529 }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097 }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983 }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519 }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572 }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963 }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361 }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932 }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557 }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762 }, + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230 }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043 }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446 }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101 }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948 }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422 }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499 }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928 }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302 }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909 }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402 }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780 }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320 }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487 }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049 }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793 }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300 }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244 }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828 }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926 }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328 }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650 }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687 }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773 }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013 }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593 }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354 }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480 }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584 }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443 }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437 }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487 }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726 }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195 }, + { url = "https://files.pythonhosted.org/packages/c0/cc/08ed5a43f2996a16b462f64a7055c6e962803534924b9b2f1371d8c00b7b/cffi-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf", size = 184288 }, + { url = "https://files.pythonhosted.org/packages/3d/de/38d9726324e127f727b4ecc376bc85e505bfe61ef130eaf3f290c6847dd4/cffi-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7", size = 180509 }, + { url = "https://files.pythonhosted.org/packages/9b/13/c92e36358fbcc39cf0962e83223c9522154ee8630e1df7c0b3a39a8124e2/cffi-2.0.0-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c", size = 208813 }, + { url = "https://files.pythonhosted.org/packages/15/12/a7a79bd0df4c3bff744b2d7e52cc1b68d5e7e427b384252c42366dc1ecbc/cffi-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165", size = 216498 }, + { url = "https://files.pythonhosted.org/packages/a3/ad/5c51c1c7600bdd7ed9a24a203ec255dccdd0ebf4527f7b922a0bde2fb6ed/cffi-2.0.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534", size = 203243 }, + { url = "https://files.pythonhosted.org/packages/32/f2/81b63e288295928739d715d00952c8c6034cb6c6a516b17d37e0c8be5600/cffi-2.0.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f", size = 203158 }, + { url = "https://files.pythonhosted.org/packages/1f/74/cc4096ce66f5939042ae094e2e96f53426a979864aa1f96a621ad128be27/cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63", size = 216548 }, + { url = "https://files.pythonhosted.org/packages/e8/be/f6424d1dc46b1091ffcc8964fa7c0ab0cd36839dd2761b49c90481a6ba1b/cffi-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2", size = 218897 }, + { url = "https://files.pythonhosted.org/packages/f7/e0/dda537c2309817edf60109e39265f24f24aa7f050767e22c98c53fe7f48b/cffi-2.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65", size = 211249 }, + { url = "https://files.pythonhosted.org/packages/2b/e7/7c769804eb75e4c4b35e658dba01de1640a351a9653c3d49ca89d16ccc91/cffi-2.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322", size = 218041 }, + { url = "https://files.pythonhosted.org/packages/aa/d9/6218d78f920dcd7507fc16a766b5ef8f3b913cc7aa938e7fc80b9978d089/cffi-2.0.0-cp39-cp39-win32.whl", hash = "sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a", size = 172138 }, + { url = "https://files.pythonhosted.org/packages/54/8f/a1e836f82d8e32a97e6b29cc8f641779181ac7363734f12df27db803ebda/cffi-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9", size = 182794 }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/b8/6d51fc1d52cbd52cd4ccedd5b5b2f0f6a11bbf6765c782298b0f3e808541/charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", size = 209709 }, + { url = "https://files.pythonhosted.org/packages/5c/af/1f9d7f7faafe2ddfb6f72a2e07a548a629c61ad510fe60f9630309908fef/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", size = 148814 }, + { url = "https://files.pythonhosted.org/packages/79/3d/f2e3ac2bbc056ca0c204298ea4e3d9db9b4afe437812638759db2c976b5f/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", size = 144467 }, + { url = "https://files.pythonhosted.org/packages/ec/85/1bf997003815e60d57de7bd972c57dc6950446a3e4ccac43bc3070721856/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", size = 162280 }, + { url = "https://files.pythonhosted.org/packages/3e/8e/6aa1952f56b192f54921c436b87f2aaf7c7a7c3d0d1a765547d64fd83c13/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", size = 159454 }, + { url = "https://files.pythonhosted.org/packages/36/3b/60cbd1f8e93aa25d1c669c649b7a655b0b5fb4c571858910ea9332678558/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", size = 153609 }, + { url = "https://files.pythonhosted.org/packages/64/91/6a13396948b8fd3c4b4fd5bc74d045f5637d78c9675585e8e9fbe5636554/charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", size = 151849 }, + { url = "https://files.pythonhosted.org/packages/b7/7a/59482e28b9981d105691e968c544cc0df3b7d6133152fb3dcdc8f135da7a/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", size = 151586 }, + { url = "https://files.pythonhosted.org/packages/92/59/f64ef6a1c4bdd2baf892b04cd78792ed8684fbc48d4c2afe467d96b4df57/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", size = 145290 }, + { url = "https://files.pythonhosted.org/packages/6b/63/3bf9f279ddfa641ffa1962b0db6a57a9c294361cc2f5fcac997049a00e9c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", size = 163663 }, + { url = "https://files.pythonhosted.org/packages/ed/09/c9e38fc8fa9e0849b172b581fd9803bdf6e694041127933934184e19f8c3/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", size = 151964 }, + { url = "https://files.pythonhosted.org/packages/d2/d1/d28b747e512d0da79d8b6a1ac18b7ab2ecfd81b2944c4c710e166d8dd09c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", size = 161064 }, + { url = "https://files.pythonhosted.org/packages/bb/9a/31d62b611d901c3b9e5500c36aab0ff5eb442043fb3a1c254200d3d397d9/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", size = 155015 }, + { url = "https://files.pythonhosted.org/packages/1f/f3/107e008fa2bff0c8b9319584174418e5e5285fef32f79d8ee6a430d0039c/charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", size = 99792 }, + { url = "https://files.pythonhosted.org/packages/eb/66/e396e8a408843337d7315bab30dbf106c38966f1819f123257f5520f8a96/charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", size = 107198 }, + { url = "https://files.pythonhosted.org/packages/b5/58/01b4f815bf0312704c267f2ccb6e5d42bcc7752340cd487bc9f8c3710597/charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", size = 100262 }, + { url = "https://files.pythonhosted.org/packages/ed/27/c6491ff4954e58a10f69ad90aca8a1b6fe9c5d3c6f380907af3c37435b59/charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", size = 206988 }, + { url = "https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", size = 147324 }, + { url = "https://files.pythonhosted.org/packages/07/fb/0cf61dc84b2b088391830f6274cb57c82e4da8bbc2efeac8c025edb88772/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", size = 142742 }, + { url = "https://files.pythonhosted.org/packages/62/8b/171935adf2312cd745d290ed93cf16cf0dfe320863ab7cbeeae1dcd6535f/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", size = 160863 }, + { url = "https://files.pythonhosted.org/packages/09/73/ad875b192bda14f2173bfc1bc9a55e009808484a4b256748d931b6948442/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", size = 157837 }, + { url = "https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", size = 151550 }, + { url = "https://files.pythonhosted.org/packages/55/c2/43edd615fdfba8c6f2dfbd459b25a6b3b551f24ea21981e23fb768503ce1/charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", size = 149162 }, + { url = "https://files.pythonhosted.org/packages/03/86/bde4ad8b4d0e9429a4e82c1e8f5c659993a9a863ad62c7df05cf7b678d75/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", size = 150019 }, + { url = "https://files.pythonhosted.org/packages/1f/86/a151eb2af293a7e7bac3a739b81072585ce36ccfb4493039f49f1d3cae8c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", size = 143310 }, + { url = "https://files.pythonhosted.org/packages/b5/fe/43dae6144a7e07b87478fdfc4dbe9efd5defb0e7ec29f5f58a55aeef7bf7/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", size = 162022 }, + { url = "https://files.pythonhosted.org/packages/80/e6/7aab83774f5d2bca81f42ac58d04caf44f0cc2b65fc6db2b3b2e8a05f3b3/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", size = 149383 }, + { url = "https://files.pythonhosted.org/packages/4f/e8/b289173b4edae05c0dde07f69f8db476a0b511eac556dfe0d6bda3c43384/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", size = 159098 }, + { url = "https://files.pythonhosted.org/packages/d8/df/fe699727754cae3f8478493c7f45f777b17c3ef0600e28abfec8619eb49c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", size = 152991 }, + { url = "https://files.pythonhosted.org/packages/1a/86/584869fe4ddb6ffa3bd9f491b87a01568797fb9bd8933f557dba9771beaf/charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", size = 99456 }, + { url = "https://files.pythonhosted.org/packages/65/f6/62fdd5feb60530f50f7e38b4f6a1d5203f4d16ff4f9f0952962c044e919a/charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", size = 106978 }, + { url = "https://files.pythonhosted.org/packages/7a/9d/0710916e6c82948b3be62d9d398cb4fcf4e97b56d6a6aeccd66c4b2f2bd5/charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", size = 99969 }, + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425 }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162 }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558 }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497 }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240 }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471 }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864 }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647 }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110 }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839 }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667 }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535 }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816 }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694 }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131 }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390 }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091 }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936 }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180 }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346 }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874 }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076 }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601 }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376 }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825 }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583 }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366 }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300 }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465 }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404 }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092 }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408 }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746 }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889 }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641 }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779 }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035 }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542 }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524 }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395 }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680 }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045 }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687 }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014 }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044 }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940 }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104 }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743 }, + { url = "https://files.pythonhosted.org/packages/46/7c/0c4760bccf082737ca7ab84a4c2034fcc06b1f21cf3032ea98bd6feb1725/charset_normalizer-3.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9", size = 209609 }, + { url = "https://files.pythonhosted.org/packages/bb/a4/69719daef2f3d7f1819de60c9a6be981b8eeead7542d5ec4440f3c80e111/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d", size = 149029 }, + { url = "https://files.pythonhosted.org/packages/e6/21/8d4e1d6c1e6070d3672908b8e4533a71b5b53e71d16828cc24d0efec564c/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608", size = 144580 }, + { url = "https://files.pythonhosted.org/packages/a7/0a/a616d001b3f25647a9068e0b9199f697ce507ec898cacb06a0d5a1617c99/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc", size = 162340 }, + { url = "https://files.pythonhosted.org/packages/85/93/060b52deb249a5450460e0585c88a904a83aec474ab8e7aba787f45e79f2/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e", size = 159619 }, + { url = "https://files.pythonhosted.org/packages/dd/21/0274deb1cc0632cd587a9a0ec6b4674d9108e461cb4cd40d457adaeb0564/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1", size = 153980 }, + { url = "https://files.pythonhosted.org/packages/28/2b/e3d7d982858dccc11b31906976323d790dded2017a0572f093ff982d692f/charset_normalizer-3.4.4-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3", size = 152174 }, + { url = "https://files.pythonhosted.org/packages/6e/ff/4a269f8e35f1e58b2df52c131a1fa019acb7ef3f8697b7d464b07e9b492d/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6", size = 151666 }, + { url = "https://files.pythonhosted.org/packages/da/c9/ec39870f0b330d58486001dd8e532c6b9a905f5765f58a6f8204926b4a93/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88", size = 145550 }, + { url = "https://files.pythonhosted.org/packages/75/8f/d186ab99e40e0ed9f82f033d6e49001701c81244d01905dd4a6924191a30/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1", size = 163721 }, + { url = "https://files.pythonhosted.org/packages/96/b1/6047663b9744df26a7e479ac1e77af7134b1fcf9026243bb48ee2d18810f/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf", size = 152127 }, + { url = "https://files.pythonhosted.org/packages/59/78/e5a6eac9179f24f704d1be67d08704c3c6ab9f00963963524be27c18ed87/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318", size = 161175 }, + { url = "https://files.pythonhosted.org/packages/e5/43/0e626e42d54dd2f8dd6fc5e1c5ff00f05fbca17cb699bedead2cae69c62f/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c", size = 155375 }, + { url = "https://files.pythonhosted.org/packages/e9/91/d9615bf2e06f35e4997616ff31248c3657ed649c5ab9d35ea12fce54e380/charset_normalizer-3.4.4-cp39-cp39-win32.whl", hash = "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505", size = 99692 }, + { url = "https://files.pythonhosted.org/packages/d1/a9/6c040053909d9d1ef4fcab45fddec083aedc9052c10078339b47c8573ea8/charset_normalizer-3.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966", size = 107192 }, + { url = "https://files.pythonhosted.org/packages/f0/c6/4fa536b2c0cd3edfb7ccf8469fa0f363ea67b7213a842b90909ca33dd851/charset_normalizer-3.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50", size = 100220 }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294 }, +] + +[[package]] +name = "contourpy" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366 }, + { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226 }, + { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460 }, + { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623 }, + { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761 }, + { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015 }, + { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672 }, + { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688 }, + { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145 }, + { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019 }, + { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356 }, + { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915 }, + { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443 }, + { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548 }, + { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118 }, + { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162 }, + { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396 }, + { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297 }, + { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808 }, + { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181 }, + { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838 }, + { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549 }, + { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177 }, + { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735 }, + { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679 }, + { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549 }, + { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068 }, + { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833 }, + { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681 }, + { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283 }, + { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879 }, + { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573 }, + { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184 }, + { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262 }, + { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806 }, + { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710 }, + { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107 }, + { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458 }, + { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643 }, + { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301 }, + { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972 }, + { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375 }, + { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188 }, + { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644 }, + { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141 }, + { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469 }, + { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894 }, + { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829 }, + { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518 }, + { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350 }, + { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167 }, + { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279 }, + { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519 }, + { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922 }, + { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017 }, + { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773 }, + { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353 }, + { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817 }, + { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886 }, + { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008 }, + { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690 }, + { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894 }, + { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099 }, + { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838 }, +] + +[[package]] +name = "contourpy" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551 }, + { url = "https://files.pythonhosted.org/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399 }, + { url = "https://files.pythonhosted.org/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061 }, + { url = "https://files.pythonhosted.org/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956 }, + { url = "https://files.pythonhosted.org/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872 }, + { url = "https://files.pythonhosted.org/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027 }, + { url = "https://files.pythonhosted.org/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641 }, + { url = "https://files.pythonhosted.org/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075 }, + { url = "https://files.pythonhosted.org/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534 }, + { url = "https://files.pythonhosted.org/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188 }, + { url = "https://files.pythonhosted.org/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636 }, + { url = "https://files.pythonhosted.org/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636 }, + { url = "https://files.pythonhosted.org/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053 }, + { url = "https://files.pythonhosted.org/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985 }, + { url = "https://files.pythonhosted.org/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750 }, + { url = "https://files.pythonhosted.org/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246 }, + { url = "https://files.pythonhosted.org/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728 }, + { url = "https://files.pythonhosted.org/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762 }, + { url = "https://files.pythonhosted.org/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196 }, + { url = "https://files.pythonhosted.org/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017 }, + { url = "https://files.pythonhosted.org/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580 }, + { url = "https://files.pythonhosted.org/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530 }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688 }, + { url = "https://files.pythonhosted.org/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331 }, + { url = "https://files.pythonhosted.org/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963 }, + { url = "https://files.pythonhosted.org/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681 }, + { url = "https://files.pythonhosted.org/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674 }, + { url = "https://files.pythonhosted.org/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480 }, + { url = "https://files.pythonhosted.org/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489 }, + { url = "https://files.pythonhosted.org/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042 }, + { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630 }, + { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670 }, + { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694 }, + { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986 }, + { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060 }, + { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747 }, + { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895 }, + { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098 }, + { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535 }, + { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096 }, + { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090 }, + { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643 }, + { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443 }, + { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865 }, + { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162 }, + { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355 }, + { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935 }, + { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168 }, + { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550 }, + { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214 }, + { url = "https://files.pythonhosted.org/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681 }, + { url = "https://files.pythonhosted.org/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101 }, + { url = "https://files.pythonhosted.org/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599 }, + { url = "https://files.pythonhosted.org/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807 }, + { url = "https://files.pythonhosted.org/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729 }, + { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791 }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773 }, + { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149 }, + { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222 }, + { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234 }, + { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555 }, + { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238 }, + { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218 }, + { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867 }, + { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677 }, + { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234 }, + { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123 }, + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419 }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979 }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653 }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536 }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397 }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601 }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288 }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386 }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018 }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567 }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655 }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257 }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034 }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672 }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234 }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169 }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859 }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062 }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932 }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024 }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578 }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524 }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730 }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897 }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751 }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486 }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106 }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548 }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297 }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023 }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157 }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570 }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713 }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189 }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251 }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810 }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871 }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264 }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819 }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650 }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833 }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692 }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424 }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300 }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769 }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892 }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748 }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554 }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118 }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555 }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295 }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027 }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428 }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331 }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831 }, + { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809 }, + { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593 }, + { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202 }, + { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207 }, + { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315 }, +] + +[[package]] +name = "coverage" +version = "7.10.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/6c/3a3f7a46888e69d18abe3ccc6fe4cb16cccb1e6a2f99698931dafca489e6/coverage-7.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc04cc7a3db33664e0c2d10eb8990ff6b3536f6842c9590ae8da4c614b9ed05a", size = 217987 }, + { url = "https://files.pythonhosted.org/packages/03/94/952d30f180b1a916c11a56f5c22d3535e943aa22430e9e3322447e520e1c/coverage-7.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e201e015644e207139f7e2351980feb7040e6f4b2c2978892f3e3789d1c125e5", size = 218388 }, + { url = "https://files.pythonhosted.org/packages/50/2b/9e0cf8ded1e114bcd8b2fd42792b57f1c4e9e4ea1824cde2af93a67305be/coverage-7.10.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:240af60539987ced2c399809bd34f7c78e8abe0736af91c3d7d0e795df633d17", size = 245148 }, + { url = "https://files.pythonhosted.org/packages/19/20/d0384ac06a6f908783d9b6aa6135e41b093971499ec488e47279f5b846e6/coverage-7.10.7-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8421e088bc051361b01c4b3a50fd39a4b9133079a2229978d9d30511fd05231b", size = 246958 }, + { url = "https://files.pythonhosted.org/packages/60/83/5c283cff3d41285f8eab897651585db908a909c572bdc014bcfaf8a8b6ae/coverage-7.10.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be8ed3039ae7f7ac5ce058c308484787c86e8437e72b30bf5e88b8ea10f3c87", size = 248819 }, + { url = "https://files.pythonhosted.org/packages/60/22/02eb98fdc5ff79f423e990d877693e5310ae1eab6cb20ae0b0b9ac45b23b/coverage-7.10.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e28299d9f2e889e6d51b1f043f58d5f997c373cc12e6403b90df95b8b047c13e", size = 245754 }, + { url = "https://files.pythonhosted.org/packages/b4/bc/25c83bcf3ad141b32cd7dc45485ef3c01a776ca3aa8ef0a93e77e8b5bc43/coverage-7.10.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4e16bd7761c5e454f4efd36f345286d6f7c5fa111623c355691e2755cae3b9e", size = 246860 }, + { url = "https://files.pythonhosted.org/packages/3c/b7/95574702888b58c0928a6e982038c596f9c34d52c5e5107f1eef729399b5/coverage-7.10.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b1c81d0e5e160651879755c9c675b974276f135558cf4ba79fee7b8413a515df", size = 244877 }, + { url = "https://files.pythonhosted.org/packages/47/b6/40095c185f235e085df0e0b158f6bd68cc6e1d80ba6c7721dc81d97ec318/coverage-7.10.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:606cc265adc9aaedcc84f1f064f0e8736bc45814f15a357e30fca7ecc01504e0", size = 245108 }, + { url = "https://files.pythonhosted.org/packages/c8/50/4aea0556da7a4b93ec9168420d170b55e2eb50ae21b25062513d020c6861/coverage-7.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:10b24412692df990dbc34f8fb1b6b13d236ace9dfdd68df5b28c2e39cafbba13", size = 245752 }, + { url = "https://files.pythonhosted.org/packages/6a/28/ea1a84a60828177ae3b100cb6723838523369a44ec5742313ed7db3da160/coverage-7.10.7-cp310-cp310-win32.whl", hash = "sha256:b51dcd060f18c19290d9b8a9dd1e0181538df2ce0717f562fff6cf74d9fc0b5b", size = 220497 }, + { url = "https://files.pythonhosted.org/packages/fc/1a/a81d46bbeb3c3fd97b9602ebaa411e076219a150489bcc2c025f151bd52d/coverage-7.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:3a622ac801b17198020f09af3eaf45666b344a0d69fc2a6ffe2ea83aeef1d807", size = 221392 }, + { url = "https://files.pythonhosted.org/packages/d2/5d/c1a17867b0456f2e9ce2d8d4708a4c3a089947d0bec9c66cdf60c9e7739f/coverage-7.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a609f9c93113be646f44c2a0256d6ea375ad047005d7f57a5c15f614dc1b2f59", size = 218102 }, + { url = "https://files.pythonhosted.org/packages/54/f0/514dcf4b4e3698b9a9077f084429681bf3aad2b4a72578f89d7f643eb506/coverage-7.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:65646bb0359386e07639c367a22cf9b5bf6304e8630b565d0626e2bdf329227a", size = 218505 }, + { url = "https://files.pythonhosted.org/packages/20/f6/9626b81d17e2a4b25c63ac1b425ff307ecdeef03d67c9a147673ae40dc36/coverage-7.10.7-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5f33166f0dfcce728191f520bd2692914ec70fac2713f6bf3ce59c3deacb4699", size = 248898 }, + { url = "https://files.pythonhosted.org/packages/b0/ef/bd8e719c2f7417ba03239052e099b76ea1130ac0cbb183ee1fcaa58aaff3/coverage-7.10.7-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:35f5e3f9e455bb17831876048355dca0f758b6df22f49258cb5a91da23ef437d", size = 250831 }, + { url = "https://files.pythonhosted.org/packages/a5/b6/bf054de41ec948b151ae2b79a55c107f5760979538f5fb80c195f2517718/coverage-7.10.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da86b6d62a496e908ac2898243920c7992499c1712ff7c2b6d837cc69d9467e", size = 252937 }, + { url = "https://files.pythonhosted.org/packages/0f/e5/3860756aa6f9318227443c6ce4ed7bf9e70bb7f1447a0353f45ac5c7974b/coverage-7.10.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6b8b09c1fad947c84bbbc95eca841350fad9cbfa5a2d7ca88ac9f8d836c92e23", size = 249021 }, + { url = "https://files.pythonhosted.org/packages/26/0f/bd08bd042854f7fd07b45808927ebcce99a7ed0f2f412d11629883517ac2/coverage-7.10.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4376538f36b533b46f8971d3a3e63464f2c7905c9800db97361c43a2b14792ab", size = 250626 }, + { url = "https://files.pythonhosted.org/packages/8e/a7/4777b14de4abcc2e80c6b1d430f5d51eb18ed1d75fca56cbce5f2db9b36e/coverage-7.10.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:121da30abb574f6ce6ae09840dae322bef734480ceafe410117627aa54f76d82", size = 248682 }, + { url = "https://files.pythonhosted.org/packages/34/72/17d082b00b53cd45679bad682fac058b87f011fd8b9fe31d77f5f8d3a4e4/coverage-7.10.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:88127d40df529336a9836870436fc2751c339fbaed3a836d42c93f3e4bd1d0a2", size = 248402 }, + { url = "https://files.pythonhosted.org/packages/81/7a/92367572eb5bdd6a84bfa278cc7e97db192f9f45b28c94a9ca1a921c3577/coverage-7.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ba58bbcd1b72f136080c0bccc2400d66cc6115f3f906c499013d065ac33a4b61", size = 249320 }, + { url = "https://files.pythonhosted.org/packages/2f/88/a23cc185f6a805dfc4fdf14a94016835eeb85e22ac3a0e66d5e89acd6462/coverage-7.10.7-cp311-cp311-win32.whl", hash = "sha256:972b9e3a4094b053a4e46832b4bc829fc8a8d347160eb39d03f1690316a99c14", size = 220536 }, + { url = "https://files.pythonhosted.org/packages/fe/ef/0b510a399dfca17cec7bc2f05ad8bd78cf55f15c8bc9a73ab20c5c913c2e/coverage-7.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:a7b55a944a7f43892e28ad4bc0561dfd5f0d73e605d1aa5c3c976b52aea121d2", size = 221425 }, + { url = "https://files.pythonhosted.org/packages/51/7f/023657f301a276e4ba1850f82749bc136f5a7e8768060c2e5d9744a22951/coverage-7.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:736f227fb490f03c6488f9b6d45855f8e0fd749c007f9303ad30efab0e73c05a", size = 220103 }, + { url = "https://files.pythonhosted.org/packages/13/e4/eb12450f71b542a53972d19117ea5a5cea1cab3ac9e31b0b5d498df1bd5a/coverage-7.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bb3b9ddb87ef7725056572368040c32775036472d5a033679d1fa6c8dc08417", size = 218290 }, + { url = "https://files.pythonhosted.org/packages/37/66/593f9be12fc19fb36711f19a5371af79a718537204d16ea1d36f16bd78d2/coverage-7.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18afb24843cbc175687225cab1138c95d262337f5473512010e46831aa0c2973", size = 218515 }, + { url = "https://files.pythonhosted.org/packages/66/80/4c49f7ae09cafdacc73fbc30949ffe77359635c168f4e9ff33c9ebb07838/coverage-7.10.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399a0b6347bcd3822be369392932884b8216d0944049ae22925631a9b3d4ba4c", size = 250020 }, + { url = "https://files.pythonhosted.org/packages/a6/90/a64aaacab3b37a17aaedd83e8000142561a29eb262cede42d94a67f7556b/coverage-7.10.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314f2c326ded3f4b09be11bc282eb2fc861184bc95748ae67b360ac962770be7", size = 252769 }, + { url = "https://files.pythonhosted.org/packages/98/2e/2dda59afd6103b342e096f246ebc5f87a3363b5412609946c120f4e7750d/coverage-7.10.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c41e71c9cfb854789dee6fc51e46743a6d138b1803fab6cb860af43265b42ea6", size = 253901 }, + { url = "https://files.pythonhosted.org/packages/53/dc/8d8119c9051d50f3119bb4a75f29f1e4a6ab9415cd1fa8bf22fcc3fb3b5f/coverage-7.10.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc01f57ca26269c2c706e838f6422e2a8788e41b3e3c65e2f41148212e57cd59", size = 250413 }, + { url = "https://files.pythonhosted.org/packages/98/b3/edaff9c5d79ee4d4b6d3fe046f2b1d799850425695b789d491a64225d493/coverage-7.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a6442c59a8ac8b85812ce33bc4d05bde3fb22321fa8294e2a5b487c3505f611b", size = 251820 }, + { url = "https://files.pythonhosted.org/packages/11/25/9a0728564bb05863f7e513e5a594fe5ffef091b325437f5430e8cfb0d530/coverage-7.10.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:78a384e49f46b80fb4c901d52d92abe098e78768ed829c673fbb53c498bef73a", size = 249941 }, + { url = "https://files.pythonhosted.org/packages/e0/fd/ca2650443bfbef5b0e74373aac4df67b08180d2f184b482c41499668e258/coverage-7.10.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5e1e9802121405ede4b0133aa4340ad8186a1d2526de5b7c3eca519db7bb89fb", size = 249519 }, + { url = "https://files.pythonhosted.org/packages/24/79/f692f125fb4299b6f963b0745124998ebb8e73ecdfce4ceceb06a8c6bec5/coverage-7.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d41213ea25a86f69efd1575073d34ea11aabe075604ddf3d148ecfec9e1e96a1", size = 251375 }, + { url = "https://files.pythonhosted.org/packages/5e/75/61b9bbd6c7d24d896bfeec57acba78e0f8deac68e6baf2d4804f7aae1f88/coverage-7.10.7-cp312-cp312-win32.whl", hash = "sha256:77eb4c747061a6af8d0f7bdb31f1e108d172762ef579166ec84542f711d90256", size = 220699 }, + { url = "https://files.pythonhosted.org/packages/ca/f3/3bf7905288b45b075918d372498f1cf845b5b579b723c8fd17168018d5f5/coverage-7.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:f51328ffe987aecf6d09f3cd9d979face89a617eacdaea43e7b3080777f647ba", size = 221512 }, + { url = "https://files.pythonhosted.org/packages/5c/44/3e32dbe933979d05cf2dac5e697c8599cfe038aaf51223ab901e208d5a62/coverage-7.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:bda5e34f8a75721c96085903c6f2197dc398c20ffd98df33f866a9c8fd95f4bf", size = 220147 }, + { url = "https://files.pythonhosted.org/packages/9a/94/b765c1abcb613d103b64fcf10395f54d69b0ef8be6a0dd9c524384892cc7/coverage-7.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:981a651f543f2854abd3b5fcb3263aac581b18209be49863ba575de6edf4c14d", size = 218320 }, + { url = "https://files.pythonhosted.org/packages/72/4f/732fff31c119bb73b35236dd333030f32c4bfe909f445b423e6c7594f9a2/coverage-7.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:73ab1601f84dc804f7812dc297e93cd99381162da39c47040a827d4e8dafe63b", size = 218575 }, + { url = "https://files.pythonhosted.org/packages/87/02/ae7e0af4b674be47566707777db1aa375474f02a1d64b9323e5813a6cdd5/coverage-7.10.7-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a8b6f03672aa6734e700bbcd65ff050fd19cddfec4b031cc8cf1c6967de5a68e", size = 249568 }, + { url = "https://files.pythonhosted.org/packages/a2/77/8c6d22bf61921a59bce5471c2f1f7ac30cd4ac50aadde72b8c48d5727902/coverage-7.10.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10b6ba00ab1132a0ce4428ff68cf50a25efd6840a42cdf4239c9b99aad83be8b", size = 252174 }, + { url = "https://files.pythonhosted.org/packages/b1/20/b6ea4f69bbb52dac0aebd62157ba6a9dddbfe664f5af8122dac296c3ee15/coverage-7.10.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c79124f70465a150e89340de5963f936ee97097d2ef76c869708c4248c63ca49", size = 253447 }, + { url = "https://files.pythonhosted.org/packages/f9/28/4831523ba483a7f90f7b259d2018fef02cb4d5b90bc7c1505d6e5a84883c/coverage-7.10.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:69212fbccdbd5b0e39eac4067e20a4a5256609e209547d86f740d68ad4f04911", size = 249779 }, + { url = "https://files.pythonhosted.org/packages/a7/9f/4331142bc98c10ca6436d2d620c3e165f31e6c58d43479985afce6f3191c/coverage-7.10.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7ea7c6c9d0d286d04ed3541747e6597cbe4971f22648b68248f7ddcd329207f0", size = 251604 }, + { url = "https://files.pythonhosted.org/packages/ce/60/bda83b96602036b77ecf34e6393a3836365481b69f7ed7079ab85048202b/coverage-7.10.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b9be91986841a75042b3e3243d0b3cb0b2434252b977baaf0cd56e960fe1e46f", size = 249497 }, + { url = "https://files.pythonhosted.org/packages/5f/af/152633ff35b2af63977edd835d8e6430f0caef27d171edf2fc76c270ef31/coverage-7.10.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b281d5eca50189325cfe1f365fafade89b14b4a78d9b40b05ddd1fc7d2a10a9c", size = 249350 }, + { url = "https://files.pythonhosted.org/packages/9d/71/d92105d122bd21cebba877228990e1646d862e34a98bb3374d3fece5a794/coverage-7.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:99e4aa63097ab1118e75a848a28e40d68b08a5e19ce587891ab7fd04475e780f", size = 251111 }, + { url = "https://files.pythonhosted.org/packages/a2/9e/9fdb08f4bf476c912f0c3ca292e019aab6712c93c9344a1653986c3fd305/coverage-7.10.7-cp313-cp313-win32.whl", hash = "sha256:dc7c389dce432500273eaf48f410b37886be9208b2dd5710aaf7c57fd442c698", size = 220746 }, + { url = "https://files.pythonhosted.org/packages/b1/b1/a75fd25df44eab52d1931e89980d1ada46824c7a3210be0d3c88a44aaa99/coverage-7.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:cac0fdca17b036af3881a9d2729a850b76553f3f716ccb0360ad4dbc06b3b843", size = 221541 }, + { url = "https://files.pythonhosted.org/packages/14/3a/d720d7c989562a6e9a14b2c9f5f2876bdb38e9367126d118495b89c99c37/coverage-7.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:4b6f236edf6e2f9ae8fcd1332da4e791c1b6ba0dc16a2dc94590ceccb482e546", size = 220170 }, + { url = "https://files.pythonhosted.org/packages/bb/22/e04514bf2a735d8b0add31d2b4ab636fc02370730787c576bb995390d2d5/coverage-7.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a0ec07fd264d0745ee396b666d47cef20875f4ff2375d7c4f58235886cc1ef0c", size = 219029 }, + { url = "https://files.pythonhosted.org/packages/11/0b/91128e099035ece15da3445d9015e4b4153a6059403452d324cbb0a575fa/coverage-7.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd5e856ebb7bfb7672b0086846db5afb4567a7b9714b8a0ebafd211ec7ce6a15", size = 219259 }, + { url = "https://files.pythonhosted.org/packages/8b/51/66420081e72801536a091a0c8f8c1f88a5c4bf7b9b1bdc6222c7afe6dc9b/coverage-7.10.7-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f57b2a3c8353d3e04acf75b3fed57ba41f5c0646bbf1d10c7c282291c97936b4", size = 260592 }, + { url = "https://files.pythonhosted.org/packages/5d/22/9b8d458c2881b22df3db5bb3e7369e63d527d986decb6c11a591ba2364f7/coverage-7.10.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ef2319dd15a0b009667301a3f84452a4dc6fddfd06b0c5c53ea472d3989fbf0", size = 262768 }, + { url = "https://files.pythonhosted.org/packages/f7/08/16bee2c433e60913c610ea200b276e8eeef084b0d200bdcff69920bd5828/coverage-7.10.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83082a57783239717ceb0ad584de3c69cf581b2a95ed6bf81ea66034f00401c0", size = 264995 }, + { url = "https://files.pythonhosted.org/packages/20/9d/e53eb9771d154859b084b90201e5221bca7674ba449a17c101a5031d4054/coverage-7.10.7-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50aa94fb1fb9a397eaa19c0d5ec15a5edd03a47bf1a3a6111a16b36e190cff65", size = 259546 }, + { url = "https://files.pythonhosted.org/packages/ad/b0/69bc7050f8d4e56a89fb550a1577d5d0d1db2278106f6f626464067b3817/coverage-7.10.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2120043f147bebb41c85b97ac45dd173595ff14f2a584f2963891cbcc3091541", size = 262544 }, + { url = "https://files.pythonhosted.org/packages/ef/4b/2514b060dbd1bc0aaf23b852c14bb5818f244c664cb16517feff6bb3a5ab/coverage-7.10.7-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2fafd773231dd0378fdba66d339f84904a8e57a262f583530f4f156ab83863e6", size = 260308 }, + { url = "https://files.pythonhosted.org/packages/54/78/7ba2175007c246d75e496f64c06e94122bdb914790a1285d627a918bd271/coverage-7.10.7-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:0b944ee8459f515f28b851728ad224fa2d068f1513ef6b7ff1efafeb2185f999", size = 258920 }, + { url = "https://files.pythonhosted.org/packages/c0/b3/fac9f7abbc841409b9a410309d73bfa6cfb2e51c3fada738cb607ce174f8/coverage-7.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4b583b97ab2e3efe1b3e75248a9b333bd3f8b0b1b8e5b45578e05e5850dfb2c2", size = 261434 }, + { url = "https://files.pythonhosted.org/packages/ee/51/a03bec00d37faaa891b3ff7387192cef20f01604e5283a5fabc95346befa/coverage-7.10.7-cp313-cp313t-win32.whl", hash = "sha256:2a78cd46550081a7909b3329e2266204d584866e8d97b898cd7fb5ac8d888b1a", size = 221403 }, + { url = "https://files.pythonhosted.org/packages/53/22/3cf25d614e64bf6d8e59c7c669b20d6d940bb337bdee5900b9ca41c820bb/coverage-7.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:33a5e6396ab684cb43dc7befa386258acb2d7fae7f67330ebb85ba4ea27938eb", size = 222469 }, + { url = "https://files.pythonhosted.org/packages/49/a1/00164f6d30d8a01c3c9c48418a7a5be394de5349b421b9ee019f380df2a0/coverage-7.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:86b0e7308289ddde73d863b7683f596d8d21c7d8664ce1dee061d0bcf3fbb4bb", size = 220731 }, + { url = "https://files.pythonhosted.org/packages/23/9c/5844ab4ca6a4dd97a1850e030a15ec7d292b5c5cb93082979225126e35dd/coverage-7.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b06f260b16ead11643a5a9f955bd4b5fd76c1a4c6796aeade8520095b75de520", size = 218302 }, + { url = "https://files.pythonhosted.org/packages/f0/89/673f6514b0961d1f0e20ddc242e9342f6da21eaba3489901b565c0689f34/coverage-7.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:212f8f2e0612778f09c55dd4872cb1f64a1f2b074393d139278ce902064d5b32", size = 218578 }, + { url = "https://files.pythonhosted.org/packages/05/e8/261cae479e85232828fb17ad536765c88dd818c8470aca690b0ac6feeaa3/coverage-7.10.7-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3445258bcded7d4aa630ab8296dea4d3f15a255588dd535f980c193ab6b95f3f", size = 249629 }, + { url = "https://files.pythonhosted.org/packages/82/62/14ed6546d0207e6eda876434e3e8475a3e9adbe32110ce896c9e0c06bb9a/coverage-7.10.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb45474711ba385c46a0bfe696c695a929ae69ac636cda8f532be9e8c93d720a", size = 252162 }, + { url = "https://files.pythonhosted.org/packages/ff/49/07f00db9ac6478e4358165a08fb41b469a1b053212e8a00cb02f0d27a05f/coverage-7.10.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:813922f35bd800dca9994c5971883cbc0d291128a5de6b167c7aa697fcf59360", size = 253517 }, + { url = "https://files.pythonhosted.org/packages/a2/59/c5201c62dbf165dfbc91460f6dbbaa85a8b82cfa6131ac45d6c1bfb52deb/coverage-7.10.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:93c1b03552081b2a4423091d6fb3787265b8f86af404cff98d1b5342713bdd69", size = 249632 }, + { url = "https://files.pythonhosted.org/packages/07/ae/5920097195291a51fb00b3a70b9bbd2edbfe3c84876a1762bd1ef1565ebc/coverage-7.10.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:cc87dd1b6eaf0b848eebb1c86469b9f72a1891cb42ac7adcfbce75eadb13dd14", size = 251520 }, + { url = "https://files.pythonhosted.org/packages/b9/3c/a815dde77a2981f5743a60b63df31cb322c944843e57dbd579326625a413/coverage-7.10.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:39508ffda4f343c35f3236fe8d1a6634a51f4581226a1262769d7f970e73bffe", size = 249455 }, + { url = "https://files.pythonhosted.org/packages/aa/99/f5cdd8421ea656abefb6c0ce92556709db2265c41e8f9fc6c8ae0f7824c9/coverage-7.10.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:925a1edf3d810537c5a3abe78ec5530160c5f9a26b1f4270b40e62cc79304a1e", size = 249287 }, + { url = "https://files.pythonhosted.org/packages/c3/7a/e9a2da6a1fc5d007dd51fca083a663ab930a8c4d149c087732a5dbaa0029/coverage-7.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2c8b9a0636f94c43cd3576811e05b89aa9bc2d0a85137affc544ae5cb0e4bfbd", size = 250946 }, + { url = "https://files.pythonhosted.org/packages/ef/5b/0b5799aa30380a949005a353715095d6d1da81927d6dbed5def2200a4e25/coverage-7.10.7-cp314-cp314-win32.whl", hash = "sha256:b7b8288eb7cdd268b0304632da8cb0bb93fadcfec2fe5712f7b9cc8f4d487be2", size = 221009 }, + { url = "https://files.pythonhosted.org/packages/da/b0/e802fbb6eb746de006490abc9bb554b708918b6774b722bb3a0e6aa1b7de/coverage-7.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:1ca6db7c8807fb9e755d0379ccc39017ce0a84dcd26d14b5a03b78563776f681", size = 221804 }, + { url = "https://files.pythonhosted.org/packages/9e/e8/71d0c8e374e31f39e3389bb0bd19e527d46f00ea8571ec7ec8fd261d8b44/coverage-7.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:097c1591f5af4496226d5783d036bf6fd6cd0cbc132e071b33861de756efb880", size = 220384 }, + { url = "https://files.pythonhosted.org/packages/62/09/9a5608d319fa3eba7a2019addeacb8c746fb50872b57a724c9f79f146969/coverage-7.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a62c6ef0d50e6de320c270ff91d9dd0a05e7250cac2a800b7784bae474506e63", size = 219047 }, + { url = "https://files.pythonhosted.org/packages/f5/6f/f58d46f33db9f2e3647b2d0764704548c184e6f5e014bef528b7f979ef84/coverage-7.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9fa6e4dd51fe15d8738708a973470f67a855ca50002294852e9571cdbd9433f2", size = 219266 }, + { url = "https://files.pythonhosted.org/packages/74/5c/183ffc817ba68e0b443b8c934c8795553eb0c14573813415bd59941ee165/coverage-7.10.7-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8fb190658865565c549b6b4706856d6a7b09302c797eb2cf8e7fe9dabb043f0d", size = 260767 }, + { url = "https://files.pythonhosted.org/packages/0f/48/71a8abe9c1ad7e97548835e3cc1adbf361e743e9d60310c5f75c9e7bf847/coverage-7.10.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:affef7c76a9ef259187ef31599a9260330e0335a3011732c4b9effa01e1cd6e0", size = 262931 }, + { url = "https://files.pythonhosted.org/packages/84/fd/193a8fb132acfc0a901f72020e54be5e48021e1575bb327d8ee1097a28fd/coverage-7.10.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e16e07d85ca0cf8bafe5f5d23a0b850064e8e945d5677492b06bbe6f09cc699", size = 265186 }, + { url = "https://files.pythonhosted.org/packages/b1/8f/74ecc30607dd95ad50e3034221113ccb1c6d4e8085cc761134782995daae/coverage-7.10.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:03ffc58aacdf65d2a82bbeb1ffe4d01ead4017a21bfd0454983b88ca73af94b9", size = 259470 }, + { url = "https://files.pythonhosted.org/packages/0f/55/79ff53a769f20d71b07023ea115c9167c0bb56f281320520cf64c5298a96/coverage-7.10.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1b4fd784344d4e52647fd7857b2af5b3fbe6c239b0b5fa63e94eb67320770e0f", size = 262626 }, + { url = "https://files.pythonhosted.org/packages/88/e2/dac66c140009b61ac3fc13af673a574b00c16efdf04f9b5c740703e953c0/coverage-7.10.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ebbaddb2c19b71912c6f2518e791aa8b9f054985a0769bdb3a53ebbc765c6a1", size = 260386 }, + { url = "https://files.pythonhosted.org/packages/a2/f1/f48f645e3f33bb9ca8a496bc4a9671b52f2f353146233ebd7c1df6160440/coverage-7.10.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a2d9a3b260cc1d1dbdb1c582e63ddcf5363426a1a68faa0f5da28d8ee3c722a0", size = 258852 }, + { url = "https://files.pythonhosted.org/packages/bb/3b/8442618972c51a7affeead957995cfa8323c0c9bcf8fa5a027421f720ff4/coverage-7.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a3cc8638b2480865eaa3926d192e64ce6c51e3d29c849e09d5b4ad95efae5399", size = 261534 }, + { url = "https://files.pythonhosted.org/packages/b2/dc/101f3fa3a45146db0cb03f5b4376e24c0aac818309da23e2de0c75295a91/coverage-7.10.7-cp314-cp314t-win32.whl", hash = "sha256:67f8c5cbcd3deb7a60b3345dffc89a961a484ed0af1f6f73de91705cc6e31235", size = 221784 }, + { url = "https://files.pythonhosted.org/packages/4c/a1/74c51803fc70a8a40d7346660379e144be772bab4ac7bb6e6b905152345c/coverage-7.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e1ed71194ef6dea7ed2d5cb5f7243d4bcd334bfb63e59878519be558078f848d", size = 222905 }, + { url = "https://files.pythonhosted.org/packages/12/65/f116a6d2127df30bcafbceef0302d8a64ba87488bf6f73a6d8eebf060873/coverage-7.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:7fe650342addd8524ca63d77b2362b02345e5f1a093266787d210c70a50b471a", size = 220922 }, + { url = "https://files.pythonhosted.org/packages/a3/ad/d1c25053764b4c42eb294aae92ab617d2e4f803397f9c7c8295caa77a260/coverage-7.10.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fff7b9c3f19957020cac546c70025331113d2e61537f6e2441bc7657913de7d3", size = 217978 }, + { url = "https://files.pythonhosted.org/packages/52/2f/b9f9daa39b80ece0b9548bbb723381e29bc664822d9a12c2135f8922c22b/coverage-7.10.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bc91b314cef27742da486d6839b677b3f2793dfe52b51bbbb7cf736d5c29281c", size = 218370 }, + { url = "https://files.pythonhosted.org/packages/dd/6e/30d006c3b469e58449650642383dddf1c8fb63d44fdf92994bfd46570695/coverage-7.10.7-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:567f5c155eda8df1d3d439d40a45a6a5f029b429b06648235f1e7e51b522b396", size = 244802 }, + { url = "https://files.pythonhosted.org/packages/b0/49/8a070782ce7e6b94ff6a0b6d7c65ba6bc3091d92a92cef4cd4eb0767965c/coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2af88deffcc8a4d5974cf2d502251bc3b2db8461f0b66d80a449c33757aa9f40", size = 246625 }, + { url = "https://files.pythonhosted.org/packages/6a/92/1c1c5a9e8677ce56d42b97bdaca337b2d4d9ebe703d8c174ede52dbabd5f/coverage-7.10.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7315339eae3b24c2d2fa1ed7d7a38654cba34a13ef19fbcb9425da46d3dc594", size = 248399 }, + { url = "https://files.pythonhosted.org/packages/c0/54/b140edee7257e815de7426d5d9846b58505dffc29795fff2dfb7f8a1c5a0/coverage-7.10.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:912e6ebc7a6e4adfdbb1aec371ad04c68854cd3bf3608b3514e7ff9062931d8a", size = 245142 }, + { url = "https://files.pythonhosted.org/packages/e4/9e/6d6b8295940b118e8b7083b29226c71f6154f7ff41e9ca431f03de2eac0d/coverage-7.10.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f49a05acd3dfe1ce9715b657e28d138578bc40126760efb962322c56e9ca344b", size = 246284 }, + { url = "https://files.pythonhosted.org/packages/db/e5/5e957ca747d43dbe4d9714358375c7546cb3cb533007b6813fc20fce37ad/coverage-7.10.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cce2109b6219f22ece99db7644b9622f54a4e915dad65660ec435e89a3ea7cc3", size = 244353 }, + { url = "https://files.pythonhosted.org/packages/9a/45/540fc5cc92536a1b783b7ef99450bd55a4b3af234aae35a18a339973ce30/coverage-7.10.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:f3c887f96407cea3916294046fc7dab611c2552beadbed4ea901cbc6a40cc7a0", size = 244430 }, + { url = "https://files.pythonhosted.org/packages/75/0b/8287b2e5b38c8fe15d7e3398849bb58d382aedc0864ea0fa1820e8630491/coverage-7.10.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:635adb9a4507c9fd2ed65f39693fa31c9a3ee3a8e6dc64df033e8fdf52a7003f", size = 245311 }, + { url = "https://files.pythonhosted.org/packages/0c/1d/29724999984740f0c86d03e6420b942439bf5bd7f54d4382cae386a9d1e9/coverage-7.10.7-cp39-cp39-win32.whl", hash = "sha256:5a02d5a850e2979b0a014c412573953995174743a3f7fa4ea5a6e9a3c5617431", size = 220500 }, + { url = "https://files.pythonhosted.org/packages/43/11/4b1e6b129943f905ca54c339f343877b55b365ae2558806c1be4f7476ed5/coverage-7.10.7-cp39-cp39-win_amd64.whl", hash = "sha256:c134869d5ffe34547d14e174c866fd8fe2254918cc0a95e99052903bc1543e07", size = 221408 }, + { url = "https://files.pythonhosted.org/packages/ec/16/114df1c291c22cac3b0c127a73e0af5c12ed7bbb6558d310429a0ae24023/coverage-7.10.7-py3-none-any.whl", hash = "sha256:f7941f6f2fe6dd6807a1208737b8a0cbcf1cc6d7b07d24998ad2d63590868260", size = 209952 }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version < '3.10'" }, +] + +[[package]] +name = "coverage" +version = "7.13.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/11/43/3e4ac666cc35f231fa70c94e9f38459299de1a152813f9d2f60fc5f3ecaf/coverage-7.13.3.tar.gz", hash = "sha256:f7f6182d3dfb8802c1747eacbfe611b669455b69b7c037484bb1efbbb56711ac", size = 826832 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/07/1c8099563a8a6c389a31c2d0aa1497cee86d6248bb4b9ba5e779215db9f9/coverage-7.13.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0b4f345f7265cdbdb5ec2521ffff15fa49de6d6c39abf89fc7ad68aa9e3a55f0", size = 219143 }, + { url = "https://files.pythonhosted.org/packages/69/39/a892d44af7aa092cab70e0cc5cdbba18eeccfe1d6930695dab1742eef9e9/coverage-7.13.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:96c3be8bae9d0333e403cc1a8eb078a7f928b5650bae94a18fb4820cc993fb9b", size = 219663 }, + { url = "https://files.pythonhosted.org/packages/9a/25/9669dcf4c2bb4c3861469e6db20e52e8c11908cf53c14ec9b12e9fd4d602/coverage-7.13.3-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d6f4a21328ea49d38565b55599e1c02834e76583a6953e5586d65cb1efebd8f8", size = 246424 }, + { url = "https://files.pythonhosted.org/packages/f3/68/d9766c4e298aca62ea5d9543e1dd1e4e1439d7284815244d8b7db1840bfb/coverage-7.13.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fc970575799a9d17d5c3fafd83a0f6ccf5d5117cdc9ad6fbd791e9ead82418b0", size = 248228 }, + { url = "https://files.pythonhosted.org/packages/f0/e2/eea6cb4a4bd443741adf008d4cccec83a1f75401df59b6559aca2bdd9710/coverage-7.13.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:87ff33b652b3556b05e204ae20793d1f872161b0fa5ec8a9ac76f8430e152ed6", size = 250103 }, + { url = "https://files.pythonhosted.org/packages/db/77/664280ecd666c2191610842177e2fab9e5dbdeef97178e2078fed46a3d2c/coverage-7.13.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7df8759ee57b9f3f7b66799b7660c282f4375bef620ade1686d6a7b03699e75f", size = 247107 }, + { url = "https://files.pythonhosted.org/packages/2b/df/2a672eab99e0d0eba52d8a63e47dc92245eee26954d1b2d3c8f7d372151f/coverage-7.13.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f45c9bcb16bee25a798ccba8a2f6a1251b19de6a0d617bb365d7d2f386c4e20e", size = 248143 }, + { url = "https://files.pythonhosted.org/packages/a5/dc/a104e7a87c13e57a358b8b9199a8955676e1703bb372d79722b54978ae45/coverage-7.13.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:318b2e4753cbf611061e01b6cc81477e1cdfeb69c36c4a14e6595e674caadb56", size = 246148 }, + { url = "https://files.pythonhosted.org/packages/2b/89/e113d3a58dc20b03b7e59aed1e53ebc9ca6167f961876443e002b10e3ae9/coverage-7.13.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:24db3959de8ee394eeeca89ccb8ba25305c2da9a668dd44173394cbd5aa0777f", size = 246414 }, + { url = "https://files.pythonhosted.org/packages/3f/60/a3fd0a6e8d89b488396019a2268b6a1f25ab56d6d18f3be50f35d77b47dc/coverage-7.13.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:be14d0622125edef21b3a4d8cd2d138c4872bf6e38adc90fd92385e3312f406a", size = 247023 }, + { url = "https://files.pythonhosted.org/packages/19/fa/de4840bb939dbb22ba0648a6d8069fa91c9cf3b3fca8b0d1df461e885b3d/coverage-7.13.3-cp310-cp310-win32.whl", hash = "sha256:53be4aab8ddef18beb6188f3a3fdbf4d1af2277d098d4e618be3a8e6c88e74be", size = 221751 }, + { url = "https://files.pythonhosted.org/packages/de/87/233ff8b7ef62fb63f58c78623b50bef69681111e0c4d43504f422d88cda4/coverage-7.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:bfeee64ad8b4aae3233abb77eb6b52b51b05fa89da9645518671b9939a78732b", size = 222686 }, + { url = "https://files.pythonhosted.org/packages/ec/09/1ac74e37cf45f17eb41e11a21854f7f92a4c2d6c6098ef4a1becb0c6d8d3/coverage-7.13.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5907605ee20e126eeee2abe14aae137043c2c8af2fa9b38d2ab3b7a6b8137f73", size = 219276 }, + { url = "https://files.pythonhosted.org/packages/2e/cb/71908b08b21beb2c437d0d5870c4ec129c570ca1b386a8427fcdb11cf89c/coverage-7.13.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a88705500988c8acad8b8fd86c2a933d3aa96bec1ddc4bc5cb256360db7bbd00", size = 219776 }, + { url = "https://files.pythonhosted.org/packages/09/85/c4f3dd69232887666a2c0394d4be21c60ea934d404db068e6c96aa59cd87/coverage-7.13.3-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bbb5aa9016c4c29e3432e087aa29ebee3f8fda089cfbfb4e6d64bd292dcd1c2", size = 250196 }, + { url = "https://files.pythonhosted.org/packages/9c/cc/560ad6f12010344d0778e268df5ba9aa990aacccc310d478bf82bf3d302c/coverage-7.13.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0c2be202a83dde768937a61cdc5d06bf9fb204048ca199d93479488e6247656c", size = 252111 }, + { url = "https://files.pythonhosted.org/packages/f0/66/3193985fb2c58e91f94cfbe9e21a6fdf941e9301fe2be9e92c072e9c8f8c/coverage-7.13.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f45e32ef383ce56e0ca099b2e02fcdf7950be4b1b56afaab27b4ad790befe5b", size = 254217 }, + { url = "https://files.pythonhosted.org/packages/c5/78/f0f91556bf1faa416792e537c523c5ef9db9b1d32a50572c102b3d7c45b3/coverage-7.13.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6ed2e787249b922a93cd95c671cc9f4c9797a106e81b455c83a9ddb9d34590c0", size = 250318 }, + { url = "https://files.pythonhosted.org/packages/6f/aa/fc654e45e837d137b2c1f3a2cc09b4aea1e8b015acd2f774fa0f3d2ddeba/coverage-7.13.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:05dd25b21afffe545e808265897c35f32d3e4437663923e0d256d9ab5031fb14", size = 251909 }, + { url = "https://files.pythonhosted.org/packages/73/4d/ab53063992add8a9ca0463c9d92cce5994a29e17affd1c2daa091b922a93/coverage-7.13.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:46d29926349b5c4f1ea4fca95e8c892835515f3600995a383fa9a923b5739ea4", size = 249971 }, + { url = "https://files.pythonhosted.org/packages/29/25/83694b81e46fcff9899694a1b6f57573429cdd82b57932f09a698f03eea5/coverage-7.13.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:fae6a21537519c2af00245e834e5bf2884699cc7c1055738fd0f9dc37a3644ad", size = 249692 }, + { url = "https://files.pythonhosted.org/packages/d4/ef/d68fc304301f4cb4bf6aefa0045310520789ca38dabdfba9dbecd3f37919/coverage-7.13.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c672d4e2f0575a4ca2bf2aa0c5ced5188220ab806c1bb6d7179f70a11a017222", size = 250597 }, + { url = "https://files.pythonhosted.org/packages/8d/85/240ad396f914df361d0f71e912ddcedb48130c71b88dc4193fe3c0306f00/coverage-7.13.3-cp311-cp311-win32.whl", hash = "sha256:fcda51c918c7a13ad93b5f89a58d56e3a072c9e0ba5c231b0ed81404bf2648fb", size = 221773 }, + { url = "https://files.pythonhosted.org/packages/2f/71/165b3a6d3d052704a9ab52d11ea64ef3426745de517dda44d872716213a7/coverage-7.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:d1a049b5c51b3b679928dd35e47c4a2235e0b6128b479a7596d0ef5b42fa6301", size = 222711 }, + { url = "https://files.pythonhosted.org/packages/51/d0/0ddc9c5934cdd52639c5df1f1eb0fdab51bb52348f3a8d1c7db9c600d93a/coverage-7.13.3-cp311-cp311-win_arm64.whl", hash = "sha256:79f2670c7e772f4917895c3d89aad59e01f3dbe68a4ed2d0373b431fad1dcfba", size = 221377 }, + { url = "https://files.pythonhosted.org/packages/94/44/330f8e83b143f6668778ed61d17ece9dc48459e9e74669177de02f45fec5/coverage-7.13.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ed48b4170caa2c4420e0cd27dc977caaffc7eecc317355751df8373dddcef595", size = 219441 }, + { url = "https://files.pythonhosted.org/packages/08/e7/29db05693562c2e65bdf6910c0af2fd6f9325b8f43caf7a258413f369e30/coverage-7.13.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8f2adf4bcffbbec41f366f2e6dffb9d24e8172d16e91da5799c9b7ed6b5716e6", size = 219801 }, + { url = "https://files.pythonhosted.org/packages/90/ae/7f8a78249b02b0818db46220795f8ac8312ea4abd1d37d79ea81db5cae81/coverage-7.13.3-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:01119735c690786b6966a1e9f098da4cd7ca9174c4cfe076d04e653105488395", size = 251306 }, + { url = "https://files.pythonhosted.org/packages/62/71/a18a53d1808e09b2e9ebd6b47dad5e92daf4c38b0686b4c4d1b2f3e42b7f/coverage-7.13.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8bb09e83c603f152d855f666d70a71765ca8e67332e5829e62cb9466c176af23", size = 254051 }, + { url = "https://files.pythonhosted.org/packages/4a/0a/eb30f6455d04c5a3396d0696cad2df0269ae7444bb322f86ffe3376f7bf9/coverage-7.13.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b607a40cba795cfac6d130220d25962931ce101f2f478a29822b19755377fb34", size = 255160 }, + { url = "https://files.pythonhosted.org/packages/7b/7e/a45baac86274ce3ed842dbb84f14560c673ad30535f397d89164ec56c5df/coverage-7.13.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:44f14a62f5da2e9aedf9080e01d2cda61df39197d48e323538ec037336d68da8", size = 251709 }, + { url = "https://files.pythonhosted.org/packages/c0/df/dd0dc12f30da11349993f3e218901fdf82f45ee44773596050c8f5a1fb25/coverage-7.13.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:debf29e0b157769843dff0981cc76f79e0ed04e36bb773c6cac5f6029054bd8a", size = 253083 }, + { url = "https://files.pythonhosted.org/packages/ab/32/fc764c8389a8ce95cb90eb97af4c32f392ab0ac23ec57cadeefb887188d3/coverage-7.13.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:824bb95cd71604031ae9a48edb91fd6effde669522f960375668ed21b36e3ec4", size = 251227 }, + { url = "https://files.pythonhosted.org/packages/dd/ca/d025e9da8f06f24c34d2da9873957cfc5f7e0d67802c3e34d0caa8452130/coverage-7.13.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8f1010029a5b52dc427c8e2a8dbddb2303ddd180b806687d1acd1bb1d06649e7", size = 250794 }, + { url = "https://files.pythonhosted.org/packages/45/c7/76bf35d5d488ec8f68682eb8e7671acc50a6d2d1c1182de1d2b6d4ffad3b/coverage-7.13.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cd5dee4fd7659d8306ffa79eeaaafd91fa30a302dac3af723b9b469e549247e0", size = 252671 }, + { url = "https://files.pythonhosted.org/packages/bf/10/1921f1a03a7c209e1cb374f81a6b9b68b03cdb3ecc3433c189bc90e2a3d5/coverage-7.13.3-cp312-cp312-win32.whl", hash = "sha256:f7f153d0184d45f3873b3ad3ad22694fd73aadcb8cdbc4337ab4b41ea6b4dff1", size = 221986 }, + { url = "https://files.pythonhosted.org/packages/3c/7c/f5d93297f8e125a80c15545edc754d93e0ed8ba255b65e609b185296af01/coverage-7.13.3-cp312-cp312-win_amd64.whl", hash = "sha256:03a6e5e1e50819d6d7436f5bc40c92ded7e484e400716886ac921e35c133149d", size = 222793 }, + { url = "https://files.pythonhosted.org/packages/43/59/c86b84170015b4555ebabca8649bdf9f4a1f737a73168088385ed0f947c4/coverage-7.13.3-cp312-cp312-win_arm64.whl", hash = "sha256:51c4c42c0e7d09a822b08b6cf79b3c4db8333fffde7450da946719ba0d45730f", size = 221410 }, + { url = "https://files.pythonhosted.org/packages/81/f3/4c333da7b373e8c8bfb62517e8174a01dcc373d7a9083698e3b39d50d59c/coverage-7.13.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:853c3d3c79ff0db65797aad79dee6be020efd218ac4510f15a205f1e8d13ce25", size = 219468 }, + { url = "https://files.pythonhosted.org/packages/d6/31/0714337b7d23630c8de2f4d56acf43c65f8728a45ed529b34410683f7217/coverage-7.13.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f75695e157c83d374f88dcc646a60cb94173304a9258b2e74ba5a66b7614a51a", size = 219839 }, + { url = "https://files.pythonhosted.org/packages/12/99/bd6f2a2738144c98945666f90cae446ed870cecf0421c767475fcf42cdbe/coverage-7.13.3-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2d098709621d0819039f3f1e471ee554f55a0b2ac0d816883c765b14129b5627", size = 250828 }, + { url = "https://files.pythonhosted.org/packages/6f/99/97b600225fbf631e6f5bfd3ad5bcaf87fbb9e34ff87492e5a572ff01bbe2/coverage-7.13.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:16d23d6579cf80a474ad160ca14d8b319abaa6db62759d6eef53b2fc979b58c8", size = 253432 }, + { url = "https://files.pythonhosted.org/packages/5f/5c/abe2b3490bda26bd4f5e3e799be0bdf00bd81edebedc2c9da8d3ef288fa8/coverage-7.13.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:00d34b29a59d2076e6f318b30a00a69bf63687e30cd882984ed444e753990cc1", size = 254672 }, + { url = "https://files.pythonhosted.org/packages/31/ba/5d1957c76b40daff53971fe0adb84d9c2162b614280031d1d0653dd010c1/coverage-7.13.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ab6d72bffac9deb6e6cb0f61042e748de3f9f8e98afb0375a8e64b0b6e11746b", size = 251050 }, + { url = "https://files.pythonhosted.org/packages/69/dc/dffdf3bfe9d32090f047d3c3085378558cb4eb6778cda7de414ad74581ed/coverage-7.13.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e129328ad1258e49cae0123a3b5fcb93d6c2fa90d540f0b4c7cdcdc019aaa3dc", size = 252801 }, + { url = "https://files.pythonhosted.org/packages/87/51/cdf6198b0f2746e04511a30dc9185d7b8cdd895276c07bdb538e37f1cd50/coverage-7.13.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2213a8d88ed35459bda71597599d4eec7c2ebad201c88f0bfc2c26fd9b0dd2ea", size = 250763 }, + { url = "https://files.pythonhosted.org/packages/d7/1a/596b7d62218c1d69f2475b69cc6b211e33c83c902f38ee6ae9766dd422da/coverage-7.13.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:00dd3f02de6d5f5c9c3d95e3e036c3c2e2a669f8bf2d3ceb92505c4ce7838f67", size = 250587 }, + { url = "https://files.pythonhosted.org/packages/f7/46/52330d5841ff660f22c130b75f5e1dd3e352c8e7baef5e5fef6b14e3e991/coverage-7.13.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f9bada7bc660d20b23d7d312ebe29e927b655cf414dadcdb6335a2075695bd86", size = 252358 }, + { url = "https://files.pythonhosted.org/packages/36/8a/e69a5be51923097ba7d5cff9724466e74fe486e9232020ba97c809a8b42b/coverage-7.13.3-cp313-cp313-win32.whl", hash = "sha256:75b3c0300f3fa15809bd62d9ca8b170eb21fcf0100eb4b4154d6dc8b3a5bbd43", size = 222007 }, + { url = "https://files.pythonhosted.org/packages/0a/09/a5a069bcee0d613bdd48ee7637fa73bc09e7ed4342b26890f2df97cc9682/coverage-7.13.3-cp313-cp313-win_amd64.whl", hash = "sha256:a2f7589c6132c44c53f6e705e1a6677e2b7821378c22f7703b2cf5388d0d4587", size = 222812 }, + { url = "https://files.pythonhosted.org/packages/3d/4f/d62ad7dfe32f9e3d4a10c178bb6f98b10b083d6e0530ca202b399371f6c1/coverage-7.13.3-cp313-cp313-win_arm64.whl", hash = "sha256:123ceaf2b9d8c614f01110f908a341e05b1b305d6b2ada98763b9a5a59756051", size = 221433 }, + { url = "https://files.pythonhosted.org/packages/04/b2/4876c46d723d80b9c5b695f1a11bf5f7c3dabf540ec00d6edc076ff025e6/coverage-7.13.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:cc7fd0f726795420f3678ac82ff882c7fc33770bd0074463b5aef7293285ace9", size = 220162 }, + { url = "https://files.pythonhosted.org/packages/fc/04/9942b64a0e0bdda2c109f56bda42b2a59d9d3df4c94b85a323c1cae9fc77/coverage-7.13.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d358dc408edc28730aed5477a69338e444e62fba0b7e9e4a131c505fadad691e", size = 220510 }, + { url = "https://files.pythonhosted.org/packages/5a/82/5cfe1e81eae525b74669f9795f37eb3edd4679b873d79d1e6c1c14ee6c1c/coverage-7.13.3-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5d67b9ed6f7b5527b209b24b3df9f2e5bf0198c1bbf99c6971b0e2dcb7e2a107", size = 261801 }, + { url = "https://files.pythonhosted.org/packages/0b/ec/a553d7f742fd2cd12e36a16a7b4b3582d5934b496ef2b5ea8abeb10903d4/coverage-7.13.3-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:59224bfb2e9b37c1335ae35d00daa3a5b4e0b1a20f530be208fff1ecfa436f43", size = 263882 }, + { url = "https://files.pythonhosted.org/packages/e1/58/8f54a2a93e3d675635bc406de1c9ac8d551312142ff52c9d71b5e533ad45/coverage-7.13.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae9306b5299e31e31e0d3b908c66bcb6e7e3ddca143dea0266e9ce6c667346d3", size = 266306 }, + { url = "https://files.pythonhosted.org/packages/1a/be/e593399fd6ea1f00aee79ebd7cc401021f218d34e96682a92e1bae092ff6/coverage-7.13.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:343aaeb5f8bb7bcd38620fd7bc56e6ee8207847d8c6103a1e7b72322d381ba4a", size = 261051 }, + { url = "https://files.pythonhosted.org/packages/5c/e5/e9e0f6138b21bcdebccac36fbfde9cf15eb1bbcea9f5b1f35cd1f465fb91/coverage-7.13.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b2182129f4c101272ff5f2f18038d7b698db1bf8e7aa9e615cb48440899ad32e", size = 263868 }, + { url = "https://files.pythonhosted.org/packages/9a/bf/de72cfebb69756f2d4a2dde35efcc33c47d85cd3ebdf844b3914aac2ef28/coverage-7.13.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:94d2ac94bd0cc57c5626f52f8c2fffed1444b5ae8c9fc68320306cc2b255e155", size = 261498 }, + { url = "https://files.pythonhosted.org/packages/f2/91/4a2d313a70fc2e98ca53afd1c8ce67a89b1944cd996589a5b1fe7fbb3e5c/coverage-7.13.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:65436cde5ecabe26fb2f0bf598962f0a054d3f23ad529361326ac002c61a2a1e", size = 260394 }, + { url = "https://files.pythonhosted.org/packages/40/83/25113af7cf6941e779eb7ed8de2a677865b859a07ccee9146d4cc06a03e3/coverage-7.13.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:db83b77f97129813dbd463a67e5335adc6a6a91db652cc085d60c2d512746f96", size = 262579 }, + { url = "https://files.pythonhosted.org/packages/1e/19/a5f2b96262977e82fb9aabbe19b4d83561f5d063f18dde3e72f34ffc3b2f/coverage-7.13.3-cp313-cp313t-win32.whl", hash = "sha256:dfb428e41377e6b9ba1b0a32df6db5409cb089a0ed1d0a672dc4953ec110d84f", size = 222679 }, + { url = "https://files.pythonhosted.org/packages/81/82/ef1747b88c87a5c7d7edc3704799ebd650189a9158e680a063308b6125ef/coverage-7.13.3-cp313-cp313t-win_amd64.whl", hash = "sha256:5badd7e596e6b0c89aa8ec6d37f4473e4357f982ce57f9a2942b0221cd9cf60c", size = 223740 }, + { url = "https://files.pythonhosted.org/packages/1c/4c/a67c7bb5b560241c22736a9cb2f14c5034149ffae18630323fde787339e4/coverage-7.13.3-cp313-cp313t-win_arm64.whl", hash = "sha256:989aa158c0eb19d83c76c26f4ba00dbb272485c56e452010a3450bdbc9daafd9", size = 221996 }, + { url = "https://files.pythonhosted.org/packages/5e/b3/677bb43427fed9298905106f39c6520ac75f746f81b8f01104526a8026e4/coverage-7.13.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c6f6169bbdbdb85aab8ac0392d776948907267fcc91deeacf6f9d55f7a83ae3b", size = 219513 }, + { url = "https://files.pythonhosted.org/packages/42/53/290046e3bbf8986cdb7366a42dab3440b9983711eaff044a51b11006c67b/coverage-7.13.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2f5e731627a3d5ef11a2a35aa0c6f7c435867c7ccbc391268eb4f2ca5dbdcc10", size = 219850 }, + { url = "https://files.pythonhosted.org/packages/ea/2b/ab41f10345ba2e49d5e299be8663be2b7db33e77ac1b85cd0af985ea6406/coverage-7.13.3-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:9db3a3285d91c0b70fab9f39f0a4aa37d375873677efe4e71e58d8321e8c5d39", size = 250886 }, + { url = "https://files.pythonhosted.org/packages/72/2d/b3f6913ee5a1d5cdd04106f257e5fac5d048992ffc2d9995d07b0f17739f/coverage-7.13.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:06e49c5897cb12e3f7ecdc111d44e97c4f6d0557b81a7a0204ed70a8b038f86f", size = 253393 }, + { url = "https://files.pythonhosted.org/packages/f0/f6/b1f48810ffc6accf49a35b9943636560768f0812330f7456aa87dc39aff5/coverage-7.13.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb25061a66802df9fc13a9ba1967d25faa4dae0418db469264fd9860a921dde4", size = 254740 }, + { url = "https://files.pythonhosted.org/packages/57/d0/e59c54f9be0b61808f6bc4c8c4346bd79f02dd6bbc3f476ef26124661f20/coverage-7.13.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:99fee45adbb1caeb914da16f70e557fb7ff6ddc9e4b14de665bd41af631367ef", size = 250905 }, + { url = "https://files.pythonhosted.org/packages/d5/f7/5291bcdf498bafbee3796bb32ef6966e9915aebd4d0954123c8eae921c32/coverage-7.13.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:318002f1fd819bdc1651c619268aa5bc853c35fa5cc6d1e8c96bd9cd6c828b75", size = 252753 }, + { url = "https://files.pythonhosted.org/packages/a0/a9/1dcafa918c281554dae6e10ece88c1add82db685be123e1b05c2056ff3fb/coverage-7.13.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:71295f2d1d170b9977dc386d46a7a1b7cbb30e5405492529b4c930113a33f895", size = 250716 }, + { url = "https://files.pythonhosted.org/packages/44/bb/4ea4eabcce8c4f6235df6e059fbc5db49107b24c4bdffc44aee81aeca5a8/coverage-7.13.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:5b1ad2e0dc672625c44bc4fe34514602a9fd8b10d52ddc414dc585f74453516c", size = 250530 }, + { url = "https://files.pythonhosted.org/packages/6d/31/4a6c9e6a71367e6f923b27b528448c37f4e959b7e4029330523014691007/coverage-7.13.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b2beb64c145593a50d90db5c7178f55daeae129123b0d265bdb3cbec83e5194a", size = 252186 }, + { url = "https://files.pythonhosted.org/packages/27/92/e1451ef6390a4f655dc42da35d9971212f7abbbcad0bdb7af4407897eb76/coverage-7.13.3-cp314-cp314-win32.whl", hash = "sha256:3d1aed4f4e837a832df2f3b4f68a690eede0de4560a2dbc214ea0bc55aabcdb4", size = 222253 }, + { url = "https://files.pythonhosted.org/packages/8a/98/78885a861a88de020c32a2693487c37d15a9873372953f0c3c159d575a43/coverage-7.13.3-cp314-cp314-win_amd64.whl", hash = "sha256:9f9efbbaf79f935d5fbe3ad814825cbce4f6cdb3054384cb49f0c0f496125fa0", size = 223069 }, + { url = "https://files.pythonhosted.org/packages/eb/fb/3784753a48da58a5337972abf7ca58b1fb0f1bda21bc7b4fae992fd28e47/coverage-7.13.3-cp314-cp314-win_arm64.whl", hash = "sha256:31b6e889c53d4e6687ca63706148049494aace140cffece1c4dc6acadb70a7b3", size = 221633 }, + { url = "https://files.pythonhosted.org/packages/40/f9/75b732d9674d32cdbffe801ed5f770786dd1c97eecedef2125b0d25102dc/coverage-7.13.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c5e9787cec750793a19a28df7edd85ac4e49d3fb91721afcdc3b86f6c08d9aa8", size = 220243 }, + { url = "https://files.pythonhosted.org/packages/cf/7e/2868ec95de5a65703e6f0c87407ea822d1feb3619600fbc3c1c4fa986090/coverage-7.13.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e5b86db331c682fd0e4be7098e6acee5e8a293f824d41487c667a93705d415ca", size = 220515 }, + { url = "https://files.pythonhosted.org/packages/7d/eb/9f0d349652fced20bcaea0f67fc5777bd097c92369f267975732f3dc5f45/coverage-7.13.3-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:edc7754932682d52cf6e7a71806e529ecd5ce660e630e8bd1d37109a2e5f63ba", size = 261874 }, + { url = "https://files.pythonhosted.org/packages/ee/a5/6619bc4a6c7b139b16818149a3e74ab2e21599ff9a7b6811b6afde99f8ec/coverage-7.13.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d3a16d6398666510a6886f67f43d9537bfd0e13aca299688a19daa84f543122f", size = 264004 }, + { url = "https://files.pythonhosted.org/packages/29/b7/90aa3fc645a50c6f07881fca4fd0ba21e3bfb6ce3a7078424ea3a35c74c9/coverage-7.13.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:303d38b19626c1981e1bb067a9928236d88eb0e4479b18a74812f05a82071508", size = 266408 }, + { url = "https://files.pythonhosted.org/packages/62/55/08bb2a1e4dcbae384e638f0effef486ba5987b06700e481691891427d879/coverage-7.13.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:284e06eadfe15ddfee2f4ee56631f164ef897a7d7d5a15bca5f0bb88889fc5ba", size = 260977 }, + { url = "https://files.pythonhosted.org/packages/9b/76/8bd4ae055a42d8fb5dd2230e5cf36ff2e05f85f2427e91b11a27fea52ed7/coverage-7.13.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d401f0864a1d3198422816878e4e84ca89ec1c1bf166ecc0ae01380a39b888cd", size = 263868 }, + { url = "https://files.pythonhosted.org/packages/e3/f9/ba000560f11e9e32ec03df5aa8477242c2d95b379c99ac9a7b2e7fbacb1a/coverage-7.13.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3f379b02c18a64de78c4ccdddf1c81c2c5ae1956c72dacb9133d7dd7809794ab", size = 261474 }, + { url = "https://files.pythonhosted.org/packages/90/4b/4de4de8f9ca7af4733bfcf4baa440121b7dbb3856daf8428ce91481ff63b/coverage-7.13.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:7a482f2da9086971efb12daca1d6547007ede3674ea06e16d7663414445c683e", size = 260317 }, + { url = "https://files.pythonhosted.org/packages/05/71/5cd8436e2c21410ff70be81f738c0dddea91bcc3189b1517d26e0102ccb3/coverage-7.13.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:562136b0d401992118d9b49fbee5454e16f95f85b120a4226a04d816e33fe024", size = 262635 }, + { url = "https://files.pythonhosted.org/packages/e7/f8/2834bb45bdd70b55a33ec354b8b5f6062fc90e5bb787e14385903a979503/coverage-7.13.3-cp314-cp314t-win32.whl", hash = "sha256:ca46e5c3be3b195098dd88711890b8011a9fa4feca942292bb84714ce5eab5d3", size = 223035 }, + { url = "https://files.pythonhosted.org/packages/26/75/f8290f0073c00d9ae14056d2b84ab92dff21d5370e464cb6cb06f52bf580/coverage-7.13.3-cp314-cp314t-win_amd64.whl", hash = "sha256:06d316dbb3d9fd44cca05b2dbcfbef22948493d63a1f28e828d43e6cc505fed8", size = 224142 }, + { url = "https://files.pythonhosted.org/packages/03/01/43ac78dfea8946c4a9161bbc034b5549115cb2b56781a4b574927f0d141a/coverage-7.13.3-cp314-cp314t-win_arm64.whl", hash = "sha256:299d66e9218193f9dc6e4880629ed7c4cd23486005166247c283fb98531656c3", size = 222166 }, + { url = "https://files.pythonhosted.org/packages/7d/fb/70af542d2d938c778c9373ce253aa4116dbe7c0a5672f78b2b2ae0e1b94b/coverage-7.13.3-py3-none-any.whl", hash = "sha256:90a8af9dba6429b2573199622d72e0ebf024d6276f16abce394ad4d181bb0910", size = 211237 }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version >= '3.10' and python_full_version <= '3.11'" }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, +] + +[[package]] +name = "debugpy" +version = "1.8.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/b7/cd8080344452e4874aae67c40d8940e2b4d47b01601a8fd9f44786c757c7/debugpy-1.8.20.tar.gz", hash = "sha256:55bc8701714969f1ab89a6d5f2f3d40c36f91b2cbe2f65d98bf8196f6a6a2c33", size = 1645207 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/be/8bd693a0b9d53d48c8978fa5d889e06f3b5b03e45fd1ea1e78267b4887cb/debugpy-1.8.20-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:157e96ffb7f80b3ad36d808646198c90acb46fdcfd8bb1999838f0b6f2b59c64", size = 2099192 }, + { url = "https://files.pythonhosted.org/packages/77/1b/85326d07432086a06361d493d2743edd0c4fc2ef62162be7f8618441ac37/debugpy-1.8.20-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:c1178ae571aff42e61801a38b007af504ec8e05fde1c5c12e5a7efef21009642", size = 3088568 }, + { url = "https://files.pythonhosted.org/packages/e8/60/3e08462ee3eccd10998853eb35947c416e446bfe2bc37dbb886b9044586c/debugpy-1.8.20-cp310-cp310-win32.whl", hash = "sha256:c29dd9d656c0fbd77906a6e6a82ae4881514aa3294b94c903ff99303e789b4a2", size = 5284399 }, + { url = "https://files.pythonhosted.org/packages/72/43/09d49106e770fe558ced5e80df2e3c2ebee10e576eda155dcc5670473663/debugpy-1.8.20-cp310-cp310-win_amd64.whl", hash = "sha256:3ca85463f63b5dd0aa7aaa933d97cbc47c174896dcae8431695872969f981893", size = 5316388 }, + { url = "https://files.pythonhosted.org/packages/51/56/c3baf5cbe4dd77427fd9aef99fcdade259ad128feeb8a786c246adb838e5/debugpy-1.8.20-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:eada6042ad88fa1571b74bd5402ee8b86eded7a8f7b827849761700aff171f1b", size = 2208318 }, + { url = "https://files.pythonhosted.org/packages/9a/7d/4fa79a57a8e69fe0d9763e98d1110320f9ecd7f1f362572e3aafd7417c9d/debugpy-1.8.20-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:7de0b7dfeedc504421032afba845ae2a7bcc32ddfb07dae2c3ca5442f821c344", size = 3171493 }, + { url = "https://files.pythonhosted.org/packages/7d/f2/1e8f8affe51e12a26f3a8a8a4277d6e60aa89d0a66512f63b1e799d424a4/debugpy-1.8.20-cp311-cp311-win32.whl", hash = "sha256:773e839380cf459caf73cc533ea45ec2737a5cc184cf1b3b796cd4fd98504fec", size = 5209240 }, + { url = "https://files.pythonhosted.org/packages/d5/92/1cb532e88560cbee973396254b21bece8c5d7c2ece958a67afa08c9f10dc/debugpy-1.8.20-cp311-cp311-win_amd64.whl", hash = "sha256:1f7650546e0eded1902d0f6af28f787fa1f1dbdbc97ddabaf1cd963a405930cb", size = 5233481 }, + { url = "https://files.pythonhosted.org/packages/14/57/7f34f4736bfb6e00f2e4c96351b07805d83c9a7b33d28580ae01374430f7/debugpy-1.8.20-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:4ae3135e2089905a916909ef31922b2d733d756f66d87345b3e5e52b7a55f13d", size = 2550686 }, + { url = "https://files.pythonhosted.org/packages/ab/78/b193a3975ca34458f6f0e24aaf5c3e3da72f5401f6054c0dfd004b41726f/debugpy-1.8.20-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:88f47850a4284b88bd2bfee1f26132147d5d504e4e86c22485dfa44b97e19b4b", size = 4310588 }, + { url = "https://files.pythonhosted.org/packages/c1/55/f14deb95eaf4f30f07ef4b90a8590fc05d9e04df85ee379712f6fb6736d7/debugpy-1.8.20-cp312-cp312-win32.whl", hash = "sha256:4057ac68f892064e5f98209ab582abfee3b543fb55d2e87610ddc133a954d390", size = 5331372 }, + { url = "https://files.pythonhosted.org/packages/a1/39/2bef246368bd42f9bd7cba99844542b74b84dacbdbea0833e610f384fee8/debugpy-1.8.20-cp312-cp312-win_amd64.whl", hash = "sha256:a1a8f851e7cf171330679ef6997e9c579ef6dd33c9098458bd9986a0f4ca52e3", size = 5372835 }, + { url = "https://files.pythonhosted.org/packages/15/e2/fc500524cc6f104a9d049abc85a0a8b3f0d14c0a39b9c140511c61e5b40b/debugpy-1.8.20-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:5dff4bb27027821fdfcc9e8f87309a28988231165147c31730128b1c983e282a", size = 2539560 }, + { url = "https://files.pythonhosted.org/packages/90/83/fb33dcea789ed6018f8da20c5a9bc9d82adc65c0c990faed43f7c955da46/debugpy-1.8.20-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:84562982dd7cf5ebebfdea667ca20a064e096099997b175fe204e86817f64eaf", size = 4293272 }, + { url = "https://files.pythonhosted.org/packages/a6/25/b1e4a01bfb824d79a6af24b99ef291e24189080c93576dfd9b1a2815cd0f/debugpy-1.8.20-cp313-cp313-win32.whl", hash = "sha256:da11dea6447b2cadbf8ce2bec59ecea87cc18d2c574980f643f2d2dfe4862393", size = 5331208 }, + { url = "https://files.pythonhosted.org/packages/13/f7/a0b368ce54ffff9e9028c098bd2d28cfc5b54f9f6c186929083d4c60ba58/debugpy-1.8.20-cp313-cp313-win_amd64.whl", hash = "sha256:eb506e45943cab2efb7c6eafdd65b842f3ae779f020c82221f55aca9de135ed7", size = 5372930 }, + { url = "https://files.pythonhosted.org/packages/33/2e/f6cb9a8a13f5058f0a20fe09711a7b726232cd5a78c6a7c05b2ec726cff9/debugpy-1.8.20-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9c74df62fc064cd5e5eaca1353a3ef5a5d50da5eb8058fcef63106f7bebe6173", size = 2538066 }, + { url = "https://files.pythonhosted.org/packages/c5/56/6ddca50b53624e1ca3ce1d1e49ff22db46c47ea5fb4c0cc5c9b90a616364/debugpy-1.8.20-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:077a7447589ee9bc1ff0cdf443566d0ecf540ac8aa7333b775ebcb8ce9f4ecad", size = 4269425 }, + { url = "https://files.pythonhosted.org/packages/c5/d9/d64199c14a0d4c476df46c82470a3ce45c8d183a6796cfb5e66533b3663c/debugpy-1.8.20-cp314-cp314-win32.whl", hash = "sha256:352036a99dd35053b37b7803f748efc456076f929c6a895556932eaf2d23b07f", size = 5331407 }, + { url = "https://files.pythonhosted.org/packages/e0/d9/1f07395b54413432624d61524dfd98c1a7c7827d2abfdb8829ac92638205/debugpy-1.8.20-cp314-cp314-win_amd64.whl", hash = "sha256:a98eec61135465b062846112e5ecf2eebb855305acc1dfbae43b72903b8ab5be", size = 5372521 }, + { url = "https://files.pythonhosted.org/packages/2b/6b/668f21567e3250463beb6a401e7d598baa2a0907224000d7f68b9442c243/debugpy-1.8.20-cp39-cp39-macosx_15_0_x86_64.whl", hash = "sha256:bff8990f040dacb4c314864da95f7168c5a58a30a66e0eea0fb85e2586a92cd6", size = 2100484 }, + { url = "https://files.pythonhosted.org/packages/cf/49/223143d1da586b891f35a45515f152742ad85bfc10d2e02e697f65c83b32/debugpy-1.8.20-cp39-cp39-manylinux_2_34_x86_64.whl", hash = "sha256:70ad9ae09b98ac307b82c16c151d27ee9d68ae007a2e7843ba621b5ce65333b5", size = 3081272 }, + { url = "https://files.pythonhosted.org/packages/b1/24/9f219c9290fe8bee4f63f9af8ebac440c802e6181d7f39a79abcb5fdff2f/debugpy-1.8.20-cp39-cp39-win32.whl", hash = "sha256:9eeed9f953f9a23850c85d440bf51e3c56ed5d25f8560eeb29add815bd32f7ee", size = 5285196 }, + { url = "https://files.pythonhosted.org/packages/ba/f3/4a12d7b1b09e3b79ba6e3edfa0c677b8b8bdf110bc4b3607e0f29fb4e8b3/debugpy-1.8.20-cp39-cp39-win_amd64.whl", hash = "sha256:760813b4fff517c75bfe7923033c107104e76acfef7bda011ffea8736e9a66f8", size = 5317163 }, + { url = "https://files.pythonhosted.org/packages/e0/c3/7f67dea8ccf8fdcb9c99033bbe3e90b9e7395415843accb81428c441be2d/debugpy-1.8.20-py2.py3-none-any.whl", hash = "sha256:5be9bed9ae3be00665a06acaa48f8329d2b9632f15fd09f6a9a8c8d9907e54d7", size = 5337658 }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190 }, +] + +[[package]] +name = "docutils" +version = "0.21.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408 }, +] + +[[package]] +name = "docutils" +version = "0.22.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz", hash = "sha256:4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968", size = 2291750 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl", hash = "sha256:d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de", size = 633196 }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740 }, +] + +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317 }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024 }, +] + +[[package]] +name = "fidimag" +version = "3.0" +source = { editable = "." } +dependencies = [ + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "ipython", version = "8.38.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "ipython", version = "9.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "ipywidgets" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "matplotlib", version = "3.10.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "psutil" }, + { name = "pyvtk" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] + +[package.optional-dependencies] +dev = [ + { name = "nbval" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest-cov" }, +] +docs = [ + { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "sphinx-rtd-theme" }, +] +test = [ + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] + +[package.metadata] +requires-dist = [ + { name = "ipython", specifier = ">=7.0" }, + { name = "ipywidgets", specifier = ">=7.0" }, + { name = "matplotlib", specifier = ">=3.0" }, + { name = "nbval", marker = "extra == 'dev'" }, + { name = "numpy", specifier = ">=1.21" }, + { name = "psutil", specifier = ">=5.0" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=6.0" }, + { name = "pytest", marker = "extra == 'test'", specifier = ">=6.0" }, + { name = "pytest-cov", marker = "extra == 'dev'" }, + { name = "pyvtk" }, + { name = "scipy", specifier = ">=1.7" }, + { name = "sphinx", marker = "extra == 'docs'" }, + { name = "sphinx-rtd-theme", marker = "extra == 'docs'" }, +] + +[[package]] +name = "fonttools" +version = "4.60.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/3e/c4/db6a7b5eb0656534c3aa2596c2c5e18830d74f1b9aa5aa8a7dff63a0b11d/fonttools-4.60.2.tar.gz", hash = "sha256:d29552e6b155ebfc685b0aecf8d429cb76c14ab734c22ef5d3dea6fdf800c92c", size = 3562254 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/de/9e10a99fb3070accb8884886a41a4ce54e49bf2fa4fc63f48a6cf2061713/fonttools-4.60.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4e36fadcf7e8ca6e34d490eef86ed638d6fd9c55d2f514b05687622cfc4a7050", size = 2850403 }, + { url = "https://files.pythonhosted.org/packages/e4/40/d5b369d1073b134f600a94a287e13b5bdea2191ba6347d813fa3da00e94a/fonttools-4.60.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6e500fc9c04bee749ceabfc20cb4903f6981c2139050d85720ea7ada61b75d5c", size = 2398629 }, + { url = "https://files.pythonhosted.org/packages/7c/b5/123819369aaf99d1e4dc49f1de1925d4edc7379114d15a56a7dd2e9d56e6/fonttools-4.60.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22efea5e784e1d1cd8d7b856c198e360a979383ebc6dea4604743b56da1cbc34", size = 4893471 }, + { url = "https://files.pythonhosted.org/packages/24/29/f8f8acccb9716b899be4be45e9ce770d6aa76327573863e68448183091b0/fonttools-4.60.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:677aa92d84d335e4d301d8ba04afca6f575316bc647b6782cb0921943fcb6343", size = 4854686 }, + { url = "https://files.pythonhosted.org/packages/5a/0d/f3f51d7519f44f2dd5c9a60d7cd41185ebcee4348f073e515a3a93af15ff/fonttools-4.60.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:edd49d3defbf35476e78b61ff737ff5efea811acff68d44233a95a5a48252334", size = 4871233 }, + { url = "https://files.pythonhosted.org/packages/cc/3f/4d4fd47d3bc40ab4d76718555185f8adffb5602ea572eac4bbf200c47d22/fonttools-4.60.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:126839492b69cecc5baf2bddcde60caab2ffafd867bbae2a88463fce6078ca3a", size = 4988936 }, + { url = "https://files.pythonhosted.org/packages/01/6f/83bbdefa43f2c3ae206fd8c4b9a481f3c913eef871b1ce9a453069239e39/fonttools-4.60.2-cp310-cp310-win32.whl", hash = "sha256:ffcab6f5537136046ca902ed2491ab081ba271b07591b916289b7c27ff845f96", size = 2278044 }, + { url = "https://files.pythonhosted.org/packages/d4/04/7d9a137e919d6c9ef26704b7f7b2580d9cfc5139597588227aacebc0e3b7/fonttools-4.60.2-cp310-cp310-win_amd64.whl", hash = "sha256:9c68b287c7ffcd29dd83b5f961004b2a54a862a88825d52ea219c6220309ba45", size = 2326522 }, + { url = "https://files.pythonhosted.org/packages/e0/80/b7693d37c02417e162cc83cdd0b19a4f58be82c638b5d4ce4de2dae050c4/fonttools-4.60.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a2aed0a7931401b3875265717a24c726f87ecfedbb7b3426c2ca4d2812e281ae", size = 2847809 }, + { url = "https://files.pythonhosted.org/packages/f9/9a/9c2c13bf8a6496ac21607d704e74e9cc68ebf23892cf924c9a8b5c7566b9/fonttools-4.60.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dea6868e9d2b816c9076cfea77754686f3c19149873bdbc5acde437631c15df1", size = 2397302 }, + { url = "https://files.pythonhosted.org/packages/56/f6/ce38ff6b2d2d58f6fd981d32f3942365bfa30eadf2b47d93b2d48bf6097f/fonttools-4.60.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2fa27f34950aa1fe0f0b1abe25eed04770a3b3b34ad94e5ace82cc341589678a", size = 5054418 }, + { url = "https://files.pythonhosted.org/packages/88/06/5353bea128ff39e857c31de3dd605725b4add956badae0b31bc9a50d4c8e/fonttools-4.60.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:13a53d479d187b09bfaa4a35ffcbc334fc494ff355f0a587386099cb66674f1e", size = 5031652 }, + { url = "https://files.pythonhosted.org/packages/71/05/ebca836437f6ebd57edd6428e7eff584e683ff0556ddb17d62e3b731f46c/fonttools-4.60.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fac5e921d3bd0ca3bb8517dced2784f0742bc8ca28579a68b139f04ea323a779", size = 5030321 }, + { url = "https://files.pythonhosted.org/packages/57/f9/eb9d2a2ce30c99f840c1cc3940729a970923cf39d770caf88909d98d516b/fonttools-4.60.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:648f4f9186fd7f1f3cd57dbf00d67a583720d5011feca67a5e88b3a491952cfb", size = 5154255 }, + { url = "https://files.pythonhosted.org/packages/08/a2/088b6ceba8272a9abb629d3c08f9c1e35e5ce42db0ccfe0c1f9f03e60d1d/fonttools-4.60.2-cp311-cp311-win32.whl", hash = "sha256:3274e15fad871bead5453d5ce02658f6d0c7bc7e7021e2a5b8b04e2f9e40da1a", size = 2276300 }, + { url = "https://files.pythonhosted.org/packages/de/2f/8e4c3d908cc5dade7bb1316ce48589f6a24460c1056fd4b8db51f1fa309a/fonttools-4.60.2-cp311-cp311-win_amd64.whl", hash = "sha256:91d058d5a483a1525b367803abb69de0923fbd45e1f82ebd000f5c8aa65bc78e", size = 2327574 }, + { url = "https://files.pythonhosted.org/packages/c0/30/530c9eddcd1c39219dc0aaede2b5a4c8ab80e0bb88d1b3ffc12944c4aac3/fonttools-4.60.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e0164b7609d2b5c5dd4e044b8085b7bd7ca7363ef8c269a4ab5b5d4885a426b2", size = 2847196 }, + { url = "https://files.pythonhosted.org/packages/19/2f/4077a482836d5bbe3bc9dac1c004d02ee227cf04ed62b0a2dfc41d4f0dfd/fonttools-4.60.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1dd3d9574fc595c1e97faccae0f264dc88784ddf7fbf54c939528378bacc0033", size = 2395842 }, + { url = "https://files.pythonhosted.org/packages/dd/05/aae5bb99c5398f8ed4a8b784f023fd9dd3568f0bd5d5b21e35b282550f11/fonttools-4.60.2-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:98d0719f1b11c2817307d2da2e94296a3b2a3503f8d6252a101dca3ee663b917", size = 4949713 }, + { url = "https://files.pythonhosted.org/packages/b4/37/49067349fc78ff0efbf09fadefe80ddf41473ca8f8a25400e3770da38328/fonttools-4.60.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9d3ea26957dd07209f207b4fff64c702efe5496de153a54d3b91007ec28904dd", size = 4999907 }, + { url = "https://files.pythonhosted.org/packages/16/31/d0f11c758bd0db36b664c92a0f9dfdcc2d7313749aa7d6629805c6946f21/fonttools-4.60.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ee301273b0850f3a515299f212898f37421f42ff9adfc341702582ca5073c13", size = 4939717 }, + { url = "https://files.pythonhosted.org/packages/d9/bc/1cff0d69522e561bf1b99bee7c3911c08c25e919584827c3454a64651ce9/fonttools-4.60.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c6eb4694cc3b9c03b7c01d65a9cf35b577f21aa6abdbeeb08d3114b842a58153", size = 5089205 }, + { url = "https://files.pythonhosted.org/packages/05/e6/fb174f0069b7122e19828c551298bfd34fdf9480535d2a6ac2ed37afacd3/fonttools-4.60.2-cp312-cp312-win32.whl", hash = "sha256:57f07b616c69c244cc1a5a51072eeef07dddda5ebef9ca5c6e9cf6d59ae65b70", size = 2264674 }, + { url = "https://files.pythonhosted.org/packages/75/57/6552ffd6b582d3e6a9f01780c5275e6dfff1e70ca146101733aa1c12a129/fonttools-4.60.2-cp312-cp312-win_amd64.whl", hash = "sha256:310035802392f1fe5a7cf43d76f6ff4a24c919e4c72c0352e7b8176e2584b8a0", size = 2314701 }, + { url = "https://files.pythonhosted.org/packages/2e/e4/8381d0ca6b6c6c484660b03517ec5b5b81feeefca3808726dece36c652a9/fonttools-4.60.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2bb5fd231e56ccd7403212636dcccffc96c5ae0d6f9e4721fa0a32cb2e3ca432", size = 2842063 }, + { url = "https://files.pythonhosted.org/packages/b4/2c/4367117ee8ff4f4374787a1222da0bd413d80cf3522111f727a7b8f80d1d/fonttools-4.60.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:536b5fab7b6fec78ccf59b5c59489189d9d0a8b0d3a77ed1858be59afb096696", size = 2393792 }, + { url = "https://files.pythonhosted.org/packages/49/b7/a76b6dffa193869e54e32ca2f9abb0d0e66784bc8a24e6f86eb093015481/fonttools-4.60.2-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6b9288fc38252ac86a9570f19313ecbc9ff678982e0f27c757a85f1f284d3400", size = 4924020 }, + { url = "https://files.pythonhosted.org/packages/bd/4e/0078200e2259f0061c86a74075f507d64c43dd2ab38971956a5c0012d344/fonttools-4.60.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:93fcb420791d839ef592eada2b69997c445d0ce9c969b5190f2e16828ec10607", size = 4980070 }, + { url = "https://files.pythonhosted.org/packages/85/1f/d87c85a11cb84852c975251581862681e4a0c1c3bd456c648792203f311b/fonttools-4.60.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7916a381b094db4052ac284255186aebf74c5440248b78860cb41e300036f598", size = 4921411 }, + { url = "https://files.pythonhosted.org/packages/75/c0/7efad650f5ed8e317c2633133ef3c64917e7adf2e4e2940c798f5d57ec6e/fonttools-4.60.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58c8c393d5e16b15662cfc2d988491940458aa87894c662154f50c7b49440bef", size = 5063465 }, + { url = "https://files.pythonhosted.org/packages/18/a8/750518c4f8cdd79393b386bc81226047ade80239e58c6c9f5dbe1fdd8ea1/fonttools-4.60.2-cp313-cp313-win32.whl", hash = "sha256:19c6e0afd8b02008caa0aa08ab896dfce5d0bcb510c49b2c499541d5cb95a963", size = 2263443 }, + { url = "https://files.pythonhosted.org/packages/b8/22/026c60376f165981f80a0e90bd98a79ae3334e9d89a3d046c4d2e265c724/fonttools-4.60.2-cp313-cp313-win_amd64.whl", hash = "sha256:6a500dc59e11b2338c2dba1f8cf11a4ae8be35ec24af8b2628b8759a61457b76", size = 2313800 }, + { url = "https://files.pythonhosted.org/packages/7e/ab/7cf1f5204e1366ddf9dc5cdc2789b571feb9eebcee0e3463c3f457df5f52/fonttools-4.60.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9387c532acbe323bbf2a920f132bce3c408a609d5f9dcfc6532fbc7e37f8ccbb", size = 2841690 }, + { url = "https://files.pythonhosted.org/packages/00/3c/0bf83c6f863cc8b934952567fa2bf737cfcec8fc4ffb59b3f93820095f89/fonttools-4.60.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e6f1c824185b5b8fb681297f315f26ae55abb0d560c2579242feea8236b1cfef", size = 2392191 }, + { url = "https://files.pythonhosted.org/packages/00/f0/40090d148b8907fbea12e9bdf1ff149f30cdf1769e3b2c3e0dbf5106b88d/fonttools-4.60.2-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:55a3129d1e4030b1a30260f1b32fe76781b585fb2111d04a988e141c09eb6403", size = 4873503 }, + { url = "https://files.pythonhosted.org/packages/dc/e0/d8b13f99e58b8c293781288ba62fe634f1f0697c9c4c0ae104d3215f3a10/fonttools-4.60.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b196e63753abc33b3b97a6fd6de4b7c4fef5552c0a5ba5e562be214d1e9668e0", size = 4968493 }, + { url = "https://files.pythonhosted.org/packages/46/c5/960764d12c92bc225f02401d3067048cb7b282293d9e48e39fe2b0ec38a9/fonttools-4.60.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:de76c8d740fb55745f3b154f0470c56db92ae3be27af8ad6c2e88f1458260c9a", size = 4920015 }, + { url = "https://files.pythonhosted.org/packages/4b/ab/839d8caf253d1eef3653ef4d34427d0326d17a53efaec9eb04056b670fff/fonttools-4.60.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6ba6303225c95998c9fda2d410aa792c3d2c1390a09df58d194b03e17583fa25", size = 5031165 }, + { url = "https://files.pythonhosted.org/packages/de/bf/3bc862796a6841cbe0725bb5512d272239b809dba631a4b0301df885e62d/fonttools-4.60.2-cp314-cp314-win32.whl", hash = "sha256:0a89728ce10d7c816fedaa5380c06d2793e7a8a634d7ce16810e536c22047384", size = 2267526 }, + { url = "https://files.pythonhosted.org/packages/fc/a1/c1909cacf00c76dc37b4743451561fbaaf7db4172c22a6d9394081d114c3/fonttools-4.60.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa8446e6ab8bd778b82cb1077058a2addba86f30de27ab9cc18ed32b34bc8667", size = 2319096 }, + { url = "https://files.pythonhosted.org/packages/29/b3/f66e71433f08e3a931b2b31a665aeed17fcc5e6911fc73529c70a232e421/fonttools-4.60.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4063bc81ac5a4137642865cb63dd270e37b3cd1f55a07c0d6e41d072699ccca2", size = 2925167 }, + { url = "https://files.pythonhosted.org/packages/2e/13/eeb491ff743594bbd0bee6e49422c03a59fe9c49002d3cc60eeb77414285/fonttools-4.60.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:ebfdb66fa69732ed604ab8e2a0431e6deff35e933a11d73418cbc7823d03b8e1", size = 2430923 }, + { url = "https://files.pythonhosted.org/packages/b2/e5/db609f785e460796e53c4dbc3874a5f4948477f27beceb5e2d24b2537666/fonttools-4.60.2-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50b10b3b1a72d1d54c61b0e59239e1a94c0958f4a06a1febf97ce75388dd91a4", size = 4877729 }, + { url = "https://files.pythonhosted.org/packages/5f/d6/85e4484dd4bfb03fee7bd370d65888cccbd3dee2681ee48c869dd5ccb23f/fonttools-4.60.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:beae16891a13b4a2ddec9b39b4de76092a3025e4d1c82362e3042b62295d5e4d", size = 5096003 }, + { url = "https://files.pythonhosted.org/packages/30/49/1a98e44b71030b83d2046f981373b80571868259d98e6dae7bc20099dac6/fonttools-4.60.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:522f017fdb3766fd5d2d321774ef351cc6ce88ad4e6ac9efe643e4a2b9d528db", size = 4974410 }, + { url = "https://files.pythonhosted.org/packages/42/07/d6f775d950ee8a841012472c7303f8819423d8cc3b4530915de7265ebfa2/fonttools-4.60.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:82cceceaf9c09a965a75b84a4b240dd3768e596ffb65ef53852681606fe7c9ba", size = 5002036 }, + { url = "https://files.pythonhosted.org/packages/73/f6/ba6458f83ce1a9f8c3b17bd8f7b8a2205a126aac1055796b7e7cfebbd38f/fonttools-4.60.2-cp314-cp314t-win32.whl", hash = "sha256:bbfbc918a75437fe7e6d64d1b1e1f713237df1cf00f3a36dedae910b2ba01cee", size = 2330985 }, + { url = "https://files.pythonhosted.org/packages/91/24/fea0ba4d3a32d4ed1103a1098bfd99dc78b5fe3bb97202920744a37b73dc/fonttools-4.60.2-cp314-cp314t-win_amd64.whl", hash = "sha256:0e5cd9b0830f6550d58c84f3ab151a9892b50c4f9d538c5603c0ce6fff2eb3f1", size = 2396226 }, + { url = "https://files.pythonhosted.org/packages/55/ae/a6d9446cb258d3fe87e311c2d7bacf8e8da3e5809fbdc3a8306db4f6b14e/fonttools-4.60.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a3c75b8b42f7f93906bdba9eb1197bb76aecbe9a0a7cf6feec75f7605b5e8008", size = 2857184 }, + { url = "https://files.pythonhosted.org/packages/3a/f3/1b41d0b6a8b908aa07f652111155dd653ebbf0b3385e66562556c5206685/fonttools-4.60.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0f86c8c37bc0ec0b9c141d5e90c717ff614e93c187f06d80f18c7057097f71bc", size = 2401877 }, + { url = "https://files.pythonhosted.org/packages/71/57/048fd781680c38b05c5463657d0d95d5f2391a51972176e175c01de29d42/fonttools-4.60.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe905403fe59683b0e9a45f234af2866834376b8821f34633b1c76fb731b6311", size = 4878073 }, + { url = "https://files.pythonhosted.org/packages/45/bb/363364f052a893cebd3d449588b21244a9d873620fda03ad92702d2e1bc7/fonttools-4.60.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:38ce703b60a906e421e12d9e3a7f064883f5e61bb23e8961f4be33cfe578500b", size = 4835385 }, + { url = "https://files.pythonhosted.org/packages/1c/38/e392bb930b2436287e6021672345db26441bf1f85f1e98f8b9784334e41d/fonttools-4.60.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9e810c06f3e79185cecf120e58b343ea5a89b54dd695fd644446bcf8c026da5e", size = 4853084 }, + { url = "https://files.pythonhosted.org/packages/65/60/0d77faeaecf7a3276a8a6dc49e2274357e6b3ed6a1774e2fdb2a7f142db0/fonttools-4.60.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:38faec8cc1d12122599814d15a402183f5123fb7608dac956121e7c6742aebc5", size = 4971144 }, + { url = "https://files.pythonhosted.org/packages/ba/c7/6d3ac3afbcd598631bce24c3ecb919e7d0644a82fea8ddc4454312fc0be6/fonttools-4.60.2-cp39-cp39-win32.whl", hash = "sha256:80a45cf7bf659acb7b36578f300231873daba67bd3ca8cce181c73f861f14a37", size = 1499411 }, + { url = "https://files.pythonhosted.org/packages/5a/1c/9dedf6420e23f9fa630bb97941839dddd2e1e57d1b2b85a902378dbe0bd2/fonttools-4.60.2-cp39-cp39-win_amd64.whl", hash = "sha256:c355d5972071938e1b1e0f5a1df001f68ecf1a62f34a3407dc8e0beccf052501", size = 1547943 }, + { url = "https://files.pythonhosted.org/packages/79/6c/10280af05b44fafd1dff69422805061fa1af29270bc52dce031ac69540bf/fonttools-4.60.2-py3-none-any.whl", hash = "sha256:73cf92eeda67cf6ff10c8af56fc8f4f07c1647d989a979be9e388a49be26552a", size = 1144610 }, +] + +[[package]] +name = "fonttools" +version = "4.61.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ec/ca/cf17b88a8df95691275a3d77dc0a5ad9907f328ae53acbe6795da1b2f5ed/fonttools-4.61.1.tar.gz", hash = "sha256:6675329885c44657f826ef01d9e4fb33b9158e9d93c537d84ad8399539bc6f69", size = 3565756 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/94/8a28707adb00bed1bf22dac16ccafe60faf2ade353dcb32c3617ee917307/fonttools-4.61.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c7db70d57e5e1089a274cbb2b1fd635c9a24de809a231b154965d415d6c6d24", size = 2854799 }, + { url = "https://files.pythonhosted.org/packages/94/93/c2e682faaa5ee92034818d8f8a8145ae73eb83619600495dcf8503fa7771/fonttools-4.61.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5fe9fd43882620017add5eabb781ebfbc6998ee49b35bd7f8f79af1f9f99a958", size = 2403032 }, + { url = "https://files.pythonhosted.org/packages/f1/62/1748f7e7e1ee41aa52279fd2e3a6d0733dc42a673b16932bad8e5d0c8b28/fonttools-4.61.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8db08051fc9e7d8bc622f2112511b8107d8f27cd89e2f64ec45e9825e8288da", size = 4897863 }, + { url = "https://files.pythonhosted.org/packages/69/69/4ca02ee367d2c98edcaeb83fc278d20972502ee071214ad9d8ca85e06080/fonttools-4.61.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a76d4cb80f41ba94a6691264be76435e5f72f2cb3cab0b092a6212855f71c2f6", size = 4859076 }, + { url = "https://files.pythonhosted.org/packages/8c/f5/660f9e3cefa078861a7f099107c6d203b568a6227eef163dd173bfc56bdc/fonttools-4.61.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a13fc8aeb24bad755eea8f7f9d409438eb94e82cf86b08fe77a03fbc8f6a96b1", size = 4875623 }, + { url = "https://files.pythonhosted.org/packages/63/d1/9d7c5091d2276ed47795c131c1bf9316c3c1ab2789c22e2f59e0572ccd38/fonttools-4.61.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b846a1fcf8beadeb9ea4f44ec5bdde393e2f1569e17d700bfc49cd69bde75881", size = 4993327 }, + { url = "https://files.pythonhosted.org/packages/6f/2d/28def73837885ae32260d07660a052b99f0aa00454867d33745dfe49dbf0/fonttools-4.61.1-cp310-cp310-win32.whl", hash = "sha256:78a7d3ab09dc47ac1a363a493e6112d8cabed7ba7caad5f54dbe2f08676d1b47", size = 1502180 }, + { url = "https://files.pythonhosted.org/packages/63/fa/bfdc98abb4dd2bd491033e85e3ba69a2313c850e759a6daa014bc9433b0f/fonttools-4.61.1-cp310-cp310-win_amd64.whl", hash = "sha256:eff1ac3cc66c2ac7cda1e64b4e2f3ffef474b7335f92fc3833fc632d595fcee6", size = 1550654 }, + { url = "https://files.pythonhosted.org/packages/69/12/bf9f4eaa2fad039356cc627587e30ed008c03f1cebd3034376b5ee8d1d44/fonttools-4.61.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c6604b735bb12fef8e0efd5578c9fb5d3d8532d5001ea13a19cddf295673ee09", size = 2852213 }, + { url = "https://files.pythonhosted.org/packages/ac/49/4138d1acb6261499bedde1c07f8c2605d1d8f9d77a151e5507fd3ef084b6/fonttools-4.61.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5ce02f38a754f207f2f06557523cd39a06438ba3aafc0639c477ac409fc64e37", size = 2401689 }, + { url = "https://files.pythonhosted.org/packages/e5/fe/e6ce0fe20a40e03aef906af60aa87668696f9e4802fa283627d0b5ed777f/fonttools-4.61.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77efb033d8d7ff233385f30c62c7c79271c8885d5c9657d967ede124671bbdfb", size = 5058809 }, + { url = "https://files.pythonhosted.org/packages/79/61/1ca198af22f7dd22c17ab86e9024ed3c06299cfdb08170640e9996d501a0/fonttools-4.61.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:75c1a6dfac6abd407634420c93864a1e274ebc1c7531346d9254c0d8f6ca00f9", size = 5036039 }, + { url = "https://files.pythonhosted.org/packages/99/cc/fa1801e408586b5fce4da9f5455af8d770f4fc57391cd5da7256bb364d38/fonttools-4.61.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0de30bfe7745c0d1ffa2b0b7048fb7123ad0d71107e10ee090fa0b16b9452e87", size = 5034714 }, + { url = "https://files.pythonhosted.org/packages/bf/aa/b7aeafe65adb1b0a925f8f25725e09f078c635bc22754f3fecb7456955b0/fonttools-4.61.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:58b0ee0ab5b1fc9921eccfe11d1435added19d6494dde14e323f25ad2bc30c56", size = 5158648 }, + { url = "https://files.pythonhosted.org/packages/99/f9/08ea7a38663328881384c6e7777bbefc46fd7d282adfd87a7d2b84ec9d50/fonttools-4.61.1-cp311-cp311-win32.whl", hash = "sha256:f79b168428351d11e10c5aeb61a74e1851ec221081299f4cf56036a95431c43a", size = 2280681 }, + { url = "https://files.pythonhosted.org/packages/07/ad/37dd1ae5fa6e01612a1fbb954f0927681f282925a86e86198ccd7b15d515/fonttools-4.61.1-cp311-cp311-win_amd64.whl", hash = "sha256:fe2efccb324948a11dd09d22136fe2ac8a97d6c1347cf0b58a911dcd529f66b7", size = 2331951 }, + { url = "https://files.pythonhosted.org/packages/6f/16/7decaa24a1bd3a70c607b2e29f0adc6159f36a7e40eaba59846414765fd4/fonttools-4.61.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f3cb4a569029b9f291f88aafc927dd53683757e640081ca8c412781ea144565e", size = 2851593 }, + { url = "https://files.pythonhosted.org/packages/94/98/3c4cb97c64713a8cf499b3245c3bf9a2b8fd16a3e375feff2aed78f96259/fonttools-4.61.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41a7170d042e8c0024703ed13b71893519a1a6d6e18e933e3ec7507a2c26a4b2", size = 2400231 }, + { url = "https://files.pythonhosted.org/packages/b7/37/82dbef0f6342eb01f54bca073ac1498433d6ce71e50c3c3282b655733b31/fonttools-4.61.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10d88e55330e092940584774ee5e8a6971b01fc2f4d3466a1d6c158230880796", size = 4954103 }, + { url = "https://files.pythonhosted.org/packages/6c/44/f3aeac0fa98e7ad527f479e161aca6c3a1e47bb6996b053d45226fe37bf2/fonttools-4.61.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:15acc09befd16a0fb8a8f62bc147e1a82817542d72184acca9ce6e0aeda9fa6d", size = 5004295 }, + { url = "https://files.pythonhosted.org/packages/14/e8/7424ced75473983b964d09f6747fa09f054a6d656f60e9ac9324cf40c743/fonttools-4.61.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e6bcdf33aec38d16508ce61fd81838f24c83c90a1d1b8c68982857038673d6b8", size = 4944109 }, + { url = "https://files.pythonhosted.org/packages/c8/8b/6391b257fa3d0b553d73e778f953a2f0154292a7a7a085e2374b111e5410/fonttools-4.61.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5fade934607a523614726119164ff621e8c30e8fa1ffffbbd358662056ba69f0", size = 5093598 }, + { url = "https://files.pythonhosted.org/packages/d9/71/fd2ea96cdc512d92da5678a1c98c267ddd4d8c5130b76d0f7a80f9a9fde8/fonttools-4.61.1-cp312-cp312-win32.whl", hash = "sha256:75da8f28eff26defba42c52986de97b22106cb8f26515b7c22443ebc9c2d3261", size = 2269060 }, + { url = "https://files.pythonhosted.org/packages/80/3b/a3e81b71aed5a688e89dfe0e2694b26b78c7d7f39a5ffd8a7d75f54a12a8/fonttools-4.61.1-cp312-cp312-win_amd64.whl", hash = "sha256:497c31ce314219888c0e2fce5ad9178ca83fe5230b01a5006726cdf3ac9f24d9", size = 2319078 }, + { url = "https://files.pythonhosted.org/packages/4b/cf/00ba28b0990982530addb8dc3e9e6f2fa9cb5c20df2abdda7baa755e8fe1/fonttools-4.61.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8c56c488ab471628ff3bfa80964372fc13504ece601e0d97a78ee74126b2045c", size = 2846454 }, + { url = "https://files.pythonhosted.org/packages/5a/ca/468c9a8446a2103ae645d14fee3f610567b7042aba85031c1c65e3ef7471/fonttools-4.61.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc492779501fa723b04d0ab1f5be046797fee17d27700476edc7ee9ae535a61e", size = 2398191 }, + { url = "https://files.pythonhosted.org/packages/a3/4b/d67eedaed19def5967fade3297fed8161b25ba94699efc124b14fb68cdbc/fonttools-4.61.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:64102ca87e84261419c3747a0d20f396eb024bdbeb04c2bfb37e2891f5fadcb5", size = 4928410 }, + { url = "https://files.pythonhosted.org/packages/b0/8d/6fb3494dfe61a46258cd93d979cf4725ded4eb46c2a4ca35e4490d84daea/fonttools-4.61.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c1b526c8d3f615a7b1867f38a9410849c8f4aef078535742198e942fba0e9bd", size = 4984460 }, + { url = "https://files.pythonhosted.org/packages/f7/f1/a47f1d30b3dc00d75e7af762652d4cbc3dff5c2697a0dbd5203c81afd9c3/fonttools-4.61.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:41ed4b5ec103bd306bb68f81dc166e77409e5209443e5773cb4ed837bcc9b0d3", size = 4925800 }, + { url = "https://files.pythonhosted.org/packages/a7/01/e6ae64a0981076e8a66906fab01539799546181e32a37a0257b77e4aa88b/fonttools-4.61.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b501c862d4901792adaec7c25b1ecc749e2662543f68bb194c42ba18d6eec98d", size = 5067859 }, + { url = "https://files.pythonhosted.org/packages/73/aa/28e40b8d6809a9b5075350a86779163f074d2b617c15d22343fce81918db/fonttools-4.61.1-cp313-cp313-win32.whl", hash = "sha256:4d7092bb38c53bbc78e9255a59158b150bcdc115a1e3b3ce0b5f267dc35dd63c", size = 2267821 }, + { url = "https://files.pythonhosted.org/packages/1a/59/453c06d1d83dc0951b69ef692d6b9f1846680342927df54e9a1ca91c6f90/fonttools-4.61.1-cp313-cp313-win_amd64.whl", hash = "sha256:21e7c8d76f62ab13c9472ccf74515ca5b9a761d1bde3265152a6dc58700d895b", size = 2318169 }, + { url = "https://files.pythonhosted.org/packages/32/8f/4e7bf82c0cbb738d3c2206c920ca34ca74ef9dabde779030145d28665104/fonttools-4.61.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fff4f534200a04b4a36e7ae3cb74493afe807b517a09e99cb4faa89a34ed6ecd", size = 2846094 }, + { url = "https://files.pythonhosted.org/packages/71/09/d44e45d0a4f3a651f23a1e9d42de43bc643cce2971b19e784cc67d823676/fonttools-4.61.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d9203500f7c63545b4ce3799319fe4d9feb1a1b89b28d3cb5abd11b9dd64147e", size = 2396589 }, + { url = "https://files.pythonhosted.org/packages/89/18/58c64cafcf8eb677a99ef593121f719e6dcbdb7d1c594ae5a10d4997ca8a/fonttools-4.61.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fa646ecec9528bef693415c79a86e733c70a4965dd938e9a226b0fc64c9d2e6c", size = 4877892 }, + { url = "https://files.pythonhosted.org/packages/8a/ec/9e6b38c7ba1e09eb51db849d5450f4c05b7e78481f662c3b79dbde6f3d04/fonttools-4.61.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:11f35ad7805edba3aac1a3710d104592df59f4b957e30108ae0ba6c10b11dd75", size = 4972884 }, + { url = "https://files.pythonhosted.org/packages/5e/87/b5339da8e0256734ba0dbbf5b6cdebb1dd79b01dc8c270989b7bcd465541/fonttools-4.61.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b931ae8f62db78861b0ff1ac017851764602288575d65b8e8ff1963fed419063", size = 4924405 }, + { url = "https://files.pythonhosted.org/packages/0b/47/e3409f1e1e69c073a3a6fd8cb886eb18c0bae0ee13db2c8d5e7f8495e8b7/fonttools-4.61.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b148b56f5de675ee16d45e769e69f87623a4944f7443850bf9a9376e628a89d2", size = 5035553 }, + { url = "https://files.pythonhosted.org/packages/bf/b6/1f6600161b1073a984294c6c031e1a56ebf95b6164249eecf30012bb2e38/fonttools-4.61.1-cp314-cp314-win32.whl", hash = "sha256:9b666a475a65f4e839d3d10473fad6d47e0a9db14a2f4a224029c5bfde58ad2c", size = 2271915 }, + { url = "https://files.pythonhosted.org/packages/52/7b/91e7b01e37cc8eb0e1f770d08305b3655e4f002fc160fb82b3390eabacf5/fonttools-4.61.1-cp314-cp314-win_amd64.whl", hash = "sha256:4f5686e1fe5fce75d82d93c47a438a25bf0d1319d2843a926f741140b2b16e0c", size = 2323487 }, + { url = "https://files.pythonhosted.org/packages/39/5c/908ad78e46c61c3e3ed70c3b58ff82ab48437faf84ec84f109592cabbd9f/fonttools-4.61.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:e76ce097e3c57c4bcb67c5aa24a0ecdbd9f74ea9219997a707a4061fbe2707aa", size = 2929571 }, + { url = "https://files.pythonhosted.org/packages/bd/41/975804132c6dea64cdbfbaa59f3518a21c137a10cccf962805b301ac6ab2/fonttools-4.61.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:9cfef3ab326780c04d6646f68d4b4742aae222e8b8ea1d627c74e38afcbc9d91", size = 2435317 }, + { url = "https://files.pythonhosted.org/packages/b0/5a/aef2a0a8daf1ebaae4cfd83f84186d4a72ee08fd6a8451289fcd03ffa8a4/fonttools-4.61.1-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a75c301f96db737e1c5ed5fd7d77d9c34466de16095a266509e13da09751bd19", size = 4882124 }, + { url = "https://files.pythonhosted.org/packages/80/33/d6db3485b645b81cea538c9d1c9219d5805f0877fda18777add4671c5240/fonttools-4.61.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:91669ccac46bbc1d09e9273546181919064e8df73488ea087dcac3e2968df9ba", size = 5100391 }, + { url = "https://files.pythonhosted.org/packages/6c/d6/675ba631454043c75fcf76f0ca5463eac8eb0666ea1d7badae5fea001155/fonttools-4.61.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c33ab3ca9d3ccd581d58e989d67554e42d8d4ded94ab3ade3508455fe70e65f7", size = 4978800 }, + { url = "https://files.pythonhosted.org/packages/7f/33/d3ec753d547a8d2bdaedd390d4a814e8d5b45a093d558f025c6b990b554c/fonttools-4.61.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:664c5a68ec406f6b1547946683008576ef8b38275608e1cee6c061828171c118", size = 5006426 }, + { url = "https://files.pythonhosted.org/packages/b4/40/cc11f378b561a67bea850ab50063366a0d1dd3f6d0a30ce0f874b0ad5664/fonttools-4.61.1-cp314-cp314t-win32.whl", hash = "sha256:aed04cabe26f30c1647ef0e8fbb207516fd40fe9472e9439695f5c6998e60ac5", size = 2335377 }, + { url = "https://files.pythonhosted.org/packages/e4/ff/c9a2b66b39f8628531ea58b320d66d951267c98c6a38684daa8f50fb02f8/fonttools-4.61.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2180f14c141d2f0f3da43f3a81bc8aa4684860f6b0e6f9e165a4831f24e6a23b", size = 2400613 }, + { url = "https://files.pythonhosted.org/packages/c7/4e/ce75a57ff3aebf6fc1f4e9d508b8e5810618a33d900ad6c19eb30b290b97/fonttools-4.61.1-py3-none-any.whl", hash = "sha256:17d2bf5d541add43822bcf0c43d7d847b160c9bb01d15d5007d84e2217aaa371", size = 1148996 }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008 }, +] + +[[package]] +name = "imagesize" +version = "1.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/84/62473fb57d61e31fef6e36d64a179c8781605429fd927b5dd608c997be31/imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a", size = 1280026 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769 }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size = 27865 }, +] + +[[package]] +name = "importlib-resources" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461 }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484 }, +] + +[[package]] +name = "ipykernel" +version = "6.31.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "appnope", marker = "python_full_version < '3.10' and sys_platform == 'darwin'" }, + { name = "comm", marker = "python_full_version < '3.10'" }, + { name = "debugpy", marker = "python_full_version < '3.10'" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "jupyter-client", version = "8.6.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.10'" }, + { name = "nest-asyncio", marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "psutil", marker = "python_full_version < '3.10'" }, + { name = "pyzmq", marker = "python_full_version < '3.10'" }, + { name = "tornado", marker = "python_full_version < '3.10'" }, + { name = "traitlets", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a5/1d/d5ba6edbfe6fae4c3105bca3a9c889563cc752c7f2de45e333164c7f4846/ipykernel-6.31.0.tar.gz", hash = "sha256:2372ce8bc1ff4f34e58cafed3a0feb2194b91fc7cad0fc72e79e47b45ee9e8f6", size = 167493 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/d8/502954a4ec0efcf264f99b65b41c3c54e65a647d9f0d6f62cd02227d242c/ipykernel-6.31.0-py3-none-any.whl", hash = "sha256:abe5386f6ced727a70e0eb0cf1da801fa7c5fa6ff82147747d5a0406cd8c94af", size = 117003 }, +] + +[[package]] +name = "ipykernel" +version = "7.2.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "appnope", marker = "python_full_version >= '3.10' and sys_platform == 'darwin'" }, + { name = "comm", marker = "python_full_version >= '3.10'" }, + { name = "debugpy", marker = "python_full_version >= '3.10'" }, + { name = "ipython", version = "8.38.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "ipython", version = "9.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyter-client", version = "8.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "matplotlib-inline", marker = "python_full_version >= '3.10'" }, + { name = "nest-asyncio", marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "psutil", marker = "python_full_version >= '3.10'" }, + { name = "pyzmq", marker = "python_full_version >= '3.10'" }, + { name = "tornado", marker = "python_full_version >= '3.10'" }, + { name = "traitlets", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/8d/b68b728e2d06b9e0051019640a40a9eb7a88fcd82c2e1b5ce70bef5ff044/ipykernel-7.2.0.tar.gz", hash = "sha256:18ed160b6dee2cbb16e5f3575858bc19d8f1fe6046a9a680c708494ce31d909e", size = 176046 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/b9/e73d5d9f405cba7706c539aa8b311b49d4c2f3d698d9c12f815231169c71/ipykernel-7.2.0-py3-none-any.whl", hash = "sha256:3bbd4420d2b3cc105cbdf3756bfc04500b1e52f090a90716851f3916c62e1661", size = 118788 }, +] + +[[package]] +name = "ipython" +version = "8.18.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version < '3.10'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.10'" }, + { name = "jedi", marker = "python_full_version < '3.10'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.10'" }, + { name = "pexpect", marker = "python_full_version < '3.10' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.10'" }, + { name = "pygments", marker = "python_full_version < '3.10'" }, + { name = "stack-data", marker = "python_full_version < '3.10'" }, + { name = "traitlets", marker = "python_full_version < '3.10'" }, + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161 }, +] + +[[package]] +name = "ipython" +version = "8.38.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version == '3.10.*'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, + { name = "jedi", marker = "python_full_version == '3.10.*'" }, + { name = "matplotlib-inline", marker = "python_full_version == '3.10.*'" }, + { name = "pexpect", marker = "python_full_version == '3.10.*' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version == '3.10.*'" }, + { name = "pygments", marker = "python_full_version == '3.10.*'" }, + { name = "stack-data", marker = "python_full_version == '3.10.*'" }, + { name = "traitlets", marker = "python_full_version == '3.10.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e5/61/1810830e8b93c72dcd3c0f150c80a00c3deb229562d9423807ec92c3a539/ipython-8.38.0.tar.gz", hash = "sha256:9cfea8c903ce0867cc2f23199ed8545eb741f3a69420bfcf3743ad1cec856d39", size = 5513996 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/df/db59624f4c71b39717c423409950ac3f2c8b2ce4b0aac843112c7fb3f721/ipython-8.38.0-py3-none-any.whl", hash = "sha256:750162629d800ac65bb3b543a14e7a74b0e88063eac9b92124d4b2aa3f6d8e86", size = 831813 }, +] + +[[package]] +name = "ipython" +version = "9.10.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version >= '3.11'" }, + { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" }, + { name = "jedi", marker = "python_full_version >= '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" }, + { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" }, + { name = "pygments", marker = "python_full_version >= '3.11'" }, + { name = "stack-data", marker = "python_full_version >= '3.11'" }, + { name = "traitlets", marker = "python_full_version >= '3.11'" }, + { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a6/60/2111715ea11f39b1535bed6024b7dec7918b71e5e5d30855a5b503056b50/ipython-9.10.0.tar.gz", hash = "sha256:cd9e656be97618a0676d058134cd44e6dc7012c0e5cb36a9ce96a8c904adaf77", size = 4426526 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/aa/898dec789a05731cd5a9f50605b7b44a72bd198fd0d4528e11fc610177cc/ipython-9.10.0-py3-none-any.whl", hash = "sha256:c6ab68cc23bba8c7e18e9b932797014cc61ea7fd6f19de180ab9ba73e65ee58d", size = 622774 }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074 }, +] + +[[package]] +name = "ipywidgets" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "comm" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "ipython", version = "8.38.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "ipython", version = "9.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyterlab-widgets" }, + { name = "traitlets" }, + { name = "widgetsnbextension" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4c/ae/c5ce1edc1afe042eadb445e95b0671b03cee61895264357956e61c0d2ac0/ipywidgets-8.1.8.tar.gz", hash = "sha256:61f969306b95f85fba6b6986b7fe45d73124d1d9e3023a8068710d47a22ea668", size = 116739 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl", hash = "sha256:ecaca67aed704a338f88f67b1181b58f821ab5dc89c1f0f5ef99db43c1c2921e", size = 139808 }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278 }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 }, +] + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "attrs", marker = "python_full_version < '3.10'" }, + { name = "jsonschema-specifications", marker = "python_full_version < '3.10'" }, + { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "rpds-py", version = "0.27.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040 }, +] + +[[package]] +name = "jsonschema" +version = "4.26.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "attrs", marker = "python_full_version >= '3.10'" }, + { name = "jsonschema-specifications", marker = "python_full_version >= '3.10'" }, + { name = "referencing", version = "0.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "rpds-py", version = "0.30.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", size = 90630 }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "referencing", version = "0.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437 }, +] + +[[package]] +name = "jupyter-client" +version = "8.6.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "python-dateutil", marker = "python_full_version < '3.10'" }, + { name = "pyzmq", marker = "python_full_version < '3.10'" }, + { name = "tornado", marker = "python_full_version < '3.10'" }, + { name = "traitlets", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105 }, +] + +[[package]] +name = "jupyter-client" +version = "8.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, + { name = "pyzmq", marker = "python_full_version >= '3.10'" }, + { name = "tornado", marker = "python_full_version >= '3.10'" }, + { name = "traitlets", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e", size = 348020 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl", hash = "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a", size = 107371 }, +] + +[[package]] +name = "jupyter-core" +version = "5.8.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pywin32", marker = "python_full_version < '3.10' and platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "traitlets", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", size = 88923 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", size = 28880 }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "platformdirs", version = "4.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "traitlets", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032 }, +] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.16" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/2d/ef58fed122b268c69c0aa099da20bc67657cdfb2e222688d5731bd5b971d/jupyterlab_widgets-3.0.16.tar.gz", hash = "sha256:423da05071d55cf27a9e602216d35a3a65a3e41cdf9c5d3b643b814ce38c19e0", size = 897423 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl", hash = "sha256:45fa36d9c6422cf2559198e4db481aa243c7a32d9926b500781c830c80f7ecf8", size = 914926 }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440 }, + { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758 }, + { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311 }, + { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109 }, + { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814 }, + { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881 }, + { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972 }, + { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787 }, + { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212 }, + { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399 }, + { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688 }, + { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493 }, + { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191 }, + { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644 }, + { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877 }, + { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347 }, + { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442 }, + { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762 }, + { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319 }, + { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260 }, + { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589 }, + { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080 }, + { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049 }, + { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376 }, + { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231 }, + { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634 }, + { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024 }, + { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484 }, + { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078 }, + { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645 }, + { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022 }, + { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536 }, + { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808 }, + { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531 }, + { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894 }, + { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296 }, + { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450 }, + { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168 }, + { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308 }, + { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186 }, + { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877 }, + { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204 }, + { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461 }, + { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358 }, + { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119 }, + { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367 }, + { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884 }, + { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528 }, + { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913 }, + { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627 }, + { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888 }, + { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145 }, + { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448 }, + { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750 }, + { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175 }, + { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963 }, + { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220 }, + { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463 }, + { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842 }, + { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635 }, + { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556 }, + { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364 }, + { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887 }, + { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530 }, + { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449 }, + { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757 }, + { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312 }, + { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966 }, + { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044 }, + { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879 }, + { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751 }, + { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990 }, + { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122 }, + { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126 }, + { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313 }, + { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784 }, + { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988 }, + { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980 }, + { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847 }, + { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494 }, + { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491 }, + { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648 }, + { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257 }, + { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906 }, + { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951 }, + { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715 }, + { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666 }, + { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088 }, + { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321 }, + { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776 }, + { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984 }, + { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811 }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.9" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", hash = "sha256:c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", size = 97564 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/5d/8ce64e36d4e3aac5ca96996457dcf33e34e6051492399a3f1fec5657f30b/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b4b4d74bda2b8ebf4da5bd42af11d02d04428b2c32846e4c2c93219df8a7987b", size = 124159 }, + { url = "https://files.pythonhosted.org/packages/96/1e/22f63ec454874378175a5f435d6ea1363dd33fb2af832c6643e4ccea0dc8/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fb3b8132019ea572f4611d770991000d7f58127560c4889729248eb5852a102f", size = 66578 }, + { url = "https://files.pythonhosted.org/packages/41/4c/1925dcfff47a02d465121967b95151c82d11027d5ec5242771e580e731bd/kiwisolver-1.4.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84fd60810829c27ae375114cd379da1fa65e6918e1da405f356a775d49a62bcf", size = 65312 }, + { url = "https://files.pythonhosted.org/packages/d4/42/0f333164e6307a0687d1eb9ad256215aae2f4bd5d28f4653d6cd319a3ba3/kiwisolver-1.4.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b78efa4c6e804ecdf727e580dbb9cba85624d2e1c6b5cb059c66290063bd99a9", size = 1628458 }, + { url = "https://files.pythonhosted.org/packages/86/b6/2dccb977d651943995a90bfe3495c2ab2ba5cd77093d9f2318a20c9a6f59/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4efec7bcf21671db6a3294ff301d2fc861c31faa3c8740d1a94689234d1b415", size = 1225640 }, + { url = "https://files.pythonhosted.org/packages/50/2b/362ebd3eec46c850ccf2bfe3e30f2fc4c008750011f38a850f088c56a1c6/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:90f47e70293fc3688b71271100a1a5453aa9944a81d27ff779c108372cf5567b", size = 1244074 }, + { url = "https://files.pythonhosted.org/packages/6f/bb/f09a1e66dab8984773d13184a10a29fe67125337649d26bdef547024ed6b/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fdca1def57a2e88ef339de1737a1449d6dbf5fab184c54a1fca01d541317154", size = 1293036 }, + { url = "https://files.pythonhosted.org/packages/ea/01/11ecf892f201cafda0f68fa59212edaea93e96c37884b747c181303fccd1/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9cf554f21be770f5111a1690d42313e140355e687e05cf82cb23d0a721a64a48", size = 2175310 }, + { url = "https://files.pythonhosted.org/packages/7f/5f/bfe11d5b934f500cc004314819ea92427e6e5462706a498c1d4fc052e08f/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fc1795ac5cd0510207482c3d1d3ed781143383b8cfd36f5c645f3897ce066220", size = 2270943 }, + { url = "https://files.pythonhosted.org/packages/3d/de/259f786bf71f1e03e73d87e2db1a9a3bcab64d7b4fd780167123161630ad/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ccd09f20ccdbbd341b21a67ab50a119b64a403b09288c27481575105283c1586", size = 2440488 }, + { url = "https://files.pythonhosted.org/packages/1b/76/c989c278faf037c4d3421ec07a5c452cd3e09545d6dae7f87c15f54e4edf/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:540c7c72324d864406a009d72f5d6856f49693db95d1fbb46cf86febef873634", size = 2246787 }, + { url = "https://files.pythonhosted.org/packages/a2/55/c2898d84ca440852e560ca9f2a0d28e6e931ac0849b896d77231929900e7/kiwisolver-1.4.9-cp310-cp310-win_amd64.whl", hash = "sha256:ede8c6d533bc6601a47ad4046080d36b8fc99f81e6f1c17b0ac3c2dc91ac7611", size = 73730 }, + { url = "https://files.pythonhosted.org/packages/e8/09/486d6ac523dd33b80b368247f238125d027964cfacb45c654841e88fb2ae/kiwisolver-1.4.9-cp310-cp310-win_arm64.whl", hash = "sha256:7b4da0d01ac866a57dd61ac258c5607b4cd677f63abaec7b148354d2b2cdd536", size = 65036 }, + { url = "https://files.pythonhosted.org/packages/6f/ab/c80b0d5a9d8a1a65f4f815f2afff9798b12c3b9f31f1d304dd233dd920e2/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb14a5da6dc7642b0f3a18f13654847cd8b7a2550e2645a5bda677862b03ba16", size = 124167 }, + { url = "https://files.pythonhosted.org/packages/a0/c0/27fe1a68a39cf62472a300e2879ffc13c0538546c359b86f149cc19f6ac3/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:39a219e1c81ae3b103643d2aedb90f1ef22650deb266ff12a19e7773f3e5f089", size = 66579 }, + { url = "https://files.pythonhosted.org/packages/31/a2/a12a503ac1fd4943c50f9822678e8015a790a13b5490354c68afb8489814/kiwisolver-1.4.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2405a7d98604b87f3fc28b1716783534b1b4b8510d8142adca34ee0bc3c87543", size = 65309 }, + { url = "https://files.pythonhosted.org/packages/66/e1/e533435c0be77c3f64040d68d7a657771194a63c279f55573188161e81ca/kiwisolver-1.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dc1ae486f9abcef254b5618dfb4113dd49f94c68e3e027d03cf0143f3f772b61", size = 1435596 }, + { url = "https://files.pythonhosted.org/packages/67/1e/51b73c7347f9aabdc7215aa79e8b15299097dc2f8e67dee2b095faca9cb0/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a1f570ce4d62d718dce3f179ee78dac3b545ac16c0c04bb363b7607a949c0d1", size = 1246548 }, + { url = "https://files.pythonhosted.org/packages/21/aa/72a1c5d1e430294f2d32adb9542719cfb441b5da368d09d268c7757af46c/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb27e7b78d716c591e88e0a09a2139c6577865d7f2e152488c2cc6257f460872", size = 1263618 }, + { url = "https://files.pythonhosted.org/packages/a3/af/db1509a9e79dbf4c260ce0cfa3903ea8945f6240e9e59d1e4deb731b1a40/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:15163165efc2f627eb9687ea5f3a28137217d217ac4024893d753f46bce9de26", size = 1317437 }, + { url = "https://files.pythonhosted.org/packages/e0/f2/3ea5ee5d52abacdd12013a94130436e19969fa183faa1e7c7fbc89e9a42f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bdee92c56a71d2b24c33a7d4c2856bd6419d017e08caa7802d2963870e315028", size = 2195742 }, + { url = "https://files.pythonhosted.org/packages/6f/9b/1efdd3013c2d9a2566aa6a337e9923a00590c516add9a1e89a768a3eb2fc/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:412f287c55a6f54b0650bd9b6dce5aceddb95864a1a90c87af16979d37c89771", size = 2290810 }, + { url = "https://files.pythonhosted.org/packages/fb/e5/cfdc36109ae4e67361f9bc5b41323648cb24a01b9ade18784657e022e65f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2c93f00dcba2eea70af2be5f11a830a742fe6b579a1d4e00f47760ef13be247a", size = 2461579 }, + { url = "https://files.pythonhosted.org/packages/62/86/b589e5e86c7610842213994cdea5add00960076bef4ae290c5fa68589cac/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f117e1a089d9411663a3207ba874f31be9ac8eaa5b533787024dc07aeb74f464", size = 2268071 }, + { url = "https://files.pythonhosted.org/packages/3b/c6/f8df8509fd1eee6c622febe54384a96cfaf4d43bf2ccec7a0cc17e4715c9/kiwisolver-1.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:be6a04e6c79819c9a8c2373317d19a96048e5a3f90bec587787e86a1153883c2", size = 73840 }, + { url = "https://files.pythonhosted.org/packages/e2/2d/16e0581daafd147bc11ac53f032a2b45eabac897f42a338d0a13c1e5c436/kiwisolver-1.4.9-cp311-cp311-win_arm64.whl", hash = "sha256:0ae37737256ba2de764ddc12aed4956460277f00c4996d51a197e72f62f5eec7", size = 65159 }, + { url = "https://files.pythonhosted.org/packages/86/c9/13573a747838aeb1c76e3267620daa054f4152444d1f3d1a2324b78255b5/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac5a486ac389dddcc5bef4f365b6ae3ffff2c433324fb38dd35e3fab7c957999", size = 123686 }, + { url = "https://files.pythonhosted.org/packages/51/ea/2ecf727927f103ffd1739271ca19c424d0e65ea473fbaeea1c014aea93f6/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2ba92255faa7309d06fe44c3a4a97efe1c8d640c2a79a5ef728b685762a6fd2", size = 66460 }, + { url = "https://files.pythonhosted.org/packages/5b/5a/51f5464373ce2aeb5194508298a508b6f21d3867f499556263c64c621914/kiwisolver-1.4.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a2899935e724dd1074cb568ce7ac0dce28b2cd6ab539c8e001a8578eb106d14", size = 64952 }, + { url = "https://files.pythonhosted.org/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f6008a4919fdbc0b0097089f67a1eb55d950ed7e90ce2cc3e640abadd2757a04", size = 1474756 }, + { url = "https://files.pythonhosted.org/packages/12/42/f36816eaf465220f683fb711efdd1bbf7a7005a2473d0e4ed421389bd26c/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:67bb8b474b4181770f926f7b7d2f8c0248cbcb78b660fdd41a47054b28d2a752", size = 1276404 }, + { url = "https://files.pythonhosted.org/packages/2e/64/bc2de94800adc830c476dce44e9b40fd0809cddeef1fde9fcf0f73da301f/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2327a4a30d3ee07d2fbe2e7933e8a37c591663b96ce42a00bc67461a87d7df77", size = 1294410 }, + { url = "https://files.pythonhosted.org/packages/5f/42/2dc82330a70aa8e55b6d395b11018045e58d0bb00834502bf11509f79091/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a08b491ec91b1d5053ac177afe5290adacf1f0f6307d771ccac5de30592d198", size = 1343631 }, + { url = "https://files.pythonhosted.org/packages/22/fd/f4c67a6ed1aab149ec5a8a401c323cee7a1cbe364381bb6c9c0d564e0e20/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d8fc5c867c22b828001b6a38d2eaeb88160bf5783c6cb4a5e440efc981ce286d", size = 2224963 }, + { url = "https://files.pythonhosted.org/packages/45/aa/76720bd4cb3713314677d9ec94dcc21ced3f1baf4830adde5bb9b2430a5f/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3b3115b2581ea35bb6d1f24a4c90af37e5d9b49dcff267eeed14c3893c5b86ab", size = 2321295 }, + { url = "https://files.pythonhosted.org/packages/80/19/d3ec0d9ab711242f56ae0dc2fc5d70e298bb4a1f9dfab44c027668c673a1/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858e4c22fb075920b96a291928cb7dea5644e94c0ee4fcd5af7e865655e4ccf2", size = 2487987 }, + { url = "https://files.pythonhosted.org/packages/39/e9/61e4813b2c97e86b6fdbd4dd824bf72d28bcd8d4849b8084a357bc0dd64d/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed0fecd28cc62c54b262e3736f8bb2512d8dcfdc2bcf08be5f47f96bf405b145", size = 2291817 }, + { url = "https://files.pythonhosted.org/packages/a0/41/85d82b0291db7504da3c2defe35c9a8a5c9803a730f297bd823d11d5fb77/kiwisolver-1.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:f68208a520c3d86ea51acf688a3e3002615a7f0238002cccc17affecc86a8a54", size = 73895 }, + { url = "https://files.pythonhosted.org/packages/e2/92/5f3068cf15ee5cb624a0c7596e67e2a0bb2adee33f71c379054a491d07da/kiwisolver-1.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:2c1a4f57df73965f3f14df20b80ee29e6a7930a57d2d9e8491a25f676e197c60", size = 64992 }, + { url = "https://files.pythonhosted.org/packages/31/c1/c2686cda909742ab66c7388e9a1a8521a59eb89f8bcfbee28fc980d07e24/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5d0432ccf1c7ab14f9949eec60c5d1f924f17c037e9f8b33352fa05799359b8", size = 123681 }, + { url = "https://files.pythonhosted.org/packages/ca/f0/f44f50c9f5b1a1860261092e3bc91ecdc9acda848a8b8c6abfda4a24dd5c/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efb3a45b35622bb6c16dbfab491a8f5a391fe0e9d45ef32f4df85658232ca0e2", size = 66464 }, + { url = "https://files.pythonhosted.org/packages/2d/7a/9d90a151f558e29c3936b8a47ac770235f436f2120aca41a6d5f3d62ae8d/kiwisolver-1.4.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a12cf6398e8a0a001a059747a1cbf24705e18fe413bc22de7b3d15c67cffe3f", size = 64961 }, + { url = "https://files.pythonhosted.org/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b67e6efbf68e077dd71d1a6b37e43e1a99d0bff1a3d51867d45ee8908b931098", size = 1474607 }, + { url = "https://files.pythonhosted.org/packages/d9/28/aac26d4c882f14de59041636292bc838db8961373825df23b8eeb807e198/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5656aa670507437af0207645273ccdfee4f14bacd7f7c67a4306d0dcaeaf6eed", size = 1276546 }, + { url = "https://files.pythonhosted.org/packages/8b/ad/8bfc1c93d4cc565e5069162f610ba2f48ff39b7de4b5b8d93f69f30c4bed/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bfc08add558155345129c7803b3671cf195e6a56e7a12f3dde7c57d9b417f525", size = 1294482 }, + { url = "https://files.pythonhosted.org/packages/da/f1/6aca55ff798901d8ce403206d00e033191f63d82dd708a186e0ed2067e9c/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:40092754720b174e6ccf9e845d0d8c7d8e12c3d71e7fc35f55f3813e96376f78", size = 1343720 }, + { url = "https://files.pythonhosted.org/packages/d1/91/eed031876c595c81d90d0f6fc681ece250e14bf6998c3d7c419466b523b7/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:497d05f29a1300d14e02e6441cf0f5ee81c1ff5a304b0d9fb77423974684e08b", size = 2224907 }, + { url = "https://files.pythonhosted.org/packages/e9/ec/4d1925f2e49617b9cca9c34bfa11adefad49d00db038e692a559454dfb2e/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdd1a81a1860476eb41ac4bc1e07b3f07259e6d55bbf739b79c8aaedcf512799", size = 2321334 }, + { url = "https://files.pythonhosted.org/packages/43/cb/450cd4499356f68802750c6ddc18647b8ea01ffa28f50d20598e0befe6e9/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e6b93f13371d341afee3be9f7c5964e3fe61d5fa30f6a30eb49856935dfe4fc3", size = 2488313 }, + { url = "https://files.pythonhosted.org/packages/71/67/fc76242bd99f885651128a5d4fa6083e5524694b7c88b489b1b55fdc491d/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d75aa530ccfaa593da12834b86a0724f58bff12706659baa9227c2ccaa06264c", size = 2291970 }, + { url = "https://files.pythonhosted.org/packages/75/bd/f1a5d894000941739f2ae1b65a32892349423ad49c2e6d0771d0bad3fae4/kiwisolver-1.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:dd0a578400839256df88c16abddf9ba14813ec5f21362e1fe65022e00c883d4d", size = 73894 }, + { url = "https://files.pythonhosted.org/packages/95/38/dce480814d25b99a391abbddadc78f7c117c6da34be68ca8b02d5848b424/kiwisolver-1.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:d4188e73af84ca82468f09cadc5ac4db578109e52acb4518d8154698d3a87ca2", size = 64995 }, + { url = "https://files.pythonhosted.org/packages/e2/37/7d218ce5d92dadc5ebdd9070d903e0c7cf7edfe03f179433ac4d13ce659c/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5a0f2724dfd4e3b3ac5a82436a8e6fd16baa7d507117e4279b660fe8ca38a3a1", size = 126510 }, + { url = "https://files.pythonhosted.org/packages/23/b0/e85a2b48233daef4b648fb657ebbb6f8367696a2d9548a00b4ee0eb67803/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b11d6a633e4ed84fc0ddafd4ebfd8ea49b3f25082c04ad12b8315c11d504dc1", size = 67903 }, + { url = "https://files.pythonhosted.org/packages/44/98/f2425bc0113ad7de24da6bb4dae1343476e95e1d738be7c04d31a5d037fd/kiwisolver-1.4.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61874cdb0a36016354853593cffc38e56fc9ca5aa97d2c05d3dcf6922cd55a11", size = 66402 }, + { url = "https://files.pythonhosted.org/packages/98/d8/594657886df9f34c4177cc353cc28ca7e6e5eb562d37ccc233bff43bbe2a/kiwisolver-1.4.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:60c439763a969a6af93b4881db0eed8fadf93ee98e18cbc35bc8da868d0c4f0c", size = 1582135 }, + { url = "https://files.pythonhosted.org/packages/5c/c6/38a115b7170f8b306fc929e166340c24958347308ea3012c2b44e7e295db/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92a2f997387a1b79a75e7803aa7ded2cfbe2823852ccf1ba3bcf613b62ae3197", size = 1389409 }, + { url = "https://files.pythonhosted.org/packages/bf/3b/e04883dace81f24a568bcee6eb3001da4ba05114afa622ec9b6fafdc1f5e/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31d512c812daea6d8b3be3b2bfcbeb091dbb09177706569bcfc6240dcf8b41c", size = 1401763 }, + { url = "https://files.pythonhosted.org/packages/9f/80/20ace48e33408947af49d7d15c341eaee69e4e0304aab4b7660e234d6288/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:52a15b0f35dad39862d376df10c5230155243a2c1a436e39eb55623ccbd68185", size = 1453643 }, + { url = "https://files.pythonhosted.org/packages/64/31/6ce4380a4cd1f515bdda976a1e90e547ccd47b67a1546d63884463c92ca9/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a30fd6fdef1430fd9e1ba7b3398b5ee4e2887783917a687d86ba69985fb08748", size = 2330818 }, + { url = "https://files.pythonhosted.org/packages/fa/e9/3f3fcba3bcc7432c795b82646306e822f3fd74df0ee81f0fa067a1f95668/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cc9617b46837c6468197b5945e196ee9ca43057bb7d9d1ae688101e4e1dddf64", size = 2419963 }, + { url = "https://files.pythonhosted.org/packages/99/43/7320c50e4133575c66e9f7dadead35ab22d7c012a3b09bb35647792b2a6d/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:0ab74e19f6a2b027ea4f845a78827969af45ce790e6cb3e1ebab71bdf9f215ff", size = 2594639 }, + { url = "https://files.pythonhosted.org/packages/65/d6/17ae4a270d4a987ef8a385b906d2bdfc9fce502d6dc0d3aea865b47f548c/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dba5ee5d3981160c28d5490f0d1b7ed730c22470ff7f6cc26cfcfaacb9896a07", size = 2391741 }, + { url = "https://files.pythonhosted.org/packages/2a/8f/8f6f491d595a9e5912971f3f863d81baddccc8a4d0c3749d6a0dd9ffc9df/kiwisolver-1.4.9-cp313-cp313t-win_arm64.whl", hash = "sha256:0749fd8f4218ad2e851e11cc4dc05c7cbc0cbc4267bdfdb31782e65aace4ee9c", size = 68646 }, + { url = "https://files.pythonhosted.org/packages/6b/32/6cc0fbc9c54d06c2969faa9c1d29f5751a2e51809dd55c69055e62d9b426/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9928fe1eb816d11ae170885a74d074f57af3a0d65777ca47e9aeb854a1fba386", size = 123806 }, + { url = "https://files.pythonhosted.org/packages/b2/dd/2bfb1d4a4823d92e8cbb420fe024b8d2167f72079b3bb941207c42570bdf/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d0005b053977e7b43388ddec89fa567f43d4f6d5c2c0affe57de5ebf290dc552", size = 66605 }, + { url = "https://files.pythonhosted.org/packages/f7/69/00aafdb4e4509c2ca6064646cba9cd4b37933898f426756adb2cb92ebbed/kiwisolver-1.4.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2635d352d67458b66fd0667c14cb1d4145e9560d503219034a18a87e971ce4f3", size = 64925 }, + { url = "https://files.pythonhosted.org/packages/43/dc/51acc6791aa14e5cb6d8a2e28cefb0dc2886d8862795449d021334c0df20/kiwisolver-1.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:767c23ad1c58c9e827b649a9ab7809fd5fd9db266a9cf02b0e926ddc2c680d58", size = 1472414 }, + { url = "https://files.pythonhosted.org/packages/3d/bb/93fa64a81db304ac8a246f834d5094fae4b13baf53c839d6bb6e81177129/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72d0eb9fba308b8311685c2268cf7d0a0639a6cd027d8128659f72bdd8a024b4", size = 1281272 }, + { url = "https://files.pythonhosted.org/packages/70/e6/6df102916960fb8d05069d4bd92d6d9a8202d5a3e2444494e7cd50f65b7a/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f68e4f3eeca8fb22cc3d731f9715a13b652795ef657a13df1ad0c7dc0e9731df", size = 1298578 }, + { url = "https://files.pythonhosted.org/packages/7c/47/e142aaa612f5343736b087864dbaebc53ea8831453fb47e7521fa8658f30/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d84cd4061ae292d8ac367b2c3fa3aad11cb8625a95d135fe93f286f914f3f5a6", size = 1345607 }, + { url = "https://files.pythonhosted.org/packages/54/89/d641a746194a0f4d1a3670fb900d0dbaa786fb98341056814bc3f058fa52/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a60ea74330b91bd22a29638940d115df9dc00af5035a9a2a6ad9399ffb4ceca5", size = 2230150 }, + { url = "https://files.pythonhosted.org/packages/aa/6b/5ee1207198febdf16ac11f78c5ae40861b809cbe0e6d2a8d5b0b3044b199/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ce6a3a4e106cf35c2d9c4fa17c05ce0b180db622736845d4315519397a77beaf", size = 2325979 }, + { url = "https://files.pythonhosted.org/packages/fc/ff/b269eefd90f4ae14dcc74973d5a0f6d28d3b9bb1afd8c0340513afe6b39a/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:77937e5e2a38a7b48eef0585114fe7930346993a88060d0bf886086d2aa49ef5", size = 2491456 }, + { url = "https://files.pythonhosted.org/packages/fc/d4/10303190bd4d30de547534601e259a4fbf014eed94aae3e5521129215086/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:24c175051354f4a28c5d6a31c93906dc653e2bf234e8a4bbfb964892078898ce", size = 2294621 }, + { url = "https://files.pythonhosted.org/packages/28/e0/a9a90416fce5c0be25742729c2ea52105d62eda6c4be4d803c2a7be1fa50/kiwisolver-1.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:0763515d4df10edf6d06a3c19734e2566368980d21ebec439f33f9eb936c07b7", size = 75417 }, + { url = "https://files.pythonhosted.org/packages/1f/10/6949958215b7a9a264299a7db195564e87900f709db9245e4ebdd3c70779/kiwisolver-1.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:0e4e2bf29574a6a7b7f6cb5fa69293b9f96c928949ac4a53ba3f525dffb87f9c", size = 66582 }, + { url = "https://files.pythonhosted.org/packages/ec/79/60e53067903d3bc5469b369fe0dfc6b3482e2133e85dae9daa9527535991/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d976bbb382b202f71c67f77b0ac11244021cfa3f7dfd9e562eefcea2df711548", size = 126514 }, + { url = "https://files.pythonhosted.org/packages/25/d1/4843d3e8d46b072c12a38c97c57fab4608d36e13fe47d47ee96b4d61ba6f/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2489e4e5d7ef9a1c300a5e0196e43d9c739f066ef23270607d45aba368b91f2d", size = 67905 }, + { url = "https://files.pythonhosted.org/packages/8c/ae/29ffcbd239aea8b93108de1278271ae764dfc0d803a5693914975f200596/kiwisolver-1.4.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e2ea9f7ab7fbf18fffb1b5434ce7c69a07582f7acc7717720f1d69f3e806f90c", size = 66399 }, + { url = "https://files.pythonhosted.org/packages/a1/ae/d7ba902aa604152c2ceba5d352d7b62106bedbccc8e95c3934d94472bfa3/kiwisolver-1.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b34e51affded8faee0dfdb705416153819d8ea9250bbbf7ea1b249bdeb5f1122", size = 1582197 }, + { url = "https://files.pythonhosted.org/packages/f2/41/27c70d427eddb8bc7e4f16420a20fefc6f480312122a59a959fdfe0445ad/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8aacd3d4b33b772542b2e01beb50187536967b514b00003bdda7589722d2a64", size = 1390125 }, + { url = "https://files.pythonhosted.org/packages/41/42/b3799a12bafc76d962ad69083f8b43b12bf4fe78b097b12e105d75c9b8f1/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7cf974dd4e35fa315563ac99d6287a1024e4dc2077b8a7d7cd3d2fb65d283134", size = 1402612 }, + { url = "https://files.pythonhosted.org/packages/d2/b5/a210ea073ea1cfaca1bb5c55a62307d8252f531beb364e18aa1e0888b5a0/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85bd218b5ecfbee8c8a82e121802dcb519a86044c9c3b2e4aef02fa05c6da370", size = 1453990 }, + { url = "https://files.pythonhosted.org/packages/5f/ce/a829eb8c033e977d7ea03ed32fb3c1781b4fa0433fbadfff29e39c676f32/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0856e241c2d3df4efef7c04a1e46b1936b6120c9bcf36dd216e3acd84bc4fb21", size = 2331601 }, + { url = "https://files.pythonhosted.org/packages/e0/4b/b5e97eb142eb9cd0072dacfcdcd31b1c66dc7352b0f7c7255d339c0edf00/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9af39d6551f97d31a4deebeac6f45b156f9755ddc59c07b402c148f5dbb6482a", size = 2422041 }, + { url = "https://files.pythonhosted.org/packages/40/be/8eb4cd53e1b85ba4edc3a9321666f12b83113a178845593307a3e7891f44/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:bb4ae2b57fc1d8cbd1cf7b1d9913803681ffa903e7488012be5b76dedf49297f", size = 2594897 }, + { url = "https://files.pythonhosted.org/packages/99/dd/841e9a66c4715477ea0abc78da039832fbb09dac5c35c58dc4c41a407b8a/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:aedff62918805fb62d43a4aa2ecd4482c380dc76cd31bd7c8878588a61bd0369", size = 2391835 }, + { url = "https://files.pythonhosted.org/packages/0c/28/4b2e5c47a0da96896fdfdb006340ade064afa1e63675d01ea5ac222b6d52/kiwisolver-1.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:1fa333e8b2ce4d9660f2cda9c0e1b6bafcfb2457a9d259faa82289e73ec24891", size = 79988 }, + { url = "https://files.pythonhosted.org/packages/80/be/3578e8afd18c88cdf9cb4cffde75a96d2be38c5a903f1ed0ceec061bd09e/kiwisolver-1.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:4a48a2ce79d65d363597ef7b567ce3d14d68783d2b2263d98db3d9477805ba32", size = 70260 }, + { url = "https://files.pythonhosted.org/packages/a2/63/fde392691690f55b38d5dd7b3710f5353bf7a8e52de93a22968801ab8978/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4d1d9e582ad4d63062d34077a9a1e9f3c34088a2ec5135b1f7190c07cf366527", size = 60183 }, + { url = "https://files.pythonhosted.org/packages/27/b1/6aad34edfdb7cced27f371866f211332bba215bfd918ad3322a58f480d8b/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:deed0c7258ceb4c44ad5ec7d9918f9f14fd05b2be86378d86cf50e63d1e7b771", size = 58675 }, + { url = "https://files.pythonhosted.org/packages/9d/1a/23d855a702bb35a76faed5ae2ba3de57d323f48b1f6b17ee2176c4849463/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a590506f303f512dff6b7f75fd2fd18e16943efee932008fe7140e5fa91d80e", size = 80277 }, + { url = "https://files.pythonhosted.org/packages/5a/5b/5239e3c2b8fb5afa1e8508f721bb77325f740ab6994d963e61b2b7abcc1e/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e09c2279a4d01f099f52d5c4b3d9e208e91edcbd1a175c9662a8b16e000fece9", size = 77994 }, + { url = "https://files.pythonhosted.org/packages/f9/1c/5d4d468fb16f8410e596ed0eac02d2c68752aa7dc92997fe9d60a7147665/kiwisolver-1.4.9-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c9e7cdf45d594ee04d5be1b24dd9d49f3d1590959b2271fb30b5ca2b262c00fb", size = 73744 }, + { url = "https://files.pythonhosted.org/packages/a3/0f/36d89194b5a32c054ce93e586d4049b6c2c22887b0eb229c61c68afd3078/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:720e05574713db64c356e86732c0f3c5252818d05f9df320f0ad8380641acea5", size = 60104 }, + { url = "https://files.pythonhosted.org/packages/52/ba/4ed75f59e4658fd21fe7dde1fee0ac397c678ec3befba3fe6482d987af87/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:17680d737d5335b552994a2008fab4c851bcd7de33094a82067ef3a576ff02fa", size = 58592 }, + { url = "https://files.pythonhosted.org/packages/33/01/a8ea7c5ea32a9b45ceeaee051a04c8ed4320f5add3c51bfa20879b765b70/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:85b5352f94e490c028926ea567fc569c52ec79ce131dadb968d3853e809518c2", size = 80281 }, + { url = "https://files.pythonhosted.org/packages/da/e3/dbd2ecdce306f1d07a1aaf324817ee993aab7aee9db47ceac757deabafbe/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:464415881e4801295659462c49461a24fb107c140de781d55518c4b80cb6790f", size = 78009 }, + { url = "https://files.pythonhosted.org/packages/da/e9/0d4add7873a73e462aeb45c036a2dead2562b825aa46ba326727b3f31016/kiwisolver-1.4.9-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:fb940820c63a9590d31d88b815e7a3aa5915cad3ce735ab45f0c730b39547de1", size = 73929 }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631 }, + { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057 }, + { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050 }, + { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681 }, + { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705 }, + { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524 }, + { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282 }, + { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745 }, + { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571 }, + { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056 }, + { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932 }, + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631 }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058 }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287 }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940 }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887 }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692 }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471 }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923 }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572 }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077 }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876 }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615 }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020 }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332 }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947 }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962 }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760 }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529 }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015 }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540 }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105 }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906 }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622 }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029 }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374 }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980 }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990 }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784 }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588 }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041 }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543 }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113 }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911 }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658 }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066 }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639 }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569 }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284 }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801 }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769 }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642 }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612 }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200 }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973 }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619 }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029 }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408 }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005 }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048 }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821 }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606 }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043 }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747 }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341 }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073 }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661 }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069 }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670 }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598 }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261 }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835 }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733 }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672 }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819 }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426 }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146 }, + { url = "https://files.pythonhosted.org/packages/56/23/0d8c13a44bde9154821586520840643467aee574d8ce79a17da539ee7fed/markupsafe-3.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26", size = 11623 }, + { url = "https://files.pythonhosted.org/packages/fd/23/07a2cb9a8045d5f3f0890a8c3bc0859d7a47bfd9a560b563899bec7b72ed/markupsafe-3.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc", size = 12049 }, + { url = "https://files.pythonhosted.org/packages/bc/e4/6be85eb81503f8e11b61c0b6369b6e077dcf0a74adbd9ebf6b349937b4e9/markupsafe-3.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c", size = 21923 }, + { url = "https://files.pythonhosted.org/packages/6f/bc/4dc914ead3fe6ddaef035341fee0fc956949bbd27335b611829292b89ee2/markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42", size = 20543 }, + { url = "https://files.pythonhosted.org/packages/89/6e/5fe81fbcfba4aef4093d5f856e5c774ec2057946052d18d168219b7bd9f9/markupsafe-3.0.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b", size = 20585 }, + { url = "https://files.pythonhosted.org/packages/f6/f6/e0e5a3d3ae9c4020f696cd055f940ef86b64fe88de26f3a0308b9d3d048c/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758", size = 21387 }, + { url = "https://files.pythonhosted.org/packages/c8/25/651753ef4dea08ea790f4fbb65146a9a44a014986996ca40102e237aa49a/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2", size = 20133 }, + { url = "https://files.pythonhosted.org/packages/dc/0a/c3cf2b4fef5f0426e8a6d7fce3cb966a17817c568ce59d76b92a233fdbec/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d", size = 20588 }, + { url = "https://files.pythonhosted.org/packages/cd/1b/a7782984844bd519ad4ffdbebbba2671ec5d0ebbeac34736c15fb86399e8/markupsafe-3.0.3-cp39-cp39-win32.whl", hash = "sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7", size = 14566 }, + { url = "https://files.pythonhosted.org/packages/18/1f/8d9c20e1c9440e215a44be5ab64359e207fcb4f675543f1cf9a2a7f648d0/markupsafe-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e", size = 15053 }, + { url = "https://files.pythonhosted.org/packages/4e/d3/fe08482b5cd995033556d45041a4f4e76e7f0521112a9c9991d40d39825f/markupsafe-3.0.3-cp39-cp39-win_arm64.whl", hash = "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8", size = 13928 }, +] + +[[package]] +name = "matplotlib" +version = "3.9.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "cycler", marker = "python_full_version < '3.10'" }, + { name = "fonttools", version = "4.60.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "importlib-resources", marker = "python_full_version < '3.10'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "pillow", version = "11.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pyparsing", marker = "python_full_version < '3.10'" }, + { name = "python-dateutil", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089 }, + { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600 }, + { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138 }, + { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711 }, + { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622 }, + { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211 }, + { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430 }, + { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045 }, + { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906 }, + { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873 }, + { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566 }, + { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065 }, + { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131 }, + { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365 }, + { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707 }, + { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761 }, + { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284 }, + { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160 }, + { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499 }, + { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802 }, + { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802 }, + { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880 }, + { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637 }, + { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311 }, + { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989 }, + { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417 }, + { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258 }, + { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849 }, + { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152 }, + { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987 }, + { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919 }, + { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486 }, + { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838 }, + { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492 }, + { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500 }, + { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962 }, + { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995 }, + { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300 }, + { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423 }, + { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624 }, +] + +[[package]] +name = "matplotlib" +version = "3.10.8" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "cycler", marker = "python_full_version >= '3.10'" }, + { name = "fonttools", version = "4.61.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "kiwisolver", version = "1.4.9", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pillow", version = "12.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pyparsing", marker = "python_full_version >= '3.10'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/76/d3c6e3a13fe484ebe7718d14e269c9569c4eb0020a968a327acb3b9a8fe6/matplotlib-3.10.8.tar.gz", hash = "sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3", size = 34806269 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/be/a30bd917018ad220c400169fba298f2bb7003c8ccbc0c3e24ae2aacad1e8/matplotlib-3.10.8-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:00270d217d6b20d14b584c521f810d60c5c78406dc289859776550df837dcda7", size = 8239828 }, + { url = "https://files.pythonhosted.org/packages/58/27/ca01e043c4841078e82cf6e80a6993dfecd315c3d79f5f3153afbb8e1ec6/matplotlib-3.10.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:37b3c1cc42aa184b3f738cfa18c1c1d72fd496d85467a6cf7b807936d39aa656", size = 8128050 }, + { url = "https://files.pythonhosted.org/packages/cb/aa/7ab67f2b729ae6a91bcf9dcac0affb95fb8c56f7fd2b2af894ae0b0cf6fa/matplotlib-3.10.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ee40c27c795bda6a5292e9cff9890189d32f7e3a0bf04e0e3c9430c4a00c37df", size = 8700452 }, + { url = "https://files.pythonhosted.org/packages/73/ae/2d5817b0acee3c49b7e7ccfbf5b273f284957cc8e270adf36375db353190/matplotlib-3.10.8-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a48f2b74020919552ea25d222d5cc6af9ca3f4eb43a93e14d068457f545c2a17", size = 9534928 }, + { url = "https://files.pythonhosted.org/packages/c9/5b/8e66653e9f7c39cb2e5cab25fce4810daffa2bff02cbf5f3077cea9e942c/matplotlib-3.10.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f254d118d14a7f99d616271d6c3c27922c092dac11112670b157798b89bf4933", size = 9586377 }, + { url = "https://files.pythonhosted.org/packages/e2/e2/fd0bbadf837f81edb0d208ba8f8cb552874c3b16e27cb91a31977d90875d/matplotlib-3.10.8-cp310-cp310-win_amd64.whl", hash = "sha256:f9b587c9c7274c1613a30afabf65a272114cd6cdbe67b3406f818c79d7ab2e2a", size = 8128127 }, + { url = "https://files.pythonhosted.org/packages/f8/86/de7e3a1cdcfc941483af70609edc06b83e7c8a0e0dc9ac325200a3f4d220/matplotlib-3.10.8-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6be43b667360fef5c754dda5d25a32e6307a03c204f3c0fc5468b78fa87b4160", size = 8251215 }, + { url = "https://files.pythonhosted.org/packages/fd/14/baad3222f424b19ce6ad243c71de1ad9ec6b2e4eb1e458a48fdc6d120401/matplotlib-3.10.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2b336e2d91a3d7006864e0990c83b216fcdca64b5a6484912902cef87313d78", size = 8139625 }, + { url = "https://files.pythonhosted.org/packages/8f/a0/7024215e95d456de5883e6732e708d8187d9753a21d32f8ddb3befc0c445/matplotlib-3.10.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:efb30e3baaea72ce5928e32bab719ab4770099079d66726a62b11b1ef7273be4", size = 8712614 }, + { url = "https://files.pythonhosted.org/packages/5a/f4/b8347351da9a5b3f41e26cf547252d861f685c6867d179a7c9d60ad50189/matplotlib-3.10.8-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d56a1efd5bfd61486c8bc968fa18734464556f0fb8e51690f4ac25d85cbbbbc2", size = 9540997 }, + { url = "https://files.pythonhosted.org/packages/9e/c0/c7b914e297efe0bc36917bf216b2acb91044b91e930e878ae12981e461e5/matplotlib-3.10.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:238b7ce5717600615c895050239ec955d91f321c209dd110db988500558e70d6", size = 9596825 }, + { url = "https://files.pythonhosted.org/packages/6f/d3/a4bbc01c237ab710a1f22b4da72f4ff6d77eb4c7735ea9811a94ae239067/matplotlib-3.10.8-cp311-cp311-win_amd64.whl", hash = "sha256:18821ace09c763ec93aef5eeff087ee493a24051936d7b9ebcad9662f66501f9", size = 8135090 }, + { url = "https://files.pythonhosted.org/packages/89/dd/a0b6588f102beab33ca6f5218b31725216577b2a24172f327eaf6417d5c9/matplotlib-3.10.8-cp311-cp311-win_arm64.whl", hash = "sha256:bab485bcf8b1c7d2060b4fcb6fc368a9e6f4cd754c9c2fea281f4be21df394a2", size = 8012377 }, + { url = "https://files.pythonhosted.org/packages/9e/67/f997cdcbb514012eb0d10cd2b4b332667997fb5ebe26b8d41d04962fa0e6/matplotlib-3.10.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a", size = 8260453 }, + { url = "https://files.pythonhosted.org/packages/7e/65/07d5f5c7f7c994f12c768708bd2e17a4f01a2b0f44a1c9eccad872433e2e/matplotlib-3.10.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58", size = 8148321 }, + { url = "https://files.pythonhosted.org/packages/3e/f3/c5195b1ae57ef85339fd7285dfb603b22c8b4e79114bae5f4f0fcf688677/matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04", size = 8716944 }, + { url = "https://files.pythonhosted.org/packages/00/f9/7638f5cc82ec8a7aa005de48622eecc3ed7c9854b96ba15bd76b7fd27574/matplotlib-3.10.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f", size = 9550099 }, + { url = "https://files.pythonhosted.org/packages/57/61/78cd5920d35b29fd2a0fe894de8adf672ff52939d2e9b43cb83cd5ce1bc7/matplotlib-3.10.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466", size = 9613040 }, + { url = "https://files.pythonhosted.org/packages/30/4e/c10f171b6e2f44d9e3a2b96efa38b1677439d79c99357600a62cc1e9594e/matplotlib-3.10.8-cp312-cp312-win_amd64.whl", hash = "sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf", size = 8142717 }, + { url = "https://files.pythonhosted.org/packages/f1/76/934db220026b5fef85f45d51a738b91dea7d70207581063cd9bd8fafcf74/matplotlib-3.10.8-cp312-cp312-win_arm64.whl", hash = "sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b", size = 8012751 }, + { url = "https://files.pythonhosted.org/packages/3d/b9/15fd5541ef4f5b9a17eefd379356cf12175fe577424e7b1d80676516031a/matplotlib-3.10.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3f2e409836d7f5ac2f1c013110a4d50b9f7edc26328c108915f9075d7d7a91b6", size = 8261076 }, + { url = "https://files.pythonhosted.org/packages/8d/a0/2ba3473c1b66b9c74dc7107c67e9008cb1782edbe896d4c899d39ae9cf78/matplotlib-3.10.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56271f3dac49a88d7fca5060f004d9d22b865f743a12a23b1e937a0be4818ee1", size = 8148794 }, + { url = "https://files.pythonhosted.org/packages/75/97/a471f1c3eb1fd6f6c24a31a5858f443891d5127e63a7788678d14e249aea/matplotlib-3.10.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a0a7f52498f72f13d4a25ea70f35f4cb60642b466cbb0a9be951b5bc3f45a486", size = 8718474 }, + { url = "https://files.pythonhosted.org/packages/01/be/cd478f4b66f48256f42927d0acbcd63a26a893136456cd079c0cc24fbabf/matplotlib-3.10.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:646d95230efb9ca614a7a594d4fcacde0ac61d25e37dd51710b36477594963ce", size = 9549637 }, + { url = "https://files.pythonhosted.org/packages/5d/7c/8dc289776eae5109e268c4fb92baf870678dc048a25d4ac903683b86d5bf/matplotlib-3.10.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f89c151aab2e2e23cb3fe0acad1e8b82841fd265379c4cecd0f3fcb34c15e0f6", size = 9613678 }, + { url = "https://files.pythonhosted.org/packages/64/40/37612487cc8a437d4dd261b32ca21fe2d79510fe74af74e1f42becb1bdb8/matplotlib-3.10.8-cp313-cp313-win_amd64.whl", hash = "sha256:e8ea3e2d4066083e264e75c829078f9e149fa119d27e19acd503de65e0b13149", size = 8142686 }, + { url = "https://files.pythonhosted.org/packages/66/52/8d8a8730e968185514680c2a6625943f70269509c3dcfc0dcf7d75928cb8/matplotlib-3.10.8-cp313-cp313-win_arm64.whl", hash = "sha256:c108a1d6fa78a50646029cb6d49808ff0fc1330fda87fa6f6250c6b5369b6645", size = 8012917 }, + { url = "https://files.pythonhosted.org/packages/b5/27/51fe26e1062f298af5ef66343d8ef460e090a27fea73036c76c35821df04/matplotlib-3.10.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ad3d9833a64cf48cc4300f2b406c3d0f4f4724a91c0bd5640678a6ba7c102077", size = 8305679 }, + { url = "https://files.pythonhosted.org/packages/2c/1e/4de865bc591ac8e3062e835f42dd7fe7a93168d519557837f0e37513f629/matplotlib-3.10.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:eb3823f11823deade26ce3b9f40dcb4a213da7a670013929f31d5f5ed1055b22", size = 8198336 }, + { url = "https://files.pythonhosted.org/packages/c6/cb/2f7b6e75fb4dce87ef91f60cac4f6e34f4c145ab036a22318ec837971300/matplotlib-3.10.8-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d9050fee89a89ed57b4fb2c1bfac9a3d0c57a0d55aed95949eedbc42070fea39", size = 8731653 }, + { url = "https://files.pythonhosted.org/packages/46/b3/bd9c57d6ba670a37ab31fb87ec3e8691b947134b201f881665b28cc039ff/matplotlib-3.10.8-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b44d07310e404ba95f8c25aa5536f154c0a8ec473303535949e52eb71d0a1565", size = 9561356 }, + { url = "https://files.pythonhosted.org/packages/c0/3d/8b94a481456dfc9dfe6e39e93b5ab376e50998cddfd23f4ae3b431708f16/matplotlib-3.10.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0a33deb84c15ede243aead39f77e990469fff93ad1521163305095b77b72ce4a", size = 9614000 }, + { url = "https://files.pythonhosted.org/packages/bd/cd/bc06149fe5585ba800b189a6a654a75f1f127e8aab02fd2be10df7fa500c/matplotlib-3.10.8-cp313-cp313t-win_amd64.whl", hash = "sha256:3a48a78d2786784cc2413e57397981fb45c79e968d99656706018d6e62e57958", size = 8220043 }, + { url = "https://files.pythonhosted.org/packages/e3/de/b22cf255abec916562cc04eef457c13e58a1990048de0c0c3604d082355e/matplotlib-3.10.8-cp313-cp313t-win_arm64.whl", hash = "sha256:15d30132718972c2c074cd14638c7f4592bd98719e2308bccea40e0538bc0cb5", size = 8062075 }, + { url = "https://files.pythonhosted.org/packages/3c/43/9c0ff7a2f11615e516c3b058e1e6e8f9614ddeca53faca06da267c48345d/matplotlib-3.10.8-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b53285e65d4fa4c86399979e956235deb900be5baa7fc1218ea67fbfaeaadd6f", size = 8262481 }, + { url = "https://files.pythonhosted.org/packages/6f/ca/e8ae28649fcdf039fda5ef554b40a95f50592a3c47e6f7270c9561c12b07/matplotlib-3.10.8-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:32f8dce744be5569bebe789e46727946041199030db8aeb2954d26013a0eb26b", size = 8151473 }, + { url = "https://files.pythonhosted.org/packages/f1/6f/009d129ae70b75e88cbe7e503a12a4c0670e08ed748a902c2568909e9eb5/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4cf267add95b1c88300d96ca837833d4112756045364f5c734a2276038dae27d", size = 9553896 }, + { url = "https://files.pythonhosted.org/packages/f5/26/4221a741eb97967bc1fd5e4c52b9aa5a91b2f4ec05b59f6def4d820f9df9/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2cf5bd12cecf46908f286d7838b2abc6c91cda506c0445b8223a7c19a00df008", size = 9824193 }, + { url = "https://files.pythonhosted.org/packages/1f/f3/3abf75f38605772cf48a9daf5821cd4f563472f38b4b828c6fba6fa6d06e/matplotlib-3.10.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:41703cc95688f2516b480f7f339d8851a6035f18e100ee6a32bc0b8536a12a9c", size = 9615444 }, + { url = "https://files.pythonhosted.org/packages/93/a5/de89ac80f10b8dc615807ee1133cd99ac74082581196d4d9590bea10690d/matplotlib-3.10.8-cp314-cp314-win_amd64.whl", hash = "sha256:83d282364ea9f3e52363da262ce32a09dfe241e4080dcedda3c0db059d3c1f11", size = 8272719 }, + { url = "https://files.pythonhosted.org/packages/69/ce/b006495c19ccc0a137b48083168a37bd056392dee02f87dba0472f2797fe/matplotlib-3.10.8-cp314-cp314-win_arm64.whl", hash = "sha256:2c1998e92cd5999e295a731bcb2911c75f597d937341f3030cc24ef2733d78a8", size = 8144205 }, + { url = "https://files.pythonhosted.org/packages/68/d9/b31116a3a855bd313c6fcdb7226926d59b041f26061c6c5b1be66a08c826/matplotlib-3.10.8-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b5a2b97dbdc7d4f353ebf343744f1d1f1cca8aa8bfddb4262fcf4306c3761d50", size = 8305785 }, + { url = "https://files.pythonhosted.org/packages/1e/90/6effe8103f0272685767ba5f094f453784057072f49b393e3ea178fe70a5/matplotlib-3.10.8-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3f5c3e4da343bba819f0234186b9004faba952cc420fbc522dc4e103c1985908", size = 8198361 }, + { url = "https://files.pythonhosted.org/packages/d7/65/a73188711bea603615fc0baecca1061429ac16940e2385433cc778a9d8e7/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f62550b9a30afde8c1c3ae450e5eb547d579dd69b25c2fc7a1c67f934c1717a", size = 9561357 }, + { url = "https://files.pythonhosted.org/packages/f4/3d/b5c5d5d5be8ce63292567f0e2c43dde9953d3ed86ac2de0a72e93c8f07a1/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:495672de149445ec1b772ff2c9ede9b769e3cb4f0d0aa7fa730d7f59e2d4e1c1", size = 9823610 }, + { url = "https://files.pythonhosted.org/packages/4d/4b/e7beb6bbd49f6bae727a12b270a2654d13c397576d25bd6786e47033300f/matplotlib-3.10.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:595ba4d8fe983b88f0eec8c26a241e16d6376fe1979086232f481f8f3f67494c", size = 9614011 }, + { url = "https://files.pythonhosted.org/packages/7c/e6/76f2813d31f032e65f6f797e3f2f6e4aab95b65015924b1c51370395c28a/matplotlib-3.10.8-cp314-cp314t-win_amd64.whl", hash = "sha256:25d380fe8b1dc32cf8f0b1b448470a77afb195438bafdf1d858bfb876f3edf7b", size = 8362801 }, + { url = "https://files.pythonhosted.org/packages/5d/49/d651878698a0b67f23aa28e17f45a6d6dd3d3f933fa29087fa4ce5947b5a/matplotlib-3.10.8-cp314-cp314t-win_arm64.whl", hash = "sha256:113bb52413ea508ce954a02c10ffd0d565f9c3bc7f2eddc27dfe1731e71c7b5f", size = 8192560 }, + { url = "https://files.pythonhosted.org/packages/f5/43/31d59500bb950b0d188e149a2e552040528c13d6e3d6e84d0cccac593dcd/matplotlib-3.10.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f97aeb209c3d2511443f8797e3e5a569aebb040d4f8bc79aa3ee78a8fb9e3dd8", size = 8237252 }, + { url = "https://files.pythonhosted.org/packages/0c/2c/615c09984f3c5f907f51c886538ad785cf72e0e11a3225de2c0f9442aecc/matplotlib-3.10.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fb061f596dad3a0f52b60dc6a5dec4a0c300dec41e058a7efe09256188d170b7", size = 8124693 }, + { url = "https://files.pythonhosted.org/packages/91/e1/2757277a1c56041e1fc104b51a0f7b9a4afc8eb737865d63cababe30bc61/matplotlib-3.10.8-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:12d90df9183093fcd479f4172ac26b322b1248b15729cb57f42f71f24c7e37a3", size = 8702205 }, + { url = "https://files.pythonhosted.org/packages/04/30/3afaa31c757f34b7725ab9d2ba8b48b5e89c2019c003e7d0ead143aabc5a/matplotlib-3.10.8-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6da7c2ce169267d0d066adcf63758f0604aa6c3eebf67458930f9d9b79ad1db1", size = 8249198 }, + { url = "https://files.pythonhosted.org/packages/48/2f/6334aec331f57485a642a7c8be03cb286f29111ae71c46c38b363230063c/matplotlib-3.10.8-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9153c3292705be9f9c64498a8872118540c3f4123d1a1c840172edf262c8be4a", size = 8136817 }, + { url = "https://files.pythonhosted.org/packages/73/e4/6d6f14b2a759c622f191b2d67e9075a3f56aaccb3be4bb9bb6890030d0a0/matplotlib-3.10.8-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ae029229a57cd1e8fe542485f27e7ca7b23aa9e8944ddb4985d0bc444f1eca2", size = 8713867 }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe", size = 8110 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76", size = 9516 }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema", version = "4.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "jsonschema", version = "4.26.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454 }, +] + +[[package]] +name = "nbval" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "coverage", version = "7.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "ipykernel", version = "6.31.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "ipykernel", version = "7.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-client", version = "8.6.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "jupyter-client", version = "8.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "nbformat" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/be/22bd64d09e0cb53258f83b6fc455f05f18a78e3e5c109ccb6af42f1f49a2/nbval-0.11.0.tar.gz", hash = "sha256:77c95797607b0a968babd2597ee3494102d25c3ad37435debbdac0e46e379094", size = 62718 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/5c/eb1e3ce54c4e94c7734b3831756c63f21badb3de91a98d77b9e23c0ca76a/nbval-0.11.0-py2.py3-none-any.whl", hash = "sha256:307aecc866c9a1e8a13bb5bbb008a702bacfda2394dff6fe504a3108a58042a0", size = 24013 }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195 }, +] + +[[package]] +name = "numpy" +version = "2.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245 }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540 }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623 }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774 }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081 }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451 }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572 }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722 }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170 }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558 }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137 }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552 }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957 }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573 }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330 }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895 }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253 }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074 }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640 }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230 }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803 }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835 }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499 }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497 }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158 }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173 }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174 }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701 }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313 }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942 }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512 }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976 }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494 }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596 }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099 }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823 }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424 }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809 }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314 }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288 }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793 }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885 }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784 }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245 }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048 }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542 }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301 }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320 }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050 }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034 }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185 }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149 }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620 }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963 }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743 }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616 }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579 }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005 }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570 }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548 }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521 }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866 }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455 }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348 }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362 }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103 }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382 }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462 }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618 }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511 }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783 }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506 }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190 }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828 }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006 }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765 }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736 }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719 }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072 }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213 }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632 }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532 }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885 }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467 }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144 }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217 }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014 }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935 }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122 }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143 }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260 }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225 }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374 }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391 }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754 }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476 }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666 }, +] + +[[package]] +name = "numpy" +version = "2.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/57/fd/0005efbd0af48e55eb3c7208af93f2862d4b1a56cd78e84309a2d959208d/numpy-2.4.2.tar.gz", hash = "sha256:659a6107e31a83c4e33f763942275fd278b21d095094044eb35569e86a21ddae", size = 20723651 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/44/71852273146957899753e69986246d6a176061ea183407e95418c2aa4d9a/numpy-2.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e7e88598032542bd49af7c4747541422884219056c268823ef6e5e89851c8825", size = 16955478 }, + { url = "https://files.pythonhosted.org/packages/74/41/5d17d4058bd0cd96bcbd4d9ff0fb2e21f52702aab9a72e4a594efa18692f/numpy-2.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7edc794af8b36ca37ef5fcb5e0d128c7e0595c7b96a2318d1badb6fcd8ee86b1", size = 14965467 }, + { url = "https://files.pythonhosted.org/packages/49/48/fb1ce8136c19452ed15f033f8aee91d5defe515094e330ce368a0647846f/numpy-2.4.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:6e9f61981ace1360e42737e2bae58b27bf28a1b27e781721047d84bd754d32e7", size = 5475172 }, + { url = "https://files.pythonhosted.org/packages/40/a9/3feb49f17bbd1300dd2570432961f5c8a4ffeff1db6f02c7273bd020a4c9/numpy-2.4.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:cb7bbb88aa74908950d979eeaa24dbdf1a865e3c7e45ff0121d8f70387b55f73", size = 6805145 }, + { url = "https://files.pythonhosted.org/packages/3f/39/fdf35cbd6d6e2fcad42fcf85ac04a85a0d0fbfbf34b30721c98d602fd70a/numpy-2.4.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4f069069931240b3fc703f1e23df63443dbd6390614c8c44a87d96cd0ec81eb1", size = 15966084 }, + { url = "https://files.pythonhosted.org/packages/1b/46/6fa4ea94f1ddf969b2ee941290cca6f1bfac92b53c76ae5f44afe17ceb69/numpy-2.4.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c02ef4401a506fb60b411467ad501e1429a3487abca4664871d9ae0b46c8ba32", size = 16899477 }, + { url = "https://files.pythonhosted.org/packages/09/a1/2a424e162b1a14a5bd860a464ab4e07513916a64ab1683fae262f735ccd2/numpy-2.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2653de5c24910e49c2b106499803124dde62a5a1fe0eedeaecf4309a5f639390", size = 17323429 }, + { url = "https://files.pythonhosted.org/packages/ce/a2/73014149ff250628df72c58204822ac01d768697913881aacf839ff78680/numpy-2.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1ae241bbfc6ae276f94a170b14785e561cb5e7f626b6688cf076af4110887413", size = 18635109 }, + { url = "https://files.pythonhosted.org/packages/6c/0c/73e8be2f1accd56df74abc1c5e18527822067dced5ec0861b5bb882c2ce0/numpy-2.4.2-cp311-cp311-win32.whl", hash = "sha256:df1b10187212b198dd45fa943d8985a3c8cf854aed4923796e0e019e113a1bda", size = 6237915 }, + { url = "https://files.pythonhosted.org/packages/76/ae/e0265e0163cf127c24c3969d29f1c4c64551a1e375d95a13d32eab25d364/numpy-2.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:b9c618d56a29c9cb1c4da979e9899be7578d2e0b3c24d52079c166324c9e8695", size = 12607972 }, + { url = "https://files.pythonhosted.org/packages/29/a5/c43029af9b8014d6ea157f192652c50042e8911f4300f8f6ed3336bf437f/numpy-2.4.2-cp311-cp311-win_arm64.whl", hash = "sha256:47c5a6ed21d9452b10227e5e8a0e1c22979811cad7dcc19d8e3e2fb8fa03f1a3", size = 10485763 }, + { url = "https://files.pythonhosted.org/packages/51/6e/6f394c9c77668153e14d4da83bcc247beb5952f6ead7699a1a2992613bea/numpy-2.4.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:21982668592194c609de53ba4933a7471880ccbaadcc52352694a59ecc860b3a", size = 16667963 }, + { url = "https://files.pythonhosted.org/packages/1f/f8/55483431f2b2fd015ae6ed4fe62288823ce908437ed49db5a03d15151678/numpy-2.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40397bda92382fcec844066efb11f13e1c9a3e2a8e8f318fb72ed8b6db9f60f1", size = 14693571 }, + { url = "https://files.pythonhosted.org/packages/2f/20/18026832b1845cdc82248208dd929ca14c9d8f2bac391f67440707fff27c/numpy-2.4.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:b3a24467af63c67829bfaa61eecf18d5432d4f11992688537be59ecd6ad32f5e", size = 5203469 }, + { url = "https://files.pythonhosted.org/packages/7d/33/2eb97c8a77daaba34eaa3fa7241a14ac5f51c46a6bd5911361b644c4a1e2/numpy-2.4.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:805cc8de9fd6e7a22da5aed858e0ab16be5a4db6c873dde1d7451c541553aa27", size = 6550820 }, + { url = "https://files.pythonhosted.org/packages/b1/91/b97fdfd12dc75b02c44e26c6638241cc004d4079a0321a69c62f51470c4c/numpy-2.4.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d82351358ffbcdcd7b686b90742a9b86632d6c1c051016484fa0b326a0a1548", size = 15663067 }, + { url = "https://files.pythonhosted.org/packages/f5/c6/a18e59f3f0b8071cc85cbc8d80cd02d68aa9710170b2553a117203d46936/numpy-2.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e35d3e0144137d9fdae62912e869136164534d64a169f86438bc9561b6ad49f", size = 16619782 }, + { url = "https://files.pythonhosted.org/packages/b7/83/9751502164601a79e18847309f5ceec0b1446d7b6aa12305759b72cf98b2/numpy-2.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:adb6ed2ad29b9e15321d167d152ee909ec73395901b70936f029c3bc6d7f4460", size = 17013128 }, + { url = "https://files.pythonhosted.org/packages/61/c4/c4066322256ec740acc1c8923a10047818691d2f8aec254798f3dd90f5f2/numpy-2.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8906e71fd8afcb76580404e2a950caef2685df3d2a57fe82a86ac8d33cc007ba", size = 18345324 }, + { url = "https://files.pythonhosted.org/packages/ab/af/6157aa6da728fa4525a755bfad486ae7e3f76d4c1864138003eb84328497/numpy-2.4.2-cp312-cp312-win32.whl", hash = "sha256:ec055f6dae239a6299cace477b479cca2fc125c5675482daf1dd886933a1076f", size = 5960282 }, + { url = "https://files.pythonhosted.org/packages/92/0f/7ceaaeaacb40567071e94dbf2c9480c0ae453d5bb4f52bea3892c39dc83c/numpy-2.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:209fae046e62d0ce6435fcfe3b1a10537e858249b3d9b05829e2a05218296a85", size = 12314210 }, + { url = "https://files.pythonhosted.org/packages/2f/a3/56c5c604fae6dd40fa2ed3040d005fca97e91bd320d232ac9931d77ba13c/numpy-2.4.2-cp312-cp312-win_arm64.whl", hash = "sha256:fbde1b0c6e81d56f5dccd95dd4a711d9b95df1ae4009a60887e56b27e8d903fa", size = 10220171 }, + { url = "https://files.pythonhosted.org/packages/a1/22/815b9fe25d1d7ae7d492152adbc7226d3eff731dffc38fe970589fcaaa38/numpy-2.4.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25f2059807faea4b077a2b6837391b5d830864b3543627f381821c646f31a63c", size = 16663696 }, + { url = "https://files.pythonhosted.org/packages/09/f0/817d03a03f93ba9c6c8993de509277d84e69f9453601915e4a69554102a1/numpy-2.4.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bd3a7a9f5847d2fb8c2c6d1c862fa109c31a9abeca1a3c2bd5a64572955b2979", size = 14688322 }, + { url = "https://files.pythonhosted.org/packages/da/b4/f805ab79293c728b9a99438775ce51885fd4f31b76178767cfc718701a39/numpy-2.4.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8e4549f8a3c6d13d55041925e912bfd834285ef1dd64d6bc7d542583355e2e98", size = 5198157 }, + { url = "https://files.pythonhosted.org/packages/74/09/826e4289844eccdcd64aac27d13b0fd3f32039915dd5b9ba01baae1f436c/numpy-2.4.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:aea4f66ff44dfddf8c2cffd66ba6538c5ec67d389285292fe428cb2c738c8aef", size = 6546330 }, + { url = "https://files.pythonhosted.org/packages/19/fb/cbfdbfa3057a10aea5422c558ac57538e6acc87ec1669e666d32ac198da7/numpy-2.4.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3cd545784805de05aafe1dde61752ea49a359ccba9760c1e5d1c88a93bbf2b7", size = 15660968 }, + { url = "https://files.pythonhosted.org/packages/04/dc/46066ce18d01645541f0186877377b9371b8fa8017fa8262002b4ef22612/numpy-2.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0d9b7c93578baafcbc5f0b83eaf17b79d345c6f36917ba0c67f45226911d499", size = 16607311 }, + { url = "https://files.pythonhosted.org/packages/14/d9/4b5adfc39a43fa6bf918c6d544bc60c05236cc2f6339847fc5b35e6cb5b0/numpy-2.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f74f0f7779cc7ae07d1810aab8ac6b1464c3eafb9e283a40da7309d5e6e48fbb", size = 17012850 }, + { url = "https://files.pythonhosted.org/packages/b7/20/adb6e6adde6d0130046e6fdfb7675cc62bc2f6b7b02239a09eb58435753d/numpy-2.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c7ac672d699bf36275c035e16b65539931347d68b70667d28984c9fb34e07fa7", size = 18334210 }, + { url = "https://files.pythonhosted.org/packages/78/0e/0a73b3dff26803a8c02baa76398015ea2a5434d9b8265a7898a6028c1591/numpy-2.4.2-cp313-cp313-win32.whl", hash = "sha256:8e9afaeb0beff068b4d9cd20d322ba0ee1cecfb0b08db145e4ab4dd44a6b5110", size = 5958199 }, + { url = "https://files.pythonhosted.org/packages/43/bc/6352f343522fcb2c04dbaf94cb30cca6fd32c1a750c06ad6231b4293708c/numpy-2.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:7df2de1e4fba69a51c06c28f5a3de36731eb9639feb8e1cf7e4a7b0daf4cf622", size = 12310848 }, + { url = "https://files.pythonhosted.org/packages/6e/8d/6da186483e308da5da1cc6918ce913dcfe14ffde98e710bfeff2a6158d4e/numpy-2.4.2-cp313-cp313-win_arm64.whl", hash = "sha256:0fece1d1f0a89c16b03442eae5c56dc0be0c7883b5d388e0c03f53019a4bfd71", size = 10221082 }, + { url = "https://files.pythonhosted.org/packages/25/a1/9510aa43555b44781968935c7548a8926274f815de42ad3997e9e83680dd/numpy-2.4.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5633c0da313330fd20c484c78cdd3f9b175b55e1a766c4a174230c6b70ad8262", size = 14815866 }, + { url = "https://files.pythonhosted.org/packages/36/30/6bbb5e76631a5ae46e7923dd16ca9d3f1c93cfa8d4ed79a129814a9d8db3/numpy-2.4.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d9f64d786b3b1dd742c946c42d15b07497ed14af1a1f3ce840cce27daa0ce913", size = 5325631 }, + { url = "https://files.pythonhosted.org/packages/46/00/3a490938800c1923b567b3a15cd17896e68052e2145d8662aaf3e1ffc58f/numpy-2.4.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:b21041e8cb6a1eb5312dd1d2f80a94d91efffb7a06b70597d44f1bd2dfc315ab", size = 6646254 }, + { url = "https://files.pythonhosted.org/packages/d3/e9/fac0890149898a9b609caa5af7455a948b544746e4b8fe7c212c8edd71f8/numpy-2.4.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:00ab83c56211a1d7c07c25e3217ea6695e50a3e2f255053686b081dc0b091a82", size = 15720138 }, + { url = "https://files.pythonhosted.org/packages/ea/5c/08887c54e68e1e28df53709f1893ce92932cc6f01f7c3d4dc952f61ffd4e/numpy-2.4.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fb882da679409066b4603579619341c6d6898fc83a8995199d5249f986e8e8f", size = 16655398 }, + { url = "https://files.pythonhosted.org/packages/4d/89/253db0fa0e66e9129c745e4ef25631dc37d5f1314dad2b53e907b8538e6d/numpy-2.4.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:66cb9422236317f9d44b67b4d18f44efe6e9c7f8794ac0462978513359461554", size = 17079064 }, + { url = "https://files.pythonhosted.org/packages/2a/d5/cbade46ce97c59c6c3da525e8d95b7abe8a42974a1dc5c1d489c10433e88/numpy-2.4.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0f01dcf33e73d80bd8dc0f20a71303abbafa26a19e23f6b68d1aa9990af90257", size = 18379680 }, + { url = "https://files.pythonhosted.org/packages/40/62/48f99ae172a4b63d981babe683685030e8a3df4f246c893ea5c6ef99f018/numpy-2.4.2-cp313-cp313t-win32.whl", hash = "sha256:52b913ec40ff7ae845687b0b34d8d93b60cb66dcee06996dd5c99f2fc9328657", size = 6082433 }, + { url = "https://files.pythonhosted.org/packages/07/38/e054a61cfe48ad9f1ed0d188e78b7e26859d0b60ef21cd9de4897cdb5326/numpy-2.4.2-cp313-cp313t-win_amd64.whl", hash = "sha256:5eea80d908b2c1f91486eb95b3fb6fab187e569ec9752ab7d9333d2e66bf2d6b", size = 12451181 }, + { url = "https://files.pythonhosted.org/packages/6e/a4/a05c3a6418575e185dd84d0b9680b6bb2e2dc3e4202f036b7b4e22d6e9dc/numpy-2.4.2-cp313-cp313t-win_arm64.whl", hash = "sha256:fd49860271d52127d61197bb50b64f58454e9f578cb4b2c001a6de8b1f50b0b1", size = 10290756 }, + { url = "https://files.pythonhosted.org/packages/18/88/b7df6050bf18fdcfb7046286c6535cabbdd2064a3440fca3f069d319c16e/numpy-2.4.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:444be170853f1f9d528428eceb55f12918e4fda5d8805480f36a002f1415e09b", size = 16663092 }, + { url = "https://files.pythonhosted.org/packages/25/7a/1fee4329abc705a469a4afe6e69b1ef7e915117747886327104a8493a955/numpy-2.4.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d1240d50adff70c2a88217698ca844723068533f3f5c5fa6ee2e3220e3bdb000", size = 14698770 }, + { url = "https://files.pythonhosted.org/packages/fb/0b/f9e49ba6c923678ad5bc38181c08ac5e53b7a5754dbca8e581aa1a56b1ff/numpy-2.4.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:7cdde6de52fb6664b00b056341265441192d1291c130e99183ec0d4b110ff8b1", size = 5208562 }, + { url = "https://files.pythonhosted.org/packages/7d/12/d7de8f6f53f9bb76997e5e4c069eda2051e3fe134e9181671c4391677bb2/numpy-2.4.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:cda077c2e5b780200b6b3e09d0b42205a3d1c68f30c6dceb90401c13bff8fe74", size = 6543710 }, + { url = "https://files.pythonhosted.org/packages/09/63/c66418c2e0268a31a4cf8a8b512685748200f8e8e8ec6c507ce14e773529/numpy-2.4.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d30291931c915b2ab5717c2974bb95ee891a1cf22ebc16a8006bd59cd210d40a", size = 15677205 }, + { url = "https://files.pythonhosted.org/packages/5d/6c/7f237821c9642fb2a04d2f1e88b4295677144ca93285fd76eff3bcba858d/numpy-2.4.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bba37bc29d4d85761deed3954a1bc62be7cf462b9510b51d367b769a8c8df325", size = 16611738 }, + { url = "https://files.pythonhosted.org/packages/c2/a7/39c4cdda9f019b609b5c473899d87abff092fc908cfe4d1ecb2fcff453b0/numpy-2.4.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b2f0073ed0868db1dcd86e052d37279eef185b9c8db5bf61f30f46adac63c909", size = 17028888 }, + { url = "https://files.pythonhosted.org/packages/da/b3/e84bb64bdfea967cc10950d71090ec2d84b49bc691df0025dddb7c26e8e3/numpy-2.4.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7f54844851cdb630ceb623dcec4db3240d1ac13d4990532446761baede94996a", size = 18339556 }, + { url = "https://files.pythonhosted.org/packages/88/f5/954a291bc1192a27081706862ac62bb5920fbecfbaa302f64682aa90beed/numpy-2.4.2-cp314-cp314-win32.whl", hash = "sha256:12e26134a0331d8dbd9351620f037ec470b7c75929cb8a1537f6bfe411152a1a", size = 6006899 }, + { url = "https://files.pythonhosted.org/packages/05/cb/eff72a91b2efdd1bc98b3b8759f6a1654aa87612fc86e3d87d6fe4f948c4/numpy-2.4.2-cp314-cp314-win_amd64.whl", hash = "sha256:068cdb2d0d644cdb45670810894f6a0600797a69c05f1ac478e8d31670b8ee75", size = 12443072 }, + { url = "https://files.pythonhosted.org/packages/37/75/62726948db36a56428fce4ba80a115716dc4fad6a3a4352487f8bb950966/numpy-2.4.2-cp314-cp314-win_arm64.whl", hash = "sha256:6ed0be1ee58eef41231a5c943d7d1375f093142702d5723ca2eb07db9b934b05", size = 10494886 }, + { url = "https://files.pythonhosted.org/packages/36/2f/ee93744f1e0661dc267e4b21940870cabfae187c092e1433b77b09b50ac4/numpy-2.4.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:98f16a80e917003a12c0580f97b5f875853ebc33e2eaa4bccfc8201ac6869308", size = 14818567 }, + { url = "https://files.pythonhosted.org/packages/a7/24/6535212add7d76ff938d8bdc654f53f88d35cddedf807a599e180dcb8e66/numpy-2.4.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:20abd069b9cda45874498b245c8015b18ace6de8546bf50dfa8cea1696ed06ef", size = 5328372 }, + { url = "https://files.pythonhosted.org/packages/5e/9d/c48f0a035725f925634bf6b8994253b43f2047f6778a54147d7e213bc5a7/numpy-2.4.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:e98c97502435b53741540a5717a6749ac2ada901056c7db951d33e11c885cc7d", size = 6649306 }, + { url = "https://files.pythonhosted.org/packages/81/05/7c73a9574cd4a53a25907bad38b59ac83919c0ddc8234ec157f344d57d9a/numpy-2.4.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:da6cad4e82cb893db4b69105c604d805e0c3ce11501a55b5e9f9083b47d2ffe8", size = 15722394 }, + { url = "https://files.pythonhosted.org/packages/35/fa/4de10089f21fc7d18442c4a767ab156b25c2a6eaf187c0db6d9ecdaeb43f/numpy-2.4.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e4424677ce4b47fe73c8b5556d876571f7c6945d264201180db2dc34f676ab5", size = 16653343 }, + { url = "https://files.pythonhosted.org/packages/b8/f9/d33e4ffc857f3763a57aa85650f2e82486832d7492280ac21ba9efda80da/numpy-2.4.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2b8f157c8a6f20eb657e240f8985cc135598b2b46985c5bccbde7616dc9c6b1e", size = 17078045 }, + { url = "https://files.pythonhosted.org/packages/c8/b8/54bdb43b6225badbea6389fa038c4ef868c44f5890f95dd530a218706da3/numpy-2.4.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5daf6f3914a733336dab21a05cdec343144600e964d2fcdabaac0c0269874b2a", size = 18380024 }, + { url = "https://files.pythonhosted.org/packages/a5/55/6e1a61ded7af8df04016d81b5b02daa59f2ea9252ee0397cb9f631efe9e5/numpy-2.4.2-cp314-cp314t-win32.whl", hash = "sha256:8c50dd1fc8826f5b26a5ee4d77ca55d88a895f4e4819c7ecc2a9f5905047a443", size = 6153937 }, + { url = "https://files.pythonhosted.org/packages/45/aa/fa6118d1ed6d776b0983f3ceac9b1a5558e80df9365b1c3aa6d42bf9eee4/numpy-2.4.2-cp314-cp314t-win_amd64.whl", hash = "sha256:fcf92bee92742edd401ba41135185866f7026c502617f422eb432cfeca4fe236", size = 12631844 }, + { url = "https://files.pythonhosted.org/packages/32/0a/2ec5deea6dcd158f254a7b372fb09cfba5719419c8d66343bab35237b3fb/numpy-2.4.2-cp314-cp314t-win_arm64.whl", hash = "sha256:1f92f53998a17265194018d1cc321b2e96e900ca52d54c7c77837b71b9465181", size = 10565379 }, + { url = "https://files.pythonhosted.org/packages/f4/f8/50e14d36d915ef64d8f8bc4a087fc8264d82c785eda6711f80ab7e620335/numpy-2.4.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:89f7268c009bc492f506abd6f5265defa7cb3f7487dc21d357c3d290add45082", size = 16833179 }, + { url = "https://files.pythonhosted.org/packages/17/17/809b5cad63812058a8189e91a1e2d55a5a18fd04611dbad244e8aeae465c/numpy-2.4.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6dee3bb76aa4009d5a912180bf5b2de012532998d094acee25d9cb8dee3e44a", size = 14889755 }, + { url = "https://files.pythonhosted.org/packages/3e/ea/181b9bcf7627fc8371720316c24db888dcb9829b1c0270abf3d288b2e29b/numpy-2.4.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:cd2bd2bbed13e213d6b55dc1d035a4f91748a7d3edc9480c13898b0353708920", size = 5399500 }, + { url = "https://files.pythonhosted.org/packages/33/9f/413adf3fc955541ff5536b78fcf0754680b3c6d95103230252a2c9408d23/numpy-2.4.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:cf28c0c1d4c4bf00f509fa7eb02c58d7caf221b50b467bcb0d9bbf1584d5c821", size = 6714252 }, + { url = "https://files.pythonhosted.org/packages/91/da/643aad274e29ccbdf42ecd94dafe524b81c87bcb56b83872d54827f10543/numpy-2.4.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e04ae107ac591763a47398bb45b568fc38f02dbc4aa44c063f67a131f99346cb", size = 15797142 }, + { url = "https://files.pythonhosted.org/packages/66/27/965b8525e9cb5dc16481b30a1b3c21e50c7ebf6e9dbd48d0c4d0d5089c7e/numpy-2.4.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:602f65afdef699cda27ec0b9224ae5dc43e328f4c24c689deaf77133dbee74d0", size = 16727979 }, + { url = "https://files.pythonhosted.org/packages/de/e5/b7d20451657664b07986c2f6e3be564433f5dcaf3482d68eaecd79afaf03/numpy-2.4.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:be71bf1edb48ebbbf7f6337b5bfd2f895d1902f6335a5830b20141fc126ffba0", size = 12502577 }, +] + +[[package]] +name = "packaging" +version = "26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366 }, +] + +[[package]] +name = "parso" +version = "0.8.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz", hash = "sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a", size = 401205 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl", hash = "sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887", size = 106668 }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 }, +] + +[[package]] +name = "pillow" +version = "11.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/5d/45a3553a253ac8763f3561371432a90bdbe6000fbdcf1397ffe502aa206c/pillow-11.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1b9c17fd4ace828b3003dfd1e30bff24863e0eb59b535e8f80194d9cc7ecf860", size = 5316554 }, + { url = "https://files.pythonhosted.org/packages/7c/c8/67c12ab069ef586a25a4a79ced553586748fad100c77c0ce59bb4983ac98/pillow-11.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:65dc69160114cdd0ca0f35cb434633c75e8e7fad4cf855177a05bf38678f73ad", size = 4686548 }, + { url = "https://files.pythonhosted.org/packages/2f/bd/6741ebd56263390b382ae4c5de02979af7f8bd9807346d068700dd6d5cf9/pillow-11.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7107195ddc914f656c7fc8e4a5e1c25f32e9236ea3ea860f257b0436011fddd0", size = 5859742 }, + { url = "https://files.pythonhosted.org/packages/ca/0b/c412a9e27e1e6a829e6ab6c2dca52dd563efbedf4c9c6aa453d9a9b77359/pillow-11.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc3e831b563b3114baac7ec2ee86819eb03caa1a2cef0b481a5675b59c4fe23b", size = 7633087 }, + { url = "https://files.pythonhosted.org/packages/59/9d/9b7076aaf30f5dd17e5e5589b2d2f5a5d7e30ff67a171eb686e4eecc2adf/pillow-11.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f182ebd2303acf8c380a54f615ec883322593320a9b00438eb842c1f37ae50", size = 5963350 }, + { url = "https://files.pythonhosted.org/packages/f0/16/1a6bf01fb622fb9cf5c91683823f073f053005c849b1f52ed613afcf8dae/pillow-11.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4445fa62e15936a028672fd48c4c11a66d641d2c05726c7ec1f8ba6a572036ae", size = 6631840 }, + { url = "https://files.pythonhosted.org/packages/7b/e6/6ff7077077eb47fde78739e7d570bdcd7c10495666b6afcd23ab56b19a43/pillow-11.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:71f511f6b3b91dd543282477be45a033e4845a40278fa8dcdbfdb07109bf18f9", size = 6074005 }, + { url = "https://files.pythonhosted.org/packages/c3/3a/b13f36832ea6d279a697231658199e0a03cd87ef12048016bdcc84131601/pillow-11.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:040a5b691b0713e1f6cbe222e0f4f74cd233421e105850ae3b3c0ceda520f42e", size = 6708372 }, + { url = "https://files.pythonhosted.org/packages/6c/e4/61b2e1a7528740efbc70b3d581f33937e38e98ef3d50b05007267a55bcb2/pillow-11.3.0-cp310-cp310-win32.whl", hash = "sha256:89bd777bc6624fe4115e9fac3352c79ed60f3bb18651420635f26e643e3dd1f6", size = 6277090 }, + { url = "https://files.pythonhosted.org/packages/a9/d3/60c781c83a785d6afbd6a326ed4d759d141de43aa7365725cbcd65ce5e54/pillow-11.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:19d2ff547c75b8e3ff46f4d9ef969a06c30ab2d4263a9e287733aa8b2429ce8f", size = 6985988 }, + { url = "https://files.pythonhosted.org/packages/9f/28/4f4a0203165eefb3763939c6789ba31013a2e90adffb456610f30f613850/pillow-11.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:819931d25e57b513242859ce1876c58c59dc31587847bf74cfe06b2e0cb22d2f", size = 2422899 }, + { url = "https://files.pythonhosted.org/packages/db/26/77f8ed17ca4ffd60e1dcd220a6ec6d71210ba398cfa33a13a1cd614c5613/pillow-11.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1cd110edf822773368b396281a2293aeb91c90a2db00d78ea43e7e861631b722", size = 5316531 }, + { url = "https://files.pythonhosted.org/packages/cb/39/ee475903197ce709322a17a866892efb560f57900d9af2e55f86db51b0a5/pillow-11.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c412fddd1b77a75aa904615ebaa6001f169b26fd467b4be93aded278266b288", size = 4686560 }, + { url = "https://files.pythonhosted.org/packages/d5/90/442068a160fd179938ba55ec8c97050a612426fae5ec0a764e345839f76d/pillow-11.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d1aa4de119a0ecac0a34a9c8bde33f34022e2e8f99104e47a3ca392fd60e37d", size = 5870978 }, + { url = "https://files.pythonhosted.org/packages/13/92/dcdd147ab02daf405387f0218dcf792dc6dd5b14d2573d40b4caeef01059/pillow-11.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:91da1d88226663594e3f6b4b8c3c8d85bd504117d043740a8e0ec449087cc494", size = 7641168 }, + { url = "https://files.pythonhosted.org/packages/6e/db/839d6ba7fd38b51af641aa904e2960e7a5644d60ec754c046b7d2aee00e5/pillow-11.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:643f189248837533073c405ec2f0bb250ba54598cf80e8c1e043381a60632f58", size = 5973053 }, + { url = "https://files.pythonhosted.org/packages/f2/2f/d7675ecae6c43e9f12aa8d58b6012683b20b6edfbdac7abcb4e6af7a3784/pillow-11.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:106064daa23a745510dabce1d84f29137a37224831d88eb4ce94bb187b1d7e5f", size = 6640273 }, + { url = "https://files.pythonhosted.org/packages/45/ad/931694675ede172e15b2ff03c8144a0ddaea1d87adb72bb07655eaffb654/pillow-11.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd8ff254faf15591e724dc7c4ddb6bf4793efcbe13802a4ae3e863cd300b493e", size = 6082043 }, + { url = "https://files.pythonhosted.org/packages/3a/04/ba8f2b11fc80d2dd462d7abec16351b45ec99cbbaea4387648a44190351a/pillow-11.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:932c754c2d51ad2b2271fd01c3d121daaa35e27efae2a616f77bf164bc0b3e94", size = 6715516 }, + { url = "https://files.pythonhosted.org/packages/48/59/8cd06d7f3944cc7d892e8533c56b0acb68399f640786313275faec1e3b6f/pillow-11.3.0-cp311-cp311-win32.whl", hash = "sha256:b4b8f3efc8d530a1544e5962bd6b403d5f7fe8b9e08227c6b255f98ad82b4ba0", size = 6274768 }, + { url = "https://files.pythonhosted.org/packages/f1/cc/29c0f5d64ab8eae20f3232da8f8571660aa0ab4b8f1331da5c2f5f9a938e/pillow-11.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1a992e86b0dd7aeb1f053cd506508c0999d710a8f07b4c791c63843fc6a807ac", size = 6986055 }, + { url = "https://files.pythonhosted.org/packages/c6/df/90bd886fabd544c25addd63e5ca6932c86f2b701d5da6c7839387a076b4a/pillow-11.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:30807c931ff7c095620fe04448e2c2fc673fcbb1ffe2a7da3fb39613489b1ddd", size = 2423079 }, + { url = "https://files.pythonhosted.org/packages/40/fe/1bc9b3ee13f68487a99ac9529968035cca2f0a51ec36892060edcc51d06a/pillow-11.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdae223722da47b024b867c1ea0be64e0df702c5e0a60e27daad39bf960dd1e4", size = 5278800 }, + { url = "https://files.pythonhosted.org/packages/2c/32/7e2ac19b5713657384cec55f89065fb306b06af008cfd87e572035b27119/pillow-11.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:921bd305b10e82b4d1f5e802b6850677f965d8394203d182f078873851dada69", size = 4686296 }, + { url = "https://files.pythonhosted.org/packages/8e/1e/b9e12bbe6e4c2220effebc09ea0923a07a6da1e1f1bfbc8d7d29a01ce32b/pillow-11.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb76541cba2f958032d79d143b98a3a6b3ea87f0959bbe256c0b5e416599fd5d", size = 5871726 }, + { url = "https://files.pythonhosted.org/packages/8d/33/e9200d2bd7ba00dc3ddb78df1198a6e80d7669cce6c2bdbeb2530a74ec58/pillow-11.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67172f2944ebba3d4a7b54f2e95c786a3a50c21b88456329314caaa28cda70f6", size = 7644652 }, + { url = "https://files.pythonhosted.org/packages/41/f1/6f2427a26fc683e00d985bc391bdd76d8dd4e92fac33d841127eb8fb2313/pillow-11.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f07ed9f56a3b9b5f49d3661dc9607484e85c67e27f3e8be2c7d28ca032fec7", size = 5977787 }, + { url = "https://files.pythonhosted.org/packages/e4/c9/06dd4a38974e24f932ff5f98ea3c546ce3f8c995d3f0985f8e5ba48bba19/pillow-11.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:676b2815362456b5b3216b4fd5bd89d362100dc6f4945154ff172e206a22c024", size = 6645236 }, + { url = "https://files.pythonhosted.org/packages/40/e7/848f69fb79843b3d91241bad658e9c14f39a32f71a301bcd1d139416d1be/pillow-11.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e184b2f26ff146363dd07bde8b711833d7b0202e27d13540bfe2e35a323a809", size = 6086950 }, + { url = "https://files.pythonhosted.org/packages/0b/1a/7cff92e695a2a29ac1958c2a0fe4c0b2393b60aac13b04a4fe2735cad52d/pillow-11.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6be31e3fc9a621e071bc17bb7de63b85cbe0bfae91bb0363c893cbe67247780d", size = 6723358 }, + { url = "https://files.pythonhosted.org/packages/26/7d/73699ad77895f69edff76b0f332acc3d497f22f5d75e5360f78cbcaff248/pillow-11.3.0-cp312-cp312-win32.whl", hash = "sha256:7b161756381f0918e05e7cb8a371fff367e807770f8fe92ecb20d905d0e1c149", size = 6275079 }, + { url = "https://files.pythonhosted.org/packages/8c/ce/e7dfc873bdd9828f3b6e5c2bbb74e47a98ec23cc5c74fc4e54462f0d9204/pillow-11.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6444696fce635783440b7f7a9fc24b3ad10a9ea3f0ab66c5905be1c19ccf17d", size = 6986324 }, + { url = "https://files.pythonhosted.org/packages/16/8f/b13447d1bf0b1f7467ce7d86f6e6edf66c0ad7cf44cf5c87a37f9bed9936/pillow-11.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:2aceea54f957dd4448264f9bf40875da0415c83eb85f55069d89c0ed436e3542", size = 2423067 }, + { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328 }, + { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652 }, + { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443 }, + { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474 }, + { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038 }, + { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407 }, + { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094 }, + { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503 }, + { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574 }, + { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060 }, + { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407 }, + { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841 }, + { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450 }, + { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055 }, + { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110 }, + { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547 }, + { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554 }, + { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132 }, + { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001 }, + { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814 }, + { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124 }, + { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186 }, + { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546 }, + { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102 }, + { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803 }, + { url = "https://files.pythonhosted.org/packages/73/f4/04905af42837292ed86cb1b1dabe03dce1edc008ef14c473c5c7e1443c5d/pillow-11.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d9da3df5f9ea2a89b81bb6087177fb1f4d1c7146d583a3fe5c672c0d94e55e12", size = 5278520 }, + { url = "https://files.pythonhosted.org/packages/41/b0/33d79e377a336247df6348a54e6d2a2b85d644ca202555e3faa0cf811ecc/pillow-11.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0b275ff9b04df7b640c59ec5a3cb113eefd3795a8df80bac69646ef699c6981a", size = 4686116 }, + { url = "https://files.pythonhosted.org/packages/49/2d/ed8bc0ab219ae8768f529597d9509d184fe8a6c4741a6864fea334d25f3f/pillow-11.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0743841cabd3dba6a83f38a92672cccbd69af56e3e91777b0ee7f4dba4385632", size = 5864597 }, + { url = "https://files.pythonhosted.org/packages/b5/3d/b932bb4225c80b58dfadaca9d42d08d0b7064d2d1791b6a237f87f661834/pillow-11.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2465a69cf967b8b49ee1b96d76718cd98c4e925414ead59fdf75cf0fd07df673", size = 7638246 }, + { url = "https://files.pythonhosted.org/packages/09/b5/0487044b7c096f1b48f0d7ad416472c02e0e4bf6919541b111efd3cae690/pillow-11.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41742638139424703b4d01665b807c6468e23e699e8e90cffefe291c5832b027", size = 5973336 }, + { url = "https://files.pythonhosted.org/packages/a8/2d/524f9318f6cbfcc79fbc004801ea6b607ec3f843977652fdee4857a7568b/pillow-11.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93efb0b4de7e340d99057415c749175e24c8864302369e05914682ba642e5d77", size = 6642699 }, + { url = "https://files.pythonhosted.org/packages/6f/d2/a9a4f280c6aefedce1e8f615baaa5474e0701d86dd6f1dede66726462bbd/pillow-11.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7966e38dcd0fa11ca390aed7c6f20454443581d758242023cf36fcb319b1a874", size = 6083789 }, + { url = "https://files.pythonhosted.org/packages/fe/54/86b0cd9dbb683a9d5e960b66c7379e821a19be4ac5810e2e5a715c09a0c0/pillow-11.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:98a9afa7b9007c67ed84c57c9e0ad86a6000da96eaa638e4f8abe5b65ff83f0a", size = 6720386 }, + { url = "https://files.pythonhosted.org/packages/e7/95/88efcaf384c3588e24259c4203b909cbe3e3c2d887af9e938c2022c9dd48/pillow-11.3.0-cp314-cp314-win32.whl", hash = "sha256:02a723e6bf909e7cea0dac1b0e0310be9d7650cd66222a5f1c571455c0a45214", size = 6370911 }, + { url = "https://files.pythonhosted.org/packages/2e/cc/934e5820850ec5eb107e7b1a72dd278140731c669f396110ebc326f2a503/pillow-11.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:a418486160228f64dd9e9efcd132679b7a02a5f22c982c78b6fc7dab3fefb635", size = 7117383 }, + { url = "https://files.pythonhosted.org/packages/d6/e9/9c0a616a71da2a5d163aa37405e8aced9a906d574b4a214bede134e731bc/pillow-11.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:155658efb5e044669c08896c0c44231c5e9abcaadbc5cd3648df2f7c0b96b9a6", size = 2511385 }, + { url = "https://files.pythonhosted.org/packages/1a/33/c88376898aff369658b225262cd4f2659b13e8178e7534df9e6e1fa289f6/pillow-11.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:59a03cdf019efbfeeed910bf79c7c93255c3d54bc45898ac2a4140071b02b4ae", size = 5281129 }, + { url = "https://files.pythonhosted.org/packages/1f/70/d376247fb36f1844b42910911c83a02d5544ebd2a8bad9efcc0f707ea774/pillow-11.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f8a5827f84d973d8636e9dc5764af4f0cf2318d26744b3d902931701b0d46653", size = 4689580 }, + { url = "https://files.pythonhosted.org/packages/eb/1c/537e930496149fbac69efd2fc4329035bbe2e5475b4165439e3be9cb183b/pillow-11.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ee92f2fd10f4adc4b43d07ec5e779932b4eb3dbfbc34790ada5a6669bc095aa6", size = 5902860 }, + { url = "https://files.pythonhosted.org/packages/bd/57/80f53264954dcefeebcf9dae6e3eb1daea1b488f0be8b8fef12f79a3eb10/pillow-11.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c96d333dcf42d01f47b37e0979b6bd73ec91eae18614864622d9b87bbd5bbf36", size = 7670694 }, + { url = "https://files.pythonhosted.org/packages/70/ff/4727d3b71a8578b4587d9c276e90efad2d6fe0335fd76742a6da08132e8c/pillow-11.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c96f993ab8c98460cd0c001447bff6194403e8b1d7e149ade5f00594918128b", size = 6005888 }, + { url = "https://files.pythonhosted.org/packages/05/ae/716592277934f85d3be51d7256f3636672d7b1abfafdc42cf3f8cbd4b4c8/pillow-11.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41342b64afeba938edb034d122b2dda5db2139b9a4af999729ba8818e0056477", size = 6670330 }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7fe6cddcc8827b01b1a9766f5fdeb7418680744f9082035bdbabecf1d57f/pillow-11.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:068d9c39a2d1b358eb9f245ce7ab1b5c3246c7c8c7d9ba58cfa5b43146c06e50", size = 6114089 }, + { url = "https://files.pythonhosted.org/packages/8b/f5/06bfaa444c8e80f1a8e4bff98da9c83b37b5be3b1deaa43d27a0db37ef84/pillow-11.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a1bc6ba083b145187f648b667e05a2534ecc4b9f2784c2cbe3089e44868f2b9b", size = 6748206 }, + { url = "https://files.pythonhosted.org/packages/f0/77/bc6f92a3e8e6e46c0ca78abfffec0037845800ea38c73483760362804c41/pillow-11.3.0-cp314-cp314t-win32.whl", hash = "sha256:118ca10c0d60b06d006be10a501fd6bbdfef559251ed31b794668ed569c87e12", size = 6377370 }, + { url = "https://files.pythonhosted.org/packages/4a/82/3a721f7d69dca802befb8af08b7c79ebcab461007ce1c18bd91a5d5896f9/pillow-11.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:8924748b688aa210d79883357d102cd64690e56b923a186f35a82cbc10f997db", size = 7121500 }, + { url = "https://files.pythonhosted.org/packages/89/c7/5572fa4a3f45740eaab6ae86fcdf7195b55beac1371ac8c619d880cfe948/pillow-11.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:79ea0d14d3ebad43ec77ad5272e6ff9bba5b679ef73375ea760261207fa8e0aa", size = 2512835 }, + { url = "https://files.pythonhosted.org/packages/9e/8e/9c089f01677d1264ab8648352dcb7773f37da6ad002542760c80107da816/pillow-11.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:48d254f8a4c776de343051023eb61ffe818299eeac478da55227d96e241de53f", size = 5316478 }, + { url = "https://files.pythonhosted.org/packages/b5/a9/5749930caf674695867eb56a581e78eb5f524b7583ff10b01b6e5048acb3/pillow-11.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7aee118e30a4cf54fdd873bd3a29de51e29105ab11f9aad8c32123f58c8f8081", size = 4686522 }, + { url = "https://files.pythonhosted.org/packages/43/46/0b85b763eb292b691030795f9f6bb6fcaf8948c39413c81696a01c3577f7/pillow-11.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:23cff760a9049c502721bdb743a7cb3e03365fafcdfc2ef9784610714166e5a4", size = 5853376 }, + { url = "https://files.pythonhosted.org/packages/5e/c6/1a230ec0067243cbd60bc2dad5dc3ab46a8a41e21c15f5c9b52b26873069/pillow-11.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6359a3bc43f57d5b375d1ad54a0074318a0844d11b76abccf478c37c986d3cfc", size = 7626020 }, + { url = "https://files.pythonhosted.org/packages/63/dd/f296c27ffba447bfad76c6a0c44c1ea97a90cb9472b9304c94a732e8dbfb/pillow-11.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:092c80c76635f5ecb10f3f83d76716165c96f5229addbd1ec2bdbbda7d496e06", size = 5956732 }, + { url = "https://files.pythonhosted.org/packages/a5/a0/98a3630f0b57f77bae67716562513d3032ae70414fcaf02750279c389a9e/pillow-11.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cadc9e0ea0a2431124cde7e1697106471fc4c1da01530e679b2391c37d3fbb3a", size = 6624404 }, + { url = "https://files.pythonhosted.org/packages/de/e6/83dfba5646a290edd9a21964da07674409e410579c341fc5b8f7abd81620/pillow-11.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6a418691000f2a418c9135a7cf0d797c1bb7d9a485e61fe8e7722845b95ef978", size = 6067760 }, + { url = "https://files.pythonhosted.org/packages/bc/41/15ab268fe6ee9a2bc7391e2bbb20a98d3974304ab1a406a992dcb297a370/pillow-11.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:97afb3a00b65cc0804d1c7abddbf090a81eaac02768af58cbdcaaa0a931e0b6d", size = 6700534 }, + { url = "https://files.pythonhosted.org/packages/64/79/6d4f638b288300bed727ff29f2a3cb63db054b33518a95f27724915e3fbc/pillow-11.3.0-cp39-cp39-win32.whl", hash = "sha256:ea944117a7974ae78059fcc1800e5d3295172bb97035c0c1d9345fca1419da71", size = 6277091 }, + { url = "https://files.pythonhosted.org/packages/46/05/4106422f45a05716fd34ed21763f8ec182e8ea00af6e9cb05b93a247361a/pillow-11.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:e5c5858ad8ec655450a7c7df532e9842cf8df7cc349df7225c60d5d348c8aada", size = 6986091 }, + { url = "https://files.pythonhosted.org/packages/63/c6/287fd55c2c12761d0591549d48885187579b7c257bef0c6660755b0b59ae/pillow-11.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:6abdbfd3aea42be05702a8dd98832329c167ee84400a1d1f61ab11437f1717eb", size = 2422632 }, + { url = "https://files.pythonhosted.org/packages/6f/8b/209bd6b62ce8367f47e68a218bffac88888fdf2c9fcf1ecadc6c3ec1ebc7/pillow-11.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3cee80663f29e3843b68199b9d6f4f54bd1d4a6b59bdd91bceefc51238bcb967", size = 5270556 }, + { url = "https://files.pythonhosted.org/packages/2e/e6/231a0b76070c2cfd9e260a7a5b504fb72da0a95279410fa7afd99d9751d6/pillow-11.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b5f56c3f344f2ccaf0dd875d3e180f631dc60a51b314295a3e681fe8cf851fbe", size = 4654625 }, + { url = "https://files.pythonhosted.org/packages/13/f4/10cf94fda33cb12765f2397fc285fa6d8eb9c29de7f3185165b702fc7386/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e67d793d180c9df62f1f40aee3accca4829d3794c95098887edc18af4b8b780c", size = 4874207 }, + { url = "https://files.pythonhosted.org/packages/72/c9/583821097dc691880c92892e8e2d41fe0a5a3d6021f4963371d2f6d57250/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d000f46e2917c705e9fb93a3606ee4a819d1e3aa7a9b442f6444f07e77cf5e25", size = 6583939 }, + { url = "https://files.pythonhosted.org/packages/3b/8e/5c9d410f9217b12320efc7c413e72693f48468979a013ad17fd690397b9a/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:527b37216b6ac3a12d7838dc3bd75208ec57c1c6d11ef01902266a5a0c14fc27", size = 4957166 }, + { url = "https://files.pythonhosted.org/packages/62/bb/78347dbe13219991877ffb3a91bf09da8317fbfcd4b5f9140aeae020ad71/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:be5463ac478b623b9dd3937afd7fb7ab3d79dd290a28e2b6df292dc75063eb8a", size = 5581482 }, + { url = "https://files.pythonhosted.org/packages/d9/28/1000353d5e61498aaeaaf7f1e4b49ddb05f2c6575f9d4f9f914a3538b6e1/pillow-11.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8dc70ca24c110503e16918a658b869019126ecfe03109b754c402daff12b3d9f", size = 6984596 }, + { url = "https://files.pythonhosted.org/packages/9e/e3/6fa84033758276fb31da12e5fb66ad747ae83b93c67af17f8c6ff4cc8f34/pillow-11.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7c8ec7a017ad1bd562f93dbd8505763e688d388cde6e4a010ae1486916e713e6", size = 5270566 }, + { url = "https://files.pythonhosted.org/packages/5b/ee/e8d2e1ab4892970b561e1ba96cbd59c0d28cf66737fc44abb2aec3795a4e/pillow-11.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9ab6ae226de48019caa8074894544af5b53a117ccb9d3b3dcb2871464c829438", size = 4654618 }, + { url = "https://files.pythonhosted.org/packages/f2/6d/17f80f4e1f0761f02160fc433abd4109fa1548dcfdca46cfdadaf9efa565/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fe27fb049cdcca11f11a7bfda64043c37b30e6b91f10cb5bab275806c32f6ab3", size = 4874248 }, + { url = "https://files.pythonhosted.org/packages/de/5f/c22340acd61cef960130585bbe2120e2fd8434c214802f07e8c03596b17e/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:465b9e8844e3c3519a983d58b80be3f668e2a7a5db97f2784e7079fbc9f9822c", size = 6583963 }, + { url = "https://files.pythonhosted.org/packages/31/5e/03966aedfbfcbb4d5f8aa042452d3361f325b963ebbadddac05b122e47dd/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5418b53c0d59b3824d05e029669efa023bbef0f3e92e75ec8428f3799487f361", size = 4957170 }, + { url = "https://files.pythonhosted.org/packages/cc/2d/e082982aacc927fc2cab48e1e731bdb1643a1406acace8bed0900a61464e/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:504b6f59505f08ae014f724b6207ff6222662aab5cc9542577fb084ed0676ac7", size = 5581505 }, + { url = "https://files.pythonhosted.org/packages/34/e7/ae39f538fd6844e982063c3a5e4598b8ced43b9633baa3a85ef33af8c05c/pillow-11.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c84d689db21a1c397d001aa08241044aa2069e7587b398c8cc63020390b1c1b8", size = 6984598 }, +] + +[[package]] +name = "pillow" +version = "12.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/02/d52c733a2452ef1ffcc123b68e6606d07276b0e358db70eabad7e40042b7/pillow-12.1.0.tar.gz", hash = "sha256:5c5ae0a06e9ea030ab786b0251b32c7e4ce10e58d983c0d5c56029455180b5b9", size = 46977283 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/41/f73d92b6b883a579e79600d391f2e21cb0df767b2714ecbd2952315dfeef/pillow-12.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:fb125d860738a09d363a88daa0f59c4533529a90e564785e20fe875b200b6dbd", size = 5304089 }, + { url = "https://files.pythonhosted.org/packages/94/55/7aca2891560188656e4a91ed9adba305e914a4496800da6b5c0a15f09edf/pillow-12.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cad302dc10fac357d3467a74a9561c90609768a6f73a1923b0fd851b6486f8b0", size = 4657815 }, + { url = "https://files.pythonhosted.org/packages/e9/d2/b28221abaa7b4c40b7dba948f0f6a708bd7342c4d47ce342f0ea39643974/pillow-12.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a40905599d8079e09f25027423aed94f2823adaf2868940de991e53a449e14a8", size = 6222593 }, + { url = "https://files.pythonhosted.org/packages/71/b8/7a61fb234df6a9b0b479f69e66901209d89ff72a435b49933f9122f94cac/pillow-12.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:92a7fe4225365c5e3a8e598982269c6d6698d3e783b3b1ae979e7819f9cd55c1", size = 8027579 }, + { url = "https://files.pythonhosted.org/packages/ea/51/55c751a57cc524a15a0e3db20e5cde517582359508d62305a627e77fd295/pillow-12.1.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f10c98f49227ed8383d28174ee95155a675c4ed7f85e2e573b04414f7e371bda", size = 6335760 }, + { url = "https://files.pythonhosted.org/packages/dc/7c/60e3e6f5e5891a1a06b4c910f742ac862377a6fe842f7184df4a274ce7bf/pillow-12.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8637e29d13f478bc4f153d8daa9ffb16455f0a6cb287da1b432fdad2bfbd66c7", size = 7027127 }, + { url = "https://files.pythonhosted.org/packages/06/37/49d47266ba50b00c27ba63a7c898f1bb41a29627ced8c09e25f19ebec0ff/pillow-12.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:21e686a21078b0f9cb8c8a961d99e6a4ddb88e0fc5ea6e130172ddddc2e5221a", size = 6449896 }, + { url = "https://files.pythonhosted.org/packages/f9/e5/67fd87d2913902462cd9b79c6211c25bfe95fcf5783d06e1367d6d9a741f/pillow-12.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2415373395a831f53933c23ce051021e79c8cd7979822d8cc478547a3f4da8ef", size = 7151345 }, + { url = "https://files.pythonhosted.org/packages/bd/15/f8c7abf82af68b29f50d77c227e7a1f87ce02fdc66ded9bf603bc3b41180/pillow-12.1.0-cp310-cp310-win32.whl", hash = "sha256:e75d3dba8fc1ddfec0cd752108f93b83b4f8d6ab40e524a95d35f016b9683b09", size = 6325568 }, + { url = "https://files.pythonhosted.org/packages/d4/24/7d1c0e160b6b5ac2605ef7d8be537e28753c0db5363d035948073f5513d7/pillow-12.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:64efdf00c09e31efd754448a383ea241f55a994fd079866b92d2bbff598aad91", size = 7032367 }, + { url = "https://files.pythonhosted.org/packages/f4/03/41c038f0d7a06099254c60f618d0ec7be11e79620fc23b8e85e5b31d9a44/pillow-12.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:f188028b5af6b8fb2e9a76ac0f841a575bd1bd396e46ef0840d9b88a48fdbcea", size = 2452345 }, + { url = "https://files.pythonhosted.org/packages/43/c4/bf8328039de6cc22182c3ef007a2abfbbdab153661c0a9aa78af8d706391/pillow-12.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:a83e0850cb8f5ac975291ebfc4170ba481f41a28065277f7f735c202cd8e0af3", size = 5304057 }, + { url = "https://files.pythonhosted.org/packages/43/06/7264c0597e676104cc22ca73ee48f752767cd4b1fe084662620b17e10120/pillow-12.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b6e53e82ec2db0717eabb276aa56cf4e500c9a7cec2c2e189b55c24f65a3e8c0", size = 4657811 }, + { url = "https://files.pythonhosted.org/packages/72/64/f9189e44474610daf83da31145fa56710b627b5c4c0b9c235e34058f6b31/pillow-12.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:40a8e3b9e8773876d6e30daed22f016509e3987bab61b3b7fe309d7019a87451", size = 6232243 }, + { url = "https://files.pythonhosted.org/packages/ef/30/0df458009be6a4caca4ca2c52975e6275c387d4e5c95544e34138b41dc86/pillow-12.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:800429ac32c9b72909c671aaf17ecd13110f823ddb7db4dfef412a5587c2c24e", size = 8037872 }, + { url = "https://files.pythonhosted.org/packages/e4/86/95845d4eda4f4f9557e25381d70876aa213560243ac1a6d619c46caaedd9/pillow-12.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b022eaaf709541b391ee069f0022ee5b36c709df71986e3f7be312e46f42c84", size = 6345398 }, + { url = "https://files.pythonhosted.org/packages/5c/1f/8e66ab9be3aaf1435bc03edd1ebdf58ffcd17f7349c1d970cafe87af27d9/pillow-12.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f345e7bc9d7f368887c712aa5054558bad44d2a301ddf9248599f4161abc7c0", size = 7034667 }, + { url = "https://files.pythonhosted.org/packages/f9/f6/683b83cb9b1db1fb52b87951b1c0b99bdcfceaa75febf11406c19f82cb5e/pillow-12.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d70347c8a5b7ccd803ec0c85c8709f036e6348f1e6a5bf048ecd9c64d3550b8b", size = 6458743 }, + { url = "https://files.pythonhosted.org/packages/9a/7d/de833d63622538c1d58ce5395e7c6cb7e7dce80decdd8bde4a484e095d9f/pillow-12.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1fcc52d86ce7a34fd17cb04e87cfdb164648a3662a6f20565910a99653d66c18", size = 7159342 }, + { url = "https://files.pythonhosted.org/packages/8c/40/50d86571c9e5868c42b81fe7da0c76ca26373f3b95a8dd675425f4a92ec1/pillow-12.1.0-cp311-cp311-win32.whl", hash = "sha256:3ffaa2f0659e2f740473bcf03c702c39a8d4b2b7ffc629052028764324842c64", size = 6328655 }, + { url = "https://files.pythonhosted.org/packages/6c/af/b1d7e301c4cd26cd45d4af884d9ee9b6fab893b0ad2450d4746d74a6968c/pillow-12.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:806f3987ffe10e867bab0ddad45df1148a2b98221798457fa097ad85d6e8bc75", size = 7031469 }, + { url = "https://files.pythonhosted.org/packages/48/36/d5716586d887fb2a810a4a61518a327a1e21c8b7134c89283af272efe84b/pillow-12.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:9f5fefaca968e700ad1a4a9de98bf0869a94e397fe3524c4c9450c1445252304", size = 2452515 }, + { url = "https://files.pythonhosted.org/packages/20/31/dc53fe21a2f2996e1b7d92bf671cdb157079385183ef7c1ae08b485db510/pillow-12.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a332ac4ccb84b6dde65dbace8431f3af08874bf9770719d32a635c4ef411b18b", size = 5262642 }, + { url = "https://files.pythonhosted.org/packages/ab/c1/10e45ac9cc79419cedf5121b42dcca5a50ad2b601fa080f58c22fb27626e/pillow-12.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:907bfa8a9cb790748a9aa4513e37c88c59660da3bcfffbd24a7d9e6abf224551", size = 4657464 }, + { url = "https://files.pythonhosted.org/packages/ad/26/7b82c0ab7ef40ebede7a97c72d473bda5950f609f8e0c77b04af574a0ddb/pillow-12.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:efdc140e7b63b8f739d09a99033aa430accce485ff78e6d311973a67b6bf3208", size = 6234878 }, + { url = "https://files.pythonhosted.org/packages/76/25/27abc9792615b5e886ca9411ba6637b675f1b77af3104710ac7353fe5605/pillow-12.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bef9768cab184e7ae6e559c032e95ba8d07b3023c289f79a2bd36e8bf85605a5", size = 8044868 }, + { url = "https://files.pythonhosted.org/packages/0a/ea/f200a4c36d836100e7bc738fc48cd963d3ba6372ebc8298a889e0cfc3359/pillow-12.1.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:742aea052cf5ab5034a53c3846165bc3ce88d7c38e954120db0ab867ca242661", size = 6349468 }, + { url = "https://files.pythonhosted.org/packages/11/8f/48d0b77ab2200374c66d344459b8958c86693be99526450e7aee714e03e4/pillow-12.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a6dfc2af5b082b635af6e08e0d1f9f1c4e04d17d4e2ca0ef96131e85eda6eb17", size = 7041518 }, + { url = "https://files.pythonhosted.org/packages/1d/23/c281182eb986b5d31f0a76d2a2c8cd41722d6fb8ed07521e802f9bba52de/pillow-12.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:609e89d9f90b581c8d16358c9087df76024cf058fa693dd3e1e1620823f39670", size = 6462829 }, + { url = "https://files.pythonhosted.org/packages/25/ef/7018273e0faac099d7b00982abdcc39142ae6f3bd9ceb06de09779c4a9d6/pillow-12.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:43b4899cfd091a9693a1278c4982f3e50f7fb7cff5153b05174b4afc9593b616", size = 7166756 }, + { url = "https://files.pythonhosted.org/packages/8f/c8/993d4b7ab2e341fe02ceef9576afcf5830cdec640be2ac5bee1820d693d4/pillow-12.1.0-cp312-cp312-win32.whl", hash = "sha256:aa0c9cc0b82b14766a99fbe6084409972266e82f459821cd26997a488a7261a7", size = 6328770 }, + { url = "https://files.pythonhosted.org/packages/a7/87/90b358775a3f02765d87655237229ba64a997b87efa8ccaca7dd3e36e7a7/pillow-12.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:d70534cea9e7966169ad29a903b99fc507e932069a881d0965a1a84bb57f6c6d", size = 7033406 }, + { url = "https://files.pythonhosted.org/packages/5d/cf/881b457eccacac9e5b2ddd97d5071fb6d668307c57cbf4e3b5278e06e536/pillow-12.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:65b80c1ee7e14a87d6a068dd3b0aea268ffcabfe0498d38661b00c5b4b22e74c", size = 2452612 }, + { url = "https://files.pythonhosted.org/packages/dd/c7/2530a4aa28248623e9d7f27316b42e27c32ec410f695929696f2e0e4a778/pillow-12.1.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7b5dd7cbae20285cdb597b10eb5a2c13aa9de6cde9bb64a3c1317427b1db1ae1", size = 4062543 }, + { url = "https://files.pythonhosted.org/packages/8f/1f/40b8eae823dc1519b87d53c30ed9ef085506b05281d313031755c1705f73/pillow-12.1.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:29a4cef9cb672363926f0470afc516dbf7305a14d8c54f7abbb5c199cd8f8179", size = 4138373 }, + { url = "https://files.pythonhosted.org/packages/d4/77/6fa60634cf06e52139fd0e89e5bbf055e8166c691c42fb162818b7fda31d/pillow-12.1.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:681088909d7e8fa9e31b9799aaa59ba5234c58e5e4f1951b4c4d1082a2e980e0", size = 3601241 }, + { url = "https://files.pythonhosted.org/packages/4f/bf/28ab865de622e14b747f0cd7877510848252d950e43002e224fb1c9ababf/pillow-12.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:983976c2ab753166dc66d36af6e8ec15bb511e4a25856e2227e5f7e00a160587", size = 5262410 }, + { url = "https://files.pythonhosted.org/packages/1c/34/583420a1b55e715937a85bd48c5c0991598247a1fd2eb5423188e765ea02/pillow-12.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:db44d5c160a90df2d24a24760bbd37607d53da0b34fb546c4c232af7192298ac", size = 4657312 }, + { url = "https://files.pythonhosted.org/packages/1d/fd/f5a0896839762885b3376ff04878f86ab2b097c2f9a9cdccf4eda8ba8dc0/pillow-12.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6b7a9d1db5dad90e2991645874f708e87d9a3c370c243c2d7684d28f7e133e6b", size = 6232605 }, + { url = "https://files.pythonhosted.org/packages/98/aa/938a09d127ac1e70e6ed467bd03834350b33ef646b31edb7452d5de43792/pillow-12.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6258f3260986990ba2fa8a874f8b6e808cf5abb51a94015ca3dc3c68aa4f30ea", size = 8041617 }, + { url = "https://files.pythonhosted.org/packages/17/e8/538b24cb426ac0186e03f80f78bc8dc7246c667f58b540bdd57c71c9f79d/pillow-12.1.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e115c15e3bc727b1ca3e641a909f77f8ca72a64fff150f666fcc85e57701c26c", size = 6346509 }, + { url = "https://files.pythonhosted.org/packages/01/9a/632e58ec89a32738cabfd9ec418f0e9898a2b4719afc581f07c04a05e3c9/pillow-12.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6741e6f3074a35e47c77b23a4e4f2d90db3ed905cb1c5e6e0d49bff2045632bc", size = 7038117 }, + { url = "https://files.pythonhosted.org/packages/c7/a2/d40308cf86eada842ca1f3ffa45d0ca0df7e4ab33c83f81e73f5eaed136d/pillow-12.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:935b9d1aed48fcfb3f838caac506f38e29621b44ccc4f8a64d575cb1b2a88644", size = 6460151 }, + { url = "https://files.pythonhosted.org/packages/f1/88/f5b058ad6453a085c5266660a1417bdad590199da1b32fb4efcff9d33b05/pillow-12.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5fee4c04aad8932da9f8f710af2c1a15a83582cfb884152a9caa79d4efcdbf9c", size = 7164534 }, + { url = "https://files.pythonhosted.org/packages/19/ce/c17334caea1db789163b5d855a5735e47995b0b5dc8745e9a3605d5f24c0/pillow-12.1.0-cp313-cp313-win32.whl", hash = "sha256:a786bf667724d84aa29b5db1c61b7bfdde380202aaca12c3461afd6b71743171", size = 6332551 }, + { url = "https://files.pythonhosted.org/packages/e5/07/74a9d941fa45c90a0d9465098fe1ec85de3e2afbdc15cc4766622d516056/pillow-12.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:461f9dfdafa394c59cd6d818bdfdbab4028b83b02caadaff0ffd433faf4c9a7a", size = 7040087 }, + { url = "https://files.pythonhosted.org/packages/88/09/c99950c075a0e9053d8e880595926302575bc742b1b47fe1bbcc8d388d50/pillow-12.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:9212d6b86917a2300669511ed094a9406888362e085f2431a7da985a6b124f45", size = 2452470 }, + { url = "https://files.pythonhosted.org/packages/b5/ba/970b7d85ba01f348dee4d65412476321d40ee04dcb51cd3735b9dc94eb58/pillow-12.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:00162e9ca6d22b7c3ee8e61faa3c3253cd19b6a37f126cad04f2f88b306f557d", size = 5264816 }, + { url = "https://files.pythonhosted.org/packages/10/60/650f2fb55fdba7a510d836202aa52f0baac633e50ab1cf18415d332188fb/pillow-12.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7d6daa89a00b58c37cb1747ec9fb7ac3bc5ffd5949f5888657dfddde6d1312e0", size = 4660472 }, + { url = "https://files.pythonhosted.org/packages/2b/c0/5273a99478956a099d533c4f46cbaa19fd69d606624f4334b85e50987a08/pillow-12.1.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e2479c7f02f9d505682dc47df8c0ea1fc5e264c4d1629a5d63fe3e2334b89554", size = 6268974 }, + { url = "https://files.pythonhosted.org/packages/b4/26/0bf714bc2e73d5267887d47931d53c4ceeceea6978148ed2ab2a4e6463c4/pillow-12.1.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f188d580bd870cda1e15183790d1cc2fa78f666e76077d103edf048eed9c356e", size = 8073070 }, + { url = "https://files.pythonhosted.org/packages/43/cf/1ea826200de111a9d65724c54f927f3111dc5ae297f294b370a670c17786/pillow-12.1.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0fde7ec5538ab5095cc02df38ee99b0443ff0e1c847a045554cf5f9af1f4aa82", size = 6380176 }, + { url = "https://files.pythonhosted.org/packages/03/e0/7938dd2b2013373fd85d96e0f38d62b7a5a262af21ac274250c7ca7847c9/pillow-12.1.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ed07dca4a8464bada6139ab38f5382f83e5f111698caf3191cb8dbf27d908b4", size = 7067061 }, + { url = "https://files.pythonhosted.org/packages/86/ad/a2aa97d37272a929a98437a8c0ac37b3cf012f4f8721e1bd5154699b2518/pillow-12.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f45bd71d1fa5e5749587613037b172e0b3b23159d1c00ef2fc920da6f470e6f0", size = 6491824 }, + { url = "https://files.pythonhosted.org/packages/a4/44/80e46611b288d51b115826f136fb3465653c28f491068a72d3da49b54cd4/pillow-12.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:277518bf4fe74aa91489e1b20577473b19ee70fb97c374aa50830b279f25841b", size = 7190911 }, + { url = "https://files.pythonhosted.org/packages/86/77/eacc62356b4cf81abe99ff9dbc7402750044aed02cfd6a503f7c6fc11f3e/pillow-12.1.0-cp313-cp313t-win32.whl", hash = "sha256:7315f9137087c4e0ee73a761b163fc9aa3b19f5f606a7fc08d83fd3e4379af65", size = 6336445 }, + { url = "https://files.pythonhosted.org/packages/e7/3c/57d81d0b74d218706dafccb87a87ea44262c43eef98eb3b164fd000e0491/pillow-12.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:0ddedfaa8b5f0b4ffbc2fa87b556dc59f6bb4ecb14a53b33f9189713ae8053c0", size = 7045354 }, + { url = "https://files.pythonhosted.org/packages/ac/82/8b9b97bba2e3576a340f93b044a3a3a09841170ab4c1eb0d5c93469fd32f/pillow-12.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:80941e6d573197a0c28f394753de529bb436b1ca990ed6e765cf42426abc39f8", size = 2454547 }, + { url = "https://files.pythonhosted.org/packages/8c/87/bdf971d8bbcf80a348cc3bacfcb239f5882100fe80534b0ce67a784181d8/pillow-12.1.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:5cb7bc1966d031aec37ddb9dcf15c2da5b2e9f7cc3ca7c54473a20a927e1eb91", size = 4062533 }, + { url = "https://files.pythonhosted.org/packages/ff/4f/5eb37a681c68d605eb7034c004875c81f86ec9ef51f5be4a63eadd58859a/pillow-12.1.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:97e9993d5ed946aba26baf9c1e8cf18adbab584b99f452ee72f7ee8acb882796", size = 4138546 }, + { url = "https://files.pythonhosted.org/packages/11/6d/19a95acb2edbace40dcd582d077b991646b7083c41b98da4ed7555b59733/pillow-12.1.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:414b9a78e14ffeb98128863314e62c3f24b8a86081066625700b7985b3f529bd", size = 3601163 }, + { url = "https://files.pythonhosted.org/packages/fc/36/2b8138e51cb42e4cc39c3297713455548be855a50558c3ac2beebdc251dd/pillow-12.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e6bdb408f7c9dd2a5ff2b14a3b0bb6d4deb29fb9961e6eb3ae2031ae9a5cec13", size = 5266086 }, + { url = "https://files.pythonhosted.org/packages/53/4b/649056e4d22e1caa90816bf99cef0884aed607ed38075bd75f091a607a38/pillow-12.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3413c2ae377550f5487991d444428f1a8ae92784aac79caa8b1e3b89b175f77e", size = 4657344 }, + { url = "https://files.pythonhosted.org/packages/6c/6b/c5742cea0f1ade0cd61485dc3d81f05261fc2276f537fbdc00802de56779/pillow-12.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e5dcbe95016e88437ecf33544ba5db21ef1b8dd6e1b434a2cb2a3d605299e643", size = 6232114 }, + { url = "https://files.pythonhosted.org/packages/bf/8f/9f521268ce22d63991601aafd3d48d5ff7280a246a1ef62d626d67b44064/pillow-12.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d0a7735df32ccbcc98b98a1ac785cc4b19b580be1bdf0aeb5c03223220ea09d5", size = 8042708 }, + { url = "https://files.pythonhosted.org/packages/1a/eb/257f38542893f021502a1bbe0c2e883c90b5cff26cc33b1584a841a06d30/pillow-12.1.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c27407a2d1b96774cbc4a7594129cc027339fd800cd081e44497722ea1179de", size = 6347762 }, + { url = "https://files.pythonhosted.org/packages/c4/5a/8ba375025701c09b309e8d5163c5a4ce0102fa86bbf8800eb0d7ac87bc51/pillow-12.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15c794d74303828eaa957ff8070846d0efe8c630901a1c753fdc63850e19ecd9", size = 7039265 }, + { url = "https://files.pythonhosted.org/packages/cf/dc/cf5e4cdb3db533f539e88a7bbf9f190c64ab8a08a9bc7a4ccf55067872e4/pillow-12.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c990547452ee2800d8506c4150280757f88532f3de2a58e3022e9b179107862a", size = 6462341 }, + { url = "https://files.pythonhosted.org/packages/d0/47/0291a25ac9550677e22eda48510cfc4fa4b2ef0396448b7fbdc0a6946309/pillow-12.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b63e13dd27da389ed9475b3d28510f0f954bca0041e8e551b2a4eb1eab56a39a", size = 7165395 }, + { url = "https://files.pythonhosted.org/packages/4f/4c/e005a59393ec4d9416be06e6b45820403bb946a778e39ecec62f5b2b991e/pillow-12.1.0-cp314-cp314-win32.whl", hash = "sha256:1a949604f73eb07a8adab38c4fe50791f9919344398bdc8ac6b307f755fc7030", size = 6431413 }, + { url = "https://files.pythonhosted.org/packages/1c/af/f23697f587ac5f9095d67e31b81c95c0249cd461a9798a061ed6709b09b5/pillow-12.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:4f9f6a650743f0ddee5593ac9e954ba1bdbc5e150bc066586d4f26127853ab94", size = 7176779 }, + { url = "https://files.pythonhosted.org/packages/b3/36/6a51abf8599232f3e9afbd16d52829376a68909fe14efe29084445db4b73/pillow-12.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:808b99604f7873c800c4840f55ff389936ef1948e4e87645eaf3fccbc8477ac4", size = 2543105 }, + { url = "https://files.pythonhosted.org/packages/82/54/2e1dd20c8749ff225080d6ba465a0cab4387f5db0d1c5fb1439e2d99923f/pillow-12.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:bc11908616c8a283cf7d664f77411a5ed2a02009b0097ff8abbba5e79128ccf2", size = 5268571 }, + { url = "https://files.pythonhosted.org/packages/57/61/571163a5ef86ec0cf30d265ac2a70ae6fc9e28413d1dc94fa37fae6bda89/pillow-12.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:896866d2d436563fa2a43a9d72f417874f16b5545955c54a64941e87c1376c61", size = 4660426 }, + { url = "https://files.pythonhosted.org/packages/5e/e1/53ee5163f794aef1bf84243f755ee6897a92c708505350dd1923f4afec48/pillow-12.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8e178e3e99d3c0ea8fc64b88447f7cac8ccf058af422a6cedc690d0eadd98c51", size = 6269908 }, + { url = "https://files.pythonhosted.org/packages/bc/0b/b4b4106ff0ee1afa1dc599fde6ab230417f800279745124f6c50bcffed8e/pillow-12.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:079af2fb0c599c2ec144ba2c02766d1b55498e373b3ac64687e43849fbbef5bc", size = 8074733 }, + { url = "https://files.pythonhosted.org/packages/19/9f/80b411cbac4a732439e629a26ad3ef11907a8c7fc5377b7602f04f6fe4e7/pillow-12.1.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bdec5e43377761c5dbca620efb69a77f6855c5a379e32ac5b158f54c84212b14", size = 6381431 }, + { url = "https://files.pythonhosted.org/packages/8f/b7/d65c45db463b66ecb6abc17c6ba6917a911202a07662247e1355ce1789e7/pillow-12.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:565c986f4b45c020f5421a4cea13ef294dde9509a8577f29b2fc5edc7587fff8", size = 7068529 }, + { url = "https://files.pythonhosted.org/packages/50/96/dfd4cd726b4a45ae6e3c669fc9e49deb2241312605d33aba50499e9d9bd1/pillow-12.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:43aca0a55ce1eefc0aefa6253661cb54571857b1a7b2964bd8a1e3ef4b729924", size = 6492981 }, + { url = "https://files.pythonhosted.org/packages/4d/1c/b5dc52cf713ae46033359c5ca920444f18a6359ce1020dd3e9c553ea5bc6/pillow-12.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0deedf2ea233722476b3a81e8cdfbad786f7adbed5d848469fa59fe52396e4ef", size = 7191878 }, + { url = "https://files.pythonhosted.org/packages/53/26/c4188248bd5edaf543864fe4834aebe9c9cb4968b6f573ce014cc42d0720/pillow-12.1.0-cp314-cp314t-win32.whl", hash = "sha256:b17fbdbe01c196e7e159aacb889e091f28e61020a8abeac07b68079b6e626988", size = 6438703 }, + { url = "https://files.pythonhosted.org/packages/b8/0e/69ed296de8ea05cb03ee139cee600f424ca166e632567b2d66727f08c7ed/pillow-12.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27b9baecb428899db6c0de572d6d305cfaf38ca1596b5c0542a5182e3e74e8c6", size = 7182927 }, + { url = "https://files.pythonhosted.org/packages/fc/f5/68334c015eed9b5cff77814258717dec591ded209ab5b6fb70e2ae873d1d/pillow-12.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:f61333d817698bdcdd0f9d7793e365ac3d2a21c1f1eb02b32ad6aefb8d8ea831", size = 2545104 }, + { url = "https://files.pythonhosted.org/packages/8b/bc/224b1d98cffd7164b14707c91aac83c07b047fbd8f58eba4066a3e53746a/pillow-12.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ca94b6aac0d7af2a10ba08c0f888b3d5114439b6b3ef39968378723622fed377", size = 5228605 }, + { url = "https://files.pythonhosted.org/packages/0c/ca/49ca7769c4550107de049ed85208240ba0f330b3f2e316f24534795702ce/pillow-12.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:351889afef0f485b84078ea40fe33727a0492b9af3904661b0abbafee0355b72", size = 4622245 }, + { url = "https://files.pythonhosted.org/packages/73/48/fac807ce82e5955bcc2718642b94b1bd22a82a6d452aea31cbb678cddf12/pillow-12.1.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bb0984b30e973f7e2884362b7d23d0a348c7143ee559f38ef3eaab640144204c", size = 5247593 }, + { url = "https://files.pythonhosted.org/packages/d2/95/3e0742fe358c4664aed4fd05d5f5373dcdad0b27af52aa0972568541e3f4/pillow-12.1.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:84cabc7095dd535ca934d57e9ce2a72ffd216e435a84acb06b2277b1de2689bd", size = 6989008 }, + { url = "https://files.pythonhosted.org/packages/5a/74/fe2ac378e4e202e56d50540d92e1ef4ff34ed687f3c60f6a121bcf99437e/pillow-12.1.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53d8b764726d3af1a138dd353116f774e3862ec7e3794e0c8781e30db0f35dfc", size = 5313824 }, + { url = "https://files.pythonhosted.org/packages/f3/77/2a60dee1adee4e2655ac328dd05c02a955c1cd683b9f1b82ec3feb44727c/pillow-12.1.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5da841d81b1a05ef940a8567da92decaa15bc4d7dedb540a8c219ad83d91808a", size = 5963278 }, + { url = "https://files.pythonhosted.org/packages/2d/71/64e9b1c7f04ae0027f788a248e6297d7fcc29571371fe7d45495a78172c0/pillow-12.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:75af0b4c229ac519b155028fa1be632d812a519abba9b46b20e50c6caa184f19", size = 7029809 }, +] + +[[package]] +name = "platformdirs" +version = "4.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654 }, +] + +[[package]] +name = "platformdirs" +version = "4.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731 }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538 }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431 }, +] + +[[package]] +name = "psutil" +version = "7.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372", size = 493740 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b", size = 130595 }, + { url = "https://files.pythonhosted.org/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea", size = 131082 }, + { url = "https://files.pythonhosted.org/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63", size = 181476 }, + { url = "https://files.pythonhosted.org/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312", size = 184062 }, + { url = "https://files.pythonhosted.org/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b", size = 139893 }, + { url = "https://files.pythonhosted.org/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9", size = 135589 }, + { url = "https://files.pythonhosted.org/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00", size = 130664 }, + { url = "https://files.pythonhosted.org/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9", size = 131087 }, + { url = "https://files.pythonhosted.org/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a", size = 182383 }, + { url = "https://files.pythonhosted.org/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf", size = 185210 }, + { url = "https://files.pythonhosted.org/packages/dd/2c/ff9bfb544f283ba5f83ba725a3c5fec6d6b10b8f27ac1dc641c473dc390d/psutil-7.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1", size = 141228 }, + { url = "https://files.pythonhosted.org/packages/f2/fc/f8d9c31db14fcec13748d373e668bc3bed94d9077dbc17fb0eebc073233c/psutil-7.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841", size = 136284 }, + { url = "https://files.pythonhosted.org/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486", size = 129090 }, + { url = "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", size = 129859 }, + { url = "https://files.pythonhosted.org/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9", size = 155560 }, + { url = "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", size = 156997 }, + { url = "https://files.pythonhosted.org/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", size = 148972 }, + { url = "https://files.pythonhosted.org/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc", size = 148266 }, + { url = "https://files.pythonhosted.org/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988", size = 137737 }, + { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617 }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, +] + +[[package]] +name = "pycparser" +version = "2.23" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140 }, +] + +[[package]] +name = "pycparser" +version = "3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172 }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217 }, +] + +[[package]] +name = "pyparsing" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781 }, +] + +[[package]] +name = "pytest" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.10'" }, + { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "pluggy", marker = "python_full_version < '3.10'" }, + { name = "pygments", marker = "python_full_version < '3.10'" }, + { name = "tomli", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750 }, +] + +[[package]] +name = "pytest" +version = "9.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, + { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pluggy", marker = "python_full_version >= '3.10'" }, + { name = "pygments", marker = "python_full_version >= '3.10'" }, + { name = "tomli", marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801 }, +] + +[[package]] +name = "pytest-cov" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.10'" }, + { name = "coverage", version = "7.13.3", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, + { name = "pluggy" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz", hash = "sha256:33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", size = 54328 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", size = 22424 }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, +] + +[[package]] +name = "pyvtk" +version = "0.5.18" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/dc/d5ffc2cc50bdd7a2e7b435655ee5931d614f7c118624dd20c51440c79337/PyVTK-0.5.18.tar.gz", hash = "sha256:608b509b0da4525ad43078b3a60185c359c16f07a2f6b44fbd6f28fb4b9c4e53", size = 18199 } + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432 }, + { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103 }, + { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557 }, + { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031 }, + { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308 }, + { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930 }, + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543 }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040 }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102 }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700 }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700 }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318 }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714 }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800 }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540 }, + { url = "https://files.pythonhosted.org/packages/59/42/b86689aac0cdaee7ae1c58d464b0ff04ca909c19bb6502d4973cdd9f9544/pywin32-311-cp39-cp39-win32.whl", hash = "sha256:aba8f82d551a942cb20d4a83413ccbac30790b50efb89a75e4f586ac0bb8056b", size = 8760837 }, + { url = "https://files.pythonhosted.org/packages/9f/8a/1403d0353f8c5a2f0829d2b1c4becbf9da2f0a4d040886404fc4a5431e4d/pywin32-311-cp39-cp39-win_amd64.whl", hash = "sha256:e0c4cfb0621281fe40387df582097fd796e80430597cb9944f0ae70447bacd91", size = 9590187 }, + { url = "https://files.pythonhosted.org/packages/60/22/e0e8d802f124772cec9c75430b01a212f86f9de7546bda715e54140d5aeb/pywin32-311-cp39-cp39-win_arm64.whl", hash = "sha256:62ea666235135fee79bb154e695f3ff67370afefd71bd7fea7512fc70ef31e3d", size = 8778162 }, +] + +[[package]] +name = "pyzmq" +version = "27.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/b9/52aa9ec2867528b54f1e60846728d8b4d84726630874fee3a91e66c7df81/pyzmq-27.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:508e23ec9bc44c0005c4946ea013d9317ae00ac67778bd47519fdf5a0e930ff4", size = 1329850 }, + { url = "https://files.pythonhosted.org/packages/99/64/5653e7b7425b169f994835a2b2abf9486264401fdef18df91ddae47ce2cc/pyzmq-27.1.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:507b6f430bdcf0ee48c0d30e734ea89ce5567fd7b8a0f0044a369c176aa44556", size = 906380 }, + { url = "https://files.pythonhosted.org/packages/73/78/7d713284dbe022f6440e391bd1f3c48d9185673878034cfb3939cdf333b2/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf7b38f9fd7b81cb6d9391b2946382c8237fd814075c6aa9c3b746d53076023b", size = 666421 }, + { url = "https://files.pythonhosted.org/packages/30/76/8f099f9d6482450428b17c4d6b241281af7ce6a9de8149ca8c1c649f6792/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03ff0b279b40d687691a6217c12242ee71f0fba28bf8626ff50e3ef0f4410e1e", size = 854149 }, + { url = "https://files.pythonhosted.org/packages/59/f0/37fbfff06c68016019043897e4c969ceab18bde46cd2aca89821fcf4fb2e/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:677e744fee605753eac48198b15a2124016c009a11056f93807000ab11ce6526", size = 1655070 }, + { url = "https://files.pythonhosted.org/packages/47/14/7254be73f7a8edc3587609554fcaa7bfd30649bf89cd260e4487ca70fdaa/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd2fec2b13137416a1c5648b7009499bcc8fea78154cd888855fa32514f3dad1", size = 2033441 }, + { url = "https://files.pythonhosted.org/packages/22/dc/49f2be26c6f86f347e796a4d99b19167fc94503f0af3fd010ad262158822/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:08e90bb4b57603b84eab1d0ca05b3bbb10f60c1839dc471fc1c9e1507bef3386", size = 1891529 }, + { url = "https://files.pythonhosted.org/packages/a3/3e/154fb963ae25be70c0064ce97776c937ecc7d8b0259f22858154a9999769/pyzmq-27.1.0-cp310-cp310-win32.whl", hash = "sha256:a5b42d7a0658b515319148875fcb782bbf118dd41c671b62dae33666c2213bda", size = 567276 }, + { url = "https://files.pythonhosted.org/packages/62/b2/f4ab56c8c595abcb26b2be5fd9fa9e6899c1e5ad54964e93ae8bb35482be/pyzmq-27.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0bb87227430ee3aefcc0ade2088100e528d5d3298a0a715a64f3d04c60ba02f", size = 632208 }, + { url = "https://files.pythonhosted.org/packages/3b/e3/be2cc7ab8332bdac0522fdb64c17b1b6241a795bee02e0196636ec5beb79/pyzmq-27.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:9a916f76c2ab8d045b19f2286851a38e9ac94ea91faf65bd64735924522a8b32", size = 559766 }, + { url = "https://files.pythonhosted.org/packages/06/5d/305323ba86b284e6fcb0d842d6adaa2999035f70f8c38a9b6d21ad28c3d4/pyzmq-27.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:226b091818d461a3bef763805e75685e478ac17e9008f49fce2d3e52b3d58b86", size = 1333328 }, + { url = "https://files.pythonhosted.org/packages/bd/a0/fc7e78a23748ad5443ac3275943457e8452da67fda347e05260261108cbc/pyzmq-27.1.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0790a0161c281ca9723f804871b4027f2e8b5a528d357c8952d08cd1a9c15581", size = 908803 }, + { url = "https://files.pythonhosted.org/packages/7e/22/37d15eb05f3bdfa4abea6f6d96eb3bb58585fbd3e4e0ded4e743bc650c97/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c895a6f35476b0c3a54e3eb6ccf41bf3018de937016e6e18748317f25d4e925f", size = 668836 }, + { url = "https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e", size = 857038 }, + { url = "https://files.pythonhosted.org/packages/cb/eb/bfdcb41d0db9cd233d6fb22dc131583774135505ada800ebf14dfb0a7c40/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15c8bd0fe0dabf808e2d7a681398c4e5ded70a551ab47482067a572c054c8e2e", size = 1657531 }, + { url = "https://files.pythonhosted.org/packages/ab/21/e3180ca269ed4a0de5c34417dfe71a8ae80421198be83ee619a8a485b0c7/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bafcb3dd171b4ae9f19ee6380dfc71ce0390fefaf26b504c0e5f628d7c8c54f2", size = 2034786 }, + { url = "https://files.pythonhosted.org/packages/3b/b1/5e21d0b517434b7f33588ff76c177c5a167858cc38ef740608898cd329f2/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e829529fcaa09937189178115c49c504e69289abd39967cd8a4c215761373394", size = 1894220 }, + { url = "https://files.pythonhosted.org/packages/03/f2/44913a6ff6941905efc24a1acf3d3cb6146b636c546c7406c38c49c403d4/pyzmq-27.1.0-cp311-cp311-win32.whl", hash = "sha256:6df079c47d5902af6db298ec92151db82ecb557af663098b92f2508c398bb54f", size = 567155 }, + { url = "https://files.pythonhosted.org/packages/23/6d/d8d92a0eb270a925c9b4dd039c0b4dc10abc2fcbc48331788824ef113935/pyzmq-27.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:190cbf120fbc0fc4957b56866830def56628934a9d112aec0e2507aa6a032b97", size = 633428 }, + { url = "https://files.pythonhosted.org/packages/ae/14/01afebc96c5abbbd713ecfc7469cfb1bc801c819a74ed5c9fad9a48801cb/pyzmq-27.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:eca6b47df11a132d1745eb3b5b5e557a7dae2c303277aa0e69c6ba91b8736e07", size = 559497 }, + { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279 }, + { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645 }, + { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574 }, + { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995 }, + { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070 }, + { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121 }, + { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550 }, + { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184 }, + { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480 }, + { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993 }, + { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436 }, + { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301 }, + { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197 }, + { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275 }, + { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469 }, + { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961 }, + { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282 }, + { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468 }, + { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394 }, + { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964 }, + { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029 }, + { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541 }, + { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197 }, + { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175 }, + { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427 }, + { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929 }, + { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193 }, + { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388 }, + { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316 }, + { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472 }, + { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401 }, + { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170 }, + { url = "https://files.pythonhosted.org/packages/ac/4e/782eb6df91b6a9d9afa96c2dcfc5cac62562a68eb62a02210101f886014d/pyzmq-27.1.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:96c71c32fff75957db6ae33cd961439f386505c6e6b377370af9b24a1ef9eafb", size = 1330426 }, + { url = "https://files.pythonhosted.org/packages/8d/ca/2b8693d06b1db4e0c084871e4c9d7842b561d0a6ff9d780640f5e3e9eb55/pyzmq-27.1.0-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:49d3980544447f6bd2968b6ac913ab963a49dcaa2d4a2990041f16057b04c429", size = 906559 }, + { url = "https://files.pythonhosted.org/packages/6a/b3/b99b39e2cfdcebd512959780e4d299447fd7f46010b1d88d63324e2481ec/pyzmq-27.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:849ca054d81aa1c175c49484afaaa5db0622092b5eccb2055f9f3bb8f703782d", size = 863816 }, + { url = "https://files.pythonhosted.org/packages/61/b2/018fa8e8eefb34a625b1a45e2effcbc9885645b22cdd0a68283f758351e7/pyzmq-27.1.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3970778e74cb7f85934d2b926b9900e92bfe597e62267d7499acc39c9c28e345", size = 666735 }, + { url = "https://files.pythonhosted.org/packages/01/05/8ae778f7cd7c94030731ae2305e6a38f3a333b6825f56c0c03f2134ccf1b/pyzmq-27.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:da96ecdcf7d3919c3be2de91a8c513c186f6762aa6cf7c01087ed74fad7f0968", size = 1655425 }, + { url = "https://files.pythonhosted.org/packages/ad/ad/d69478a97a3f3142f9dbbbd9daa4fcf42541913a85567c36d4cfc19b2218/pyzmq-27.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9541c444cfe1b1c0156c5c86ece2bb926c7079a18e7b47b0b1b3b1b875e5d098", size = 2033729 }, + { url = "https://files.pythonhosted.org/packages/9a/6d/e3c6ad05bc1cddd25094e66cc15ae8924e15c67e231e93ed2955c401007e/pyzmq-27.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e30a74a39b93e2e1591b58eb1acef4902be27c957a8720b0e368f579b82dc22f", size = 1891803 }, + { url = "https://files.pythonhosted.org/packages/7f/a7/97e8be0daaca157511563160b67a13d4fe76b195e3fa6873cb554ad46be3/pyzmq-27.1.0-cp39-cp39-win32.whl", hash = "sha256:b1267823d72d1e40701dcba7edc45fd17f71be1285557b7fe668887150a14b78", size = 567627 }, + { url = "https://files.pythonhosted.org/packages/5c/91/70bbf3a7c5b04c904261ef5ba224d8a76315f6c23454251bf5f55573a8a1/pyzmq-27.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:0c996ded912812a2fcd7ab6574f4ad3edc27cb6510349431e4930d4196ade7db", size = 632315 }, + { url = "https://files.pythonhosted.org/packages/cc/b5/a4173a83c7fd37f6bdb5a800ea338bc25603284e9ef8681377cec006ede4/pyzmq-27.1.0-cp39-cp39-win_arm64.whl", hash = "sha256:346e9ba4198177a07e7706050f35d733e08c1c1f8ceacd5eb6389d653579ffbc", size = 559833 }, + { url = "https://files.pythonhosted.org/packages/f3/81/a65e71c1552f74dec9dff91d95bafb6e0d33338a8dfefbc88aa562a20c92/pyzmq-27.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c17e03cbc9312bee223864f1a2b13a99522e0dc9f7c5df0177cd45210ac286e6", size = 836266 }, + { url = "https://files.pythonhosted.org/packages/58/ed/0202ca350f4f2b69faa95c6d931e3c05c3a397c184cacb84cb4f8f42f287/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:f328d01128373cb6763823b2b4e7f73bdf767834268c565151eacb3b7a392f90", size = 800206 }, + { url = "https://files.pythonhosted.org/packages/47/42/1ff831fa87fe8f0a840ddb399054ca0009605d820e2b44ea43114f5459f4/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1790386614232e1b3a40a958454bdd42c6d1811837b15ddbb052a032a43f62", size = 567747 }, + { url = "https://files.pythonhosted.org/packages/d1/db/5c4d6807434751e3f21231bee98109aa57b9b9b55e058e450d0aef59b70f/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:448f9cb54eb0cee4732b46584f2710c8bc178b0e5371d9e4fc8125201e413a74", size = 747371 }, + { url = "https://files.pythonhosted.org/packages/26/af/78ce193dbf03567eb8c0dc30e3df2b9e56f12a670bf7eb20f9fb532c7e8a/pyzmq-27.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:05b12f2d32112bf8c95ef2e74ec4f1d4beb01f8b5e703b38537f8849f92cb9ba", size = 544862 }, + { url = "https://files.pythonhosted.org/packages/4c/c6/c4dcdecdbaa70969ee1fdced6d7b8f60cfabe64d25361f27ac4665a70620/pyzmq-27.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:18770c8d3563715387139060d37859c02ce40718d1faf299abddcdcc6a649066", size = 836265 }, + { url = "https://files.pythonhosted.org/packages/3e/79/f38c92eeaeb03a2ccc2ba9866f0439593bb08c5e3b714ac1d553e5c96e25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ac25465d42f92e990f8d8b0546b01c391ad431c3bf447683fdc40565941d0604", size = 800208 }, + { url = "https://files.pythonhosted.org/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c", size = 567747 }, + { url = "https://files.pythonhosted.org/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271", size = 747371 }, + { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862 }, + { url = "https://files.pythonhosted.org/packages/57/f4/c2e978cf6b833708bad7d6396c3a20c19750585a1775af3ff13c435e1912/pyzmq-27.1.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:722ea791aa233ac0a819fc2c475e1292c76930b31f1d828cb61073e2fe5e208f", size = 836257 }, + { url = "https://files.pythonhosted.org/packages/5f/5f/4e10c7f57a4c92ab0fbb2396297aa8d618e6f5b9b8f8e9756d56f3e6fc52/pyzmq-27.1.0-pp39-pypy39_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:01f9437501886d3a1dd4b02ef59fb8cc384fa718ce066d52f175ee49dd5b7ed8", size = 800203 }, + { url = "https://files.pythonhosted.org/packages/19/72/a74a007cd636f903448c6ab66628104b1fc5f2ba018733d5eabb94a0a6fb/pyzmq-27.1.0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4a19387a3dddcc762bfd2f570d14e2395b2c9701329b266f83dd87a2b3cbd381", size = 758756 }, + { url = "https://files.pythonhosted.org/packages/a9/d4/30c25b91f2b4786026372f5ef454134d7f576fcf4ac58539ad7dd5de4762/pyzmq-27.1.0-pp39-pypy39_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c618fbcd069e3a29dcd221739cacde52edcc681f041907867e0f5cc7e85f172", size = 567742 }, + { url = "https://files.pythonhosted.org/packages/92/aa/ee86edad943438cd0316964020c4b6d09854414f9f945f8e289ea6fcc019/pyzmq-27.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ff8d114d14ac671d88c89b9224c63d6c4e5a613fe8acd5594ce53d752a3aafe9", size = 544857 }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "attrs", marker = "python_full_version < '3.10'" }, + { name = "rpds-py", version = "0.27.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "attrs", marker = "python_full_version >= '3.10'" }, + { name = "rpds-py", version = "0.30.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766 }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738 }, +] + +[[package]] +name = "roman-numerals" +version = "4.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ae/f9/41dc953bbeb056c17d5f7a519f50fdf010bd0553be2d630bc69d1e022703/roman_numerals-4.1.0.tar.gz", hash = "sha256:1af8b147eb1405d5839e78aeb93131690495fe9da5c91856cb33ad55a7f1e5b2", size = 9077 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/54/6f679c435d28e0a568d8e8a7c0a93a09010818634c3c3907fc98d8983770/roman_numerals-4.1.0-py3-none-any.whl", hash = "sha256:647ba99caddc2cc1e55a51e4360689115551bf4476d90e8162cf8c345fe233c7", size = 7676 }, +] + +[[package]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/ed/3aef893e2dd30e77e35d20d4ddb45ca459db59cead748cad9796ad479411/rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef", size = 371606 }, + { url = "https://files.pythonhosted.org/packages/6d/82/9818b443e5d3eb4c83c3994561387f116aae9833b35c484474769c4a8faf/rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be", size = 353452 }, + { url = "https://files.pythonhosted.org/packages/99/c7/d2a110ffaaa397fc6793a83c7bd3545d9ab22658b7cdff05a24a4535cc45/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9024de74731df54546fab0bfbcdb49fae19159ecaecfc8f37c18d2c7e2c0bd61", size = 381519 }, + { url = "https://files.pythonhosted.org/packages/5a/bc/e89581d1f9d1be7d0247eaef602566869fdc0d084008ba139e27e775366c/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31d3ebadefcd73b73928ed0b2fd696f7fefda8629229f81929ac9c1854d0cffb", size = 394424 }, + { url = "https://files.pythonhosted.org/packages/ac/2e/36a6861f797530e74bb6ed53495f8741f1ef95939eed01d761e73d559067/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2e7f8f169d775dd9092a1743768d771f1d1300453ddfe6325ae3ab5332b4657", size = 523467 }, + { url = "https://files.pythonhosted.org/packages/c4/59/c1bc2be32564fa499f988f0a5c6505c2f4746ef96e58e4d7de5cf923d77e/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d905d16f77eb6ab2e324e09bfa277b4c8e5e6b8a78a3e7ff8f3cdf773b4c013", size = 402660 }, + { url = "https://files.pythonhosted.org/packages/0a/ec/ef8bf895f0628dd0a59e54d81caed6891663cb9c54a0f4bb7da918cb88cf/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c946f048209e6362e22576baea09193809f87687a95a8db24e5fbdb307b93a", size = 384062 }, + { url = "https://files.pythonhosted.org/packages/69/f7/f47ff154be8d9a5e691c083a920bba89cef88d5247c241c10b9898f595a1/rpds_py-0.27.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:3deab27804d65cd8289eb814c2c0e807c4b9d9916c9225e363cb0cf875eb67c1", size = 401289 }, + { url = "https://files.pythonhosted.org/packages/3b/d9/ca410363efd0615814ae579f6829cafb39225cd63e5ea5ed1404cb345293/rpds_py-0.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b61097f7488de4be8244c89915da8ed212832ccf1e7c7753a25a394bf9b1f10", size = 417718 }, + { url = "https://files.pythonhosted.org/packages/e3/a0/8cb5c2ff38340f221cc067cc093d1270e10658ba4e8d263df923daa18e86/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a3f29aba6e2d7d90528d3c792555a93497fe6538aa65eb675b44505be747808", size = 558333 }, + { url = "https://files.pythonhosted.org/packages/6f/8c/1b0de79177c5d5103843774ce12b84caa7164dfc6cd66378768d37db11bf/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd6cd0485b7d347304067153a6dc1d73f7d4fd995a396ef32a24d24b8ac63ac8", size = 589127 }, + { url = "https://files.pythonhosted.org/packages/c8/5e/26abb098d5e01266b0f3a2488d299d19ccc26849735d9d2b95c39397e945/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f4461bf931108c9fa226ffb0e257c1b18dc2d44cd72b125bec50ee0ab1248a9", size = 554899 }, + { url = "https://files.pythonhosted.org/packages/de/41/905cc90ced13550db017f8f20c6d8e8470066c5738ba480d7ba63e3d136b/rpds_py-0.27.1-cp310-cp310-win32.whl", hash = "sha256:ee5422d7fb21f6a00c1901bf6559c49fee13a5159d0288320737bbf6585bd3e4", size = 217450 }, + { url = "https://files.pythonhosted.org/packages/75/3d/6bef47b0e253616ccdf67c283e25f2d16e18ccddd38f92af81d5a3420206/rpds_py-0.27.1-cp310-cp310-win_amd64.whl", hash = "sha256:3e039aabf6d5f83c745d5f9a0a381d031e9ed871967c0a5c38d201aca41f3ba1", size = 228447 }, + { url = "https://files.pythonhosted.org/packages/b5/c1/7907329fbef97cbd49db6f7303893bd1dd5a4a3eae415839ffdfb0762cae/rpds_py-0.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:be898f271f851f68b318872ce6ebebbc62f303b654e43bf72683dbdc25b7c881", size = 371063 }, + { url = "https://files.pythonhosted.org/packages/11/94/2aab4bc86228bcf7c48760990273653a4900de89c7537ffe1b0d6097ed39/rpds_py-0.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62ac3d4e3e07b58ee0ddecd71d6ce3b1637de2d373501412df395a0ec5f9beb5", size = 353210 }, + { url = "https://files.pythonhosted.org/packages/3a/57/f5eb3ecf434342f4f1a46009530e93fd201a0b5b83379034ebdb1d7c1a58/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4708c5c0ceb2d034f9991623631d3d23cb16e65c83736ea020cdbe28d57c0a0e", size = 381636 }, + { url = "https://files.pythonhosted.org/packages/ae/f4/ef95c5945e2ceb5119571b184dd5a1cc4b8541bbdf67461998cfeac9cb1e/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:abfa1171a9952d2e0002aba2ad3780820b00cc3d9c98c6630f2e93271501f66c", size = 394341 }, + { url = "https://files.pythonhosted.org/packages/5a/7e/4bd610754bf492d398b61725eb9598ddd5eb86b07d7d9483dbcd810e20bc/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b507d19f817ebaca79574b16eb2ae412e5c0835542c93fe9983f1e432aca195", size = 523428 }, + { url = "https://files.pythonhosted.org/packages/9f/e5/059b9f65a8c9149361a8b75094864ab83b94718344db511fd6117936ed2a/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168b025f8fd8d8d10957405f3fdcef3dc20f5982d398f90851f4abc58c566c52", size = 402923 }, + { url = "https://files.pythonhosted.org/packages/f5/48/64cabb7daced2968dd08e8a1b7988bf358d7bd5bcd5dc89a652f4668543c/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c6210ef77caa58e16e8c17d35c63fe3f5b60fd9ba9d424470c3400bcf9ed", size = 384094 }, + { url = "https://files.pythonhosted.org/packages/ae/e1/dc9094d6ff566bff87add8a510c89b9e158ad2ecd97ee26e677da29a9e1b/rpds_py-0.27.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:d252f2d8ca0195faa707f8eb9368955760880b2b42a8ee16d382bf5dd807f89a", size = 401093 }, + { url = "https://files.pythonhosted.org/packages/37/8e/ac8577e3ecdd5593e283d46907d7011618994e1d7ab992711ae0f78b9937/rpds_py-0.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e5e54da1e74b91dbc7996b56640f79b195d5925c2b78efaa8c5d53e1d88edde", size = 417969 }, + { url = "https://files.pythonhosted.org/packages/66/6d/87507430a8f74a93556fe55c6485ba9c259949a853ce407b1e23fea5ba31/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ffce0481cc6e95e5b3f0a47ee17ffbd234399e6d532f394c8dce320c3b089c21", size = 558302 }, + { url = "https://files.pythonhosted.org/packages/3a/bb/1db4781ce1dda3eecc735e3152659a27b90a02ca62bfeea17aee45cc0fbc/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a205fdfe55c90c2cd8e540ca9ceba65cbe6629b443bc05db1f590a3db8189ff9", size = 589259 }, + { url = "https://files.pythonhosted.org/packages/7b/0e/ae1c8943d11a814d01b482e1f8da903f88047a962dff9bbdadf3bd6e6fd1/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:689fb5200a749db0415b092972e8eba85847c23885c8543a8b0f5c009b1a5948", size = 554983 }, + { url = "https://files.pythonhosted.org/packages/b2/d5/0b2a55415931db4f112bdab072443ff76131b5ac4f4dc98d10d2d357eb03/rpds_py-0.27.1-cp311-cp311-win32.whl", hash = "sha256:3182af66048c00a075010bc7f4860f33913528a4b6fc09094a6e7598e462fe39", size = 217154 }, + { url = "https://files.pythonhosted.org/packages/24/75/3b7ffe0d50dc86a6a964af0d1cc3a4a2cdf437cb7b099a4747bbb96d1819/rpds_py-0.27.1-cp311-cp311-win_amd64.whl", hash = "sha256:b4938466c6b257b2f5c4ff98acd8128ec36b5059e5c8f8372d79316b1c36bb15", size = 228627 }, + { url = "https://files.pythonhosted.org/packages/8d/3f/4fd04c32abc02c710f09a72a30c9a55ea3cc154ef8099078fd50a0596f8e/rpds_py-0.27.1-cp311-cp311-win_arm64.whl", hash = "sha256:2f57af9b4d0793e53266ee4325535a31ba48e2f875da81a9177c9926dfa60746", size = 220998 }, + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887 }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795 }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121 }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976 }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953 }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915 }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883 }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699 }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713 }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324 }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646 }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137 }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343 }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497 }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790 }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741 }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574 }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051 }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395 }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334 }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691 }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868 }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469 }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125 }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341 }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511 }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736 }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462 }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034 }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392 }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355 }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138 }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247 }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699 }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852 }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582 }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126 }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486 }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832 }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249 }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356 }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300 }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714 }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943 }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472 }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676 }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313 }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080 }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868 }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750 }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688 }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225 }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361 }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493 }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623 }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800 }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943 }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739 }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120 }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944 }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283 }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320 }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760 }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476 }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418 }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771 }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022 }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787 }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538 }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512 }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813 }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385 }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097 }, + { url = "https://files.pythonhosted.org/packages/7f/6c/252e83e1ce7583c81f26d1d884b2074d40a13977e1b6c9c50bbf9a7f1f5a/rpds_py-0.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c918c65ec2e42c2a78d19f18c553d77319119bf43aa9e2edf7fb78d624355527", size = 372140 }, + { url = "https://files.pythonhosted.org/packages/9d/71/949c195d927c5aeb0d0629d329a20de43a64c423a6aa53836290609ef7ec/rpds_py-0.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1fea2b1a922c47c51fd07d656324531adc787e415c8b116530a1d29c0516c62d", size = 354086 }, + { url = "https://files.pythonhosted.org/packages/9f/02/e43e332ad8ce4f6c4342d151a471a7f2900ed1d76901da62eb3762663a71/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbf94c58e8e0cd6b6f38d8de67acae41b3a515c26169366ab58bdca4a6883bb8", size = 382117 }, + { url = "https://files.pythonhosted.org/packages/d0/05/b0fdeb5b577197ad72812bbdfb72f9a08fa1e64539cc3940b1b781cd3596/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2a8fed130ce946d5c585eddc7c8eeef0051f58ac80a8ee43bd17835c144c2cc", size = 394520 }, + { url = "https://files.pythonhosted.org/packages/67/1f/4cfef98b2349a7585181e99294fa2a13f0af06902048a5d70f431a66d0b9/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:037a2361db72ee98d829bc2c5b7cc55598ae0a5e0ec1823a56ea99374cfd73c1", size = 522657 }, + { url = "https://files.pythonhosted.org/packages/44/55/ccf37ddc4c6dce7437b335088b5ca18da864b334890e2fe9aa6ddc3f79a9/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5281ed1cc1d49882f9997981c88df1a22e140ab41df19071222f7e5fc4e72125", size = 402967 }, + { url = "https://files.pythonhosted.org/packages/74/e5/5903f92e41e293b07707d5bf00ef39a0eb2af7190aff4beaf581a6591510/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fd50659a069c15eef8aa3d64bbef0d69fd27bb4a50c9ab4f17f83a16cbf8905", size = 384372 }, + { url = "https://files.pythonhosted.org/packages/8f/e3/fbb409e18aeefc01e49f5922ac63d2d914328430e295c12183ce56ebf76b/rpds_py-0.27.1-cp39-cp39-manylinux_2_31_riscv64.whl", hash = "sha256:c4b676c4ae3921649a15d28ed10025548e9b561ded473aa413af749503c6737e", size = 401264 }, + { url = "https://files.pythonhosted.org/packages/55/79/529ad07794e05cb0f38e2f965fc5bb20853d523976719400acecc447ec9d/rpds_py-0.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:079bc583a26db831a985c5257797b2b5d3affb0386e7ff886256762f82113b5e", size = 418691 }, + { url = "https://files.pythonhosted.org/packages/33/39/6554a7fd6d9906fda2521c6d52f5d723dca123529fb719a5b5e074c15e01/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4e44099bd522cba71a2c6b97f68e19f40e7d85399de899d66cdb67b32d7cb786", size = 558989 }, + { url = "https://files.pythonhosted.org/packages/19/b2/76fa15173b6f9f445e5ef15120871b945fb8dd9044b6b8c7abe87e938416/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e202e6d4188e53c6661af813b46c37ca2c45e497fc558bacc1a7630ec2695aec", size = 589835 }, + { url = "https://files.pythonhosted.org/packages/ee/9e/5560a4b39bab780405bed8a88ee85b30178061d189558a86003548dea045/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f41f814b8eaa48768d1bb551591f6ba45f87ac76899453e8ccd41dba1289b04b", size = 555227 }, + { url = "https://files.pythonhosted.org/packages/52/d7/cd9c36215111aa65724c132bf709c6f35175973e90b32115dedc4ced09cb/rpds_py-0.27.1-cp39-cp39-win32.whl", hash = "sha256:9e71f5a087ead99563c11fdaceee83ee982fd39cf67601f4fd66cb386336ee52", size = 217899 }, + { url = "https://files.pythonhosted.org/packages/5b/e0/d75ab7b4dd8ba777f6b365adbdfc7614bbfe7c5f05703031dfa4b61c3d6c/rpds_py-0.27.1-cp39-cp39-win_amd64.whl", hash = "sha256:71108900c9c3c8590697244b9519017a400d9ba26a36c48381b3f64743a44aab", size = 228725 }, + { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360 }, + { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933 }, + { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962 }, + { url = "https://files.pythonhosted.org/packages/cc/c9/a839b9f219cf80ed65f27a7f5ddbb2809c1b85c966020ae2dff490e0b18e/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d7ff07d696a7a38152ebdb8212ca9e5baab56656749f3d6004b34ab726b550b8", size = 394412 }, + { url = "https://files.pythonhosted.org/packages/02/2d/b1d7f928b0b1f4fc2e0133e8051d199b01d7384875adc63b6ddadf3de7e5/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb7c72262deae25366e3b6c0c0ba46007967aea15d1eea746e44ddba8ec58dcc", size = 523972 }, + { url = "https://files.pythonhosted.org/packages/a9/af/2cbf56edd2d07716df1aec8a726b3159deb47cb5c27e1e42b71d705a7c2f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b002cab05d6339716b03a4a3a2ce26737f6231d7b523f339fa061d53368c9d8", size = 403273 }, + { url = "https://files.pythonhosted.org/packages/c0/93/425e32200158d44ff01da5d9612c3b6711fe69f606f06e3895511f17473b/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23f6b69d1c26c4704fec01311963a41d7de3ee0570a84ebde4d544e5a1859ffc", size = 385278 }, + { url = "https://files.pythonhosted.org/packages/eb/1a/1a04a915ecd0551bfa9e77b7672d1937b4b72a0fc204a17deef76001cfb2/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:530064db9146b247351f2a0250b8f00b289accea4596a033e94be2389977de71", size = 402084 }, + { url = "https://files.pythonhosted.org/packages/51/f7/66585c0fe5714368b62951d2513b684e5215beaceab2c6629549ddb15036/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b90b0496570bd6b0321724a330d8b545827c4df2034b6ddfc5f5275f55da2ad", size = 419041 }, + { url = "https://files.pythonhosted.org/packages/8e/7e/83a508f6b8e219bba2d4af077c35ba0e0cdd35a751a3be6a7cba5a55ad71/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879b0e14a2da6a1102a3fc8af580fc1ead37e6d6692a781bd8c83da37429b5ab", size = 560084 }, + { url = "https://files.pythonhosted.org/packages/66/66/bb945683b958a1b19eb0fe715594630d0f36396ebdef4d9b89c2fa09aa56/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0d807710df3b5faa66c731afa162ea29717ab3be17bdc15f90f2d9f183da4059", size = 590115 }, + { url = "https://files.pythonhosted.org/packages/12/00/ccfaafaf7db7e7adace915e5c2f2c2410e16402561801e9c7f96683002d3/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3adc388fc3afb6540aec081fa59e6e0d3908722771aa1e37ffe22b220a436f0b", size = 556561 }, + { url = "https://files.pythonhosted.org/packages/e1/b7/92b6ed9aad103bfe1c45df98453dfae40969eef2cb6c6239c58d7e96f1b3/rpds_py-0.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c796c0c1cc68cb08b0284db4229f5af76168172670c74908fdbd4b7d7f515819", size = 229125 }, + { url = "https://files.pythonhosted.org/packages/0c/ed/e1fba02de17f4f76318b834425257c8ea297e415e12c68b4361f63e8ae92/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdfe4bb2f9fe7458b7453ad3c33e726d6d1c7c0a72960bcc23800d77384e42df", size = 371402 }, + { url = "https://files.pythonhosted.org/packages/af/7c/e16b959b316048b55585a697e94add55a4ae0d984434d279ea83442e460d/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8fabb8fd848a5f75a2324e4a84501ee3a5e3c78d8603f83475441866e60b94a3", size = 354084 }, + { url = "https://files.pythonhosted.org/packages/de/c1/ade645f55de76799fdd08682d51ae6724cb46f318573f18be49b1e040428/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda8719d598f2f7f3e0f885cba8646644b55a187762bec091fa14a2b819746a9", size = 383090 }, + { url = "https://files.pythonhosted.org/packages/1f/27/89070ca9b856e52960da1472efcb6c20ba27cfe902f4f23ed095b9cfc61d/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c64d07e95606ec402a0a1c511fe003873fa6af630bda59bac77fac8b4318ebc", size = 394519 }, + { url = "https://files.pythonhosted.org/packages/b3/28/be120586874ef906aa5aeeae95ae8df4184bc757e5b6bd1c729ccff45ed5/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93a2ed40de81bcff59aabebb626562d48332f3d028ca2036f1d23cbb52750be4", size = 523817 }, + { url = "https://files.pythonhosted.org/packages/a8/ef/70cc197bc11cfcde02a86f36ac1eed15c56667c2ebddbdb76a47e90306da/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:387ce8c44ae94e0ec50532d9cb0edce17311024c9794eb196b90e1058aadeb66", size = 403240 }, + { url = "https://files.pythonhosted.org/packages/cf/35/46936cca449f7f518f2f4996e0e8344db4b57e2081e752441154089d2a5f/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf94f812c95b5e60ebaf8bfb1898a7d7cb9c1af5744d4a67fa47796e0465d4e", size = 385194 }, + { url = "https://files.pythonhosted.org/packages/e1/62/29c0d3e5125c3270b51415af7cbff1ec587379c84f55a5761cc9efa8cd06/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4848ca84d6ded9b58e474dfdbad4b8bfb450344c0551ddc8d958bf4b36aa837c", size = 402086 }, + { url = "https://files.pythonhosted.org/packages/8f/66/03e1087679227785474466fdd04157fb793b3b76e3fcf01cbf4c693c1949/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bde09cbcf2248b73c7c323be49b280180ff39fadcfe04e7b6f54a678d02a7cf", size = 419272 }, + { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003 }, + { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482 }, + { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523 }, + { url = "https://files.pythonhosted.org/packages/4e/ea/5463cd5048a7a2fcdae308b6e96432802132c141bfb9420260142632a0f1/rpds_py-0.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:aa8933159edc50be265ed22b401125c9eebff3171f570258854dbce3ecd55475", size = 371778 }, + { url = "https://files.pythonhosted.org/packages/0d/c8/f38c099db07f5114029c1467649d308543906933eebbc226d4527a5f4693/rpds_py-0.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a50431bf02583e21bf273c71b89d710e7a710ad5e39c725b14e685610555926f", size = 354394 }, + { url = "https://files.pythonhosted.org/packages/7d/79/b76f97704d9dd8ddbd76fed4c4048153a847c5d6003afe20a6b5c3339065/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78af06ddc7fe5cc0e967085a9115accee665fb912c22a3f54bad70cc65b05fe6", size = 382348 }, + { url = "https://files.pythonhosted.org/packages/8a/3f/ef23d3c1be1b837b648a3016d5bbe7cfe711422ad110b4081c0a90ef5a53/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:70d0738ef8fee13c003b100c2fbd667ec4f133468109b3472d249231108283a3", size = 394159 }, + { url = "https://files.pythonhosted.org/packages/74/8a/9e62693af1a34fd28b1a190d463d12407bd7cf561748cb4745845d9548d3/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2f6fd8a1cea5bbe599b6e78a6e5ee08db434fc8ffea51ff201c8765679698b3", size = 522775 }, + { url = "https://files.pythonhosted.org/packages/36/0d/8d5bb122bf7a60976b54c5c99a739a3819f49f02d69df3ea2ca2aff47d5c/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8177002868d1426305bb5de1e138161c2ec9eb2d939be38291d7c431c4712df8", size = 402633 }, + { url = "https://files.pythonhosted.org/packages/0f/0e/237948c1f425e23e0cf5a566d702652a6e55c6f8fbd332a1792eb7043daf/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:008b839781d6c9bf3b6a8984d1d8e56f0ec46dc56df61fd669c49b58ae800400", size = 384867 }, + { url = "https://files.pythonhosted.org/packages/d6/0a/da0813efcd998d260cbe876d97f55b0f469ada8ba9cbc47490a132554540/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:a55b9132bb1ade6c734ddd2759c8dc132aa63687d259e725221f106b83a0e485", size = 401791 }, + { url = "https://files.pythonhosted.org/packages/51/78/c6c9e8a8aaca416a6f0d1b6b4a6ee35b88fe2c5401d02235d0a056eceed2/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a46fdec0083a26415f11d5f236b79fa1291c32aaa4a17684d82f7017a1f818b1", size = 419525 }, + { url = "https://files.pythonhosted.org/packages/a3/69/5af37e1d71487cf6d56dd1420dc7e0c2732c1b6ff612aa7a88374061c0a8/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8a63b640a7845f2bdd232eb0d0a4a2dd939bcdd6c57e6bb134526487f3160ec5", size = 559255 }, + { url = "https://files.pythonhosted.org/packages/40/7f/8b7b136069ef7ac3960eda25d832639bdb163018a34c960ed042dd1707c8/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:7e32721e5d4922deaaf963469d795d5bde6093207c52fec719bd22e5d1bedbc4", size = 590384 }, + { url = "https://files.pythonhosted.org/packages/d8/06/c316d3f6ff03f43ccb0eba7de61376f8ec4ea850067dddfafe98274ae13c/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:2c426b99a068601b5f4623573df7a7c3d72e87533a2dd2253353a03e7502566c", size = 555959 }, + { url = "https://files.pythonhosted.org/packages/60/94/384cf54c430b9dac742bbd2ec26c23feb78ded0d43d6d78563a281aec017/rpds_py-0.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4fc9b7fe29478824361ead6e14e4f5aed570d477e06088826537e202d25fe859", size = 228784 }, +] + +[[package]] +name = "rpds-py" +version = "0.30.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84", size = 69469 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/06/0c/0c411a0ec64ccb6d104dcabe0e713e05e153a9a2c3c2bd2b32ce412166fe/rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288", size = 370490 }, + { url = "https://files.pythonhosted.org/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00", size = 359751 }, + { url = "https://files.pythonhosted.org/packages/cd/7c/e4933565ef7f7a0818985d87c15d9d273f1a649afa6a52ea35ad011195ea/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6", size = 389696 }, + { url = "https://files.pythonhosted.org/packages/5e/01/6271a2511ad0815f00f7ed4390cf2567bec1d4b1da39e2c27a41e6e3b4de/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7", size = 403136 }, + { url = "https://files.pythonhosted.org/packages/55/64/c857eb7cd7541e9b4eee9d49c196e833128a55b89a9850a9c9ac33ccf897/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324", size = 524699 }, + { url = "https://files.pythonhosted.org/packages/9c/ed/94816543404078af9ab26159c44f9e98e20fe47e2126d5d32c9d9948d10a/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df", size = 412022 }, + { url = "https://files.pythonhosted.org/packages/61/b5/707f6cf0066a6412aacc11d17920ea2e19e5b2f04081c64526eb35b5c6e7/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3", size = 390522 }, + { url = "https://files.pythonhosted.org/packages/13/4e/57a85fda37a229ff4226f8cbcf09f2a455d1ed20e802ce5b2b4a7f5ed053/rpds_py-0.30.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221", size = 404579 }, + { url = "https://files.pythonhosted.org/packages/f9/da/c9339293513ec680a721e0e16bf2bac3db6e5d7e922488de471308349bba/rpds_py-0.30.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7", size = 421305 }, + { url = "https://files.pythonhosted.org/packages/f9/be/522cb84751114f4ad9d822ff5a1aa3c98006341895d5f084779b99596e5c/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff", size = 572503 }, + { url = "https://files.pythonhosted.org/packages/a2/9b/de879f7e7ceddc973ea6e4629e9b380213a6938a249e94b0cdbcc325bb66/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7", size = 598322 }, + { url = "https://files.pythonhosted.org/packages/48/ac/f01fc22efec3f37d8a914fc1b2fb9bcafd56a299edbe96406f3053edea5a/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139", size = 560792 }, + { url = "https://files.pythonhosted.org/packages/e2/da/4e2b19d0f131f35b6146425f846563d0ce036763e38913d917187307a671/rpds_py-0.30.0-cp310-cp310-win32.whl", hash = "sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464", size = 221901 }, + { url = "https://files.pythonhosted.org/packages/96/cb/156d7a5cf4f78a7cc571465d8aec7a3c447c94f6749c5123f08438bcf7bc/rpds_py-0.30.0-cp310-cp310-win_amd64.whl", hash = "sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169", size = 235823 }, + { url = "https://files.pythonhosted.org/packages/4d/6e/f964e88b3d2abee2a82c1ac8366da848fce1c6d834dc2132c3fda3970290/rpds_py-0.30.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425", size = 370157 }, + { url = "https://files.pythonhosted.org/packages/94/ba/24e5ebb7c1c82e74c4e4f33b2112a5573ddc703915b13a073737b59b86e0/rpds_py-0.30.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d", size = 359676 }, + { url = "https://files.pythonhosted.org/packages/84/86/04dbba1b087227747d64d80c3b74df946b986c57af0a9f0c98726d4d7a3b/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4", size = 389938 }, + { url = "https://files.pythonhosted.org/packages/42/bb/1463f0b1722b7f45431bdd468301991d1328b16cffe0b1c2918eba2c4eee/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f", size = 402932 }, + { url = "https://files.pythonhosted.org/packages/99/ee/2520700a5c1f2d76631f948b0736cdf9b0acb25abd0ca8e889b5c62ac2e3/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4", size = 525830 }, + { url = "https://files.pythonhosted.org/packages/e0/ad/bd0331f740f5705cc555a5e17fdf334671262160270962e69a2bdef3bf76/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97", size = 412033 }, + { url = "https://files.pythonhosted.org/packages/f8/1e/372195d326549bb51f0ba0f2ecb9874579906b97e08880e7a65c3bef1a99/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89", size = 390828 }, + { url = "https://files.pythonhosted.org/packages/ab/2b/d88bb33294e3e0c76bc8f351a3721212713629ffca1700fa94979cb3eae8/rpds_py-0.30.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d", size = 404683 }, + { url = "https://files.pythonhosted.org/packages/50/32/c759a8d42bcb5289c1fac697cd92f6fe01a018dd937e62ae77e0e7f15702/rpds_py-0.30.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038", size = 421583 }, + { url = "https://files.pythonhosted.org/packages/2b/81/e729761dbd55ddf5d84ec4ff1f47857f4374b0f19bdabfcf929164da3e24/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7", size = 572496 }, + { url = "https://files.pythonhosted.org/packages/14/f6/69066a924c3557c9c30baa6ec3a0aa07526305684c6f86c696b08860726c/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed", size = 598669 }, + { url = "https://files.pythonhosted.org/packages/5f/48/905896b1eb8a05630d20333d1d8ffd162394127b74ce0b0784ae04498d32/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85", size = 561011 }, + { url = "https://files.pythonhosted.org/packages/22/16/cd3027c7e279d22e5eb431dd3c0fbc677bed58797fe7581e148f3f68818b/rpds_py-0.30.0-cp311-cp311-win32.whl", hash = "sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c", size = 221406 }, + { url = "https://files.pythonhosted.org/packages/fa/5b/e7b7aa136f28462b344e652ee010d4de26ee9fd16f1bfd5811f5153ccf89/rpds_py-0.30.0-cp311-cp311-win_amd64.whl", hash = "sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825", size = 236024 }, + { url = "https://files.pythonhosted.org/packages/14/a6/364bba985e4c13658edb156640608f2c9e1d3ea3c81b27aa9d889fff0e31/rpds_py-0.30.0-cp311-cp311-win_arm64.whl", hash = "sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229", size = 229069 }, + { url = "https://files.pythonhosted.org/packages/03/e7/98a2f4ac921d82f33e03f3835f5bf3a4a40aa1bfdc57975e74a97b2b4bdd/rpds_py-0.30.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad", size = 375086 }, + { url = "https://files.pythonhosted.org/packages/4d/a1/bca7fd3d452b272e13335db8d6b0b3ecde0f90ad6f16f3328c6fb150c889/rpds_py-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05", size = 359053 }, + { url = "https://files.pythonhosted.org/packages/65/1c/ae157e83a6357eceff62ba7e52113e3ec4834a84cfe07fa4b0757a7d105f/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28", size = 390763 }, + { url = "https://files.pythonhosted.org/packages/d4/36/eb2eb8515e2ad24c0bd43c3ee9cd74c33f7ca6430755ccdb240fd3144c44/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd", size = 408951 }, + { url = "https://files.pythonhosted.org/packages/d6/65/ad8dc1784a331fabbd740ef6f71ce2198c7ed0890dab595adb9ea2d775a1/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f", size = 514622 }, + { url = "https://files.pythonhosted.org/packages/63/8e/0cfa7ae158e15e143fe03993b5bcd743a59f541f5952e1546b1ac1b5fd45/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1", size = 414492 }, + { url = "https://files.pythonhosted.org/packages/60/1b/6f8f29f3f995c7ffdde46a626ddccd7c63aefc0efae881dc13b6e5d5bb16/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23", size = 394080 }, + { url = "https://files.pythonhosted.org/packages/6d/d5/a266341051a7a3ca2f4b750a3aa4abc986378431fc2da508c5034d081b70/rpds_py-0.30.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6", size = 408680 }, + { url = "https://files.pythonhosted.org/packages/10/3b/71b725851df9ab7a7a4e33cf36d241933da66040d195a84781f49c50490c/rpds_py-0.30.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51", size = 423589 }, + { url = "https://files.pythonhosted.org/packages/00/2b/e59e58c544dc9bd8bd8384ecdb8ea91f6727f0e37a7131baeff8d6f51661/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5", size = 573289 }, + { url = "https://files.pythonhosted.org/packages/da/3e/a18e6f5b460893172a7d6a680e86d3b6bc87a54c1f0b03446a3c8c7b588f/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e", size = 599737 }, + { url = "https://files.pythonhosted.org/packages/5c/e2/714694e4b87b85a18e2c243614974413c60aa107fd815b8cbc42b873d1d7/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394", size = 563120 }, + { url = "https://files.pythonhosted.org/packages/6f/ab/d5d5e3bcedb0a77f4f613706b750e50a5a3ba1c15ccd3665ecc636c968fd/rpds_py-0.30.0-cp312-cp312-win32.whl", hash = "sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf", size = 223782 }, + { url = "https://files.pythonhosted.org/packages/39/3b/f786af9957306fdc38a74cef405b7b93180f481fb48453a114bb6465744a/rpds_py-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b", size = 240463 }, + { url = "https://files.pythonhosted.org/packages/f3/d2/b91dc748126c1559042cfe41990deb92c4ee3e2b415f6b5234969ffaf0cc/rpds_py-0.30.0-cp312-cp312-win_arm64.whl", hash = "sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e", size = 230868 }, + { url = "https://files.pythonhosted.org/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2", size = 374887 }, + { url = "https://files.pythonhosted.org/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8", size = 358904 }, + { url = "https://files.pythonhosted.org/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4", size = 389945 }, + { url = "https://files.pythonhosted.org/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136", size = 407783 }, + { url = "https://files.pythonhosted.org/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7", size = 515021 }, + { url = "https://files.pythonhosted.org/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2", size = 414589 }, + { url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6", size = 394025 }, + { url = "https://files.pythonhosted.org/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e", size = 408895 }, + { url = "https://files.pythonhosted.org/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d", size = 422799 }, + { url = "https://files.pythonhosted.org/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7", size = 572731 }, + { url = "https://files.pythonhosted.org/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31", size = 599027 }, + { url = "https://files.pythonhosted.org/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95", size = 563020 }, + { url = "https://files.pythonhosted.org/packages/0b/5d/47c4655e9bcd5ca907148535c10e7d489044243cc9941c16ed7cd53be91d/rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d", size = 223139 }, + { url = "https://files.pythonhosted.org/packages/f2/e1/485132437d20aa4d3e1d8b3fb5a5e65aa8139f1e097080c2a8443201742c/rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15", size = 240224 }, + { url = "https://files.pythonhosted.org/packages/24/95/ffd128ed1146a153d928617b0ef673960130be0009c77d8fbf0abe306713/rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1", size = 230645 }, + { url = "https://files.pythonhosted.org/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a", size = 364443 }, + { url = "https://files.pythonhosted.org/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e", size = 353375 }, + { url = "https://files.pythonhosted.org/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000", size = 383850 }, + { url = "https://files.pythonhosted.org/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db", size = 392812 }, + { url = "https://files.pythonhosted.org/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2", size = 517841 }, + { url = "https://files.pythonhosted.org/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa", size = 408149 }, + { url = "https://files.pythonhosted.org/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083", size = 383843 }, + { url = "https://files.pythonhosted.org/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9", size = 396507 }, + { url = "https://files.pythonhosted.org/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0", size = 414949 }, + { url = "https://files.pythonhosted.org/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94", size = 565790 }, + { url = "https://files.pythonhosted.org/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08", size = 590217 }, + { url = "https://files.pythonhosted.org/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27", size = 555806 }, + { url = "https://files.pythonhosted.org/packages/f9/39/7e067bb06c31de48de3eb200f9fc7c58982a4d3db44b07e73963e10d3be9/rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6", size = 211341 }, + { url = "https://files.pythonhosted.org/packages/0a/4d/222ef0b46443cf4cf46764d9c630f3fe4abaa7245be9417e56e9f52b8f65/rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d", size = 225768 }, + { url = "https://files.pythonhosted.org/packages/86/81/dad16382ebbd3d0e0328776d8fd7ca94220e4fa0798d1dc5e7da48cb3201/rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0", size = 362099 }, + { url = "https://files.pythonhosted.org/packages/2b/60/19f7884db5d5603edf3c6bce35408f45ad3e97e10007df0e17dd57af18f8/rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be", size = 353192 }, + { url = "https://files.pythonhosted.org/packages/bf/c4/76eb0e1e72d1a9c4703c69607cec123c29028bff28ce41588792417098ac/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f", size = 384080 }, + { url = "https://files.pythonhosted.org/packages/72/87/87ea665e92f3298d1b26d78814721dc39ed8d2c74b86e83348d6b48a6f31/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f", size = 394841 }, + { url = "https://files.pythonhosted.org/packages/77/ad/7783a89ca0587c15dcbf139b4a8364a872a25f861bdb88ed99f9b0dec985/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87", size = 516670 }, + { url = "https://files.pythonhosted.org/packages/5b/3c/2882bdac942bd2172f3da574eab16f309ae10a3925644e969536553cb4ee/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18", size = 408005 }, + { url = "https://files.pythonhosted.org/packages/ce/81/9a91c0111ce1758c92516a3e44776920b579d9a7c09b2b06b642d4de3f0f/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad", size = 382112 }, + { url = "https://files.pythonhosted.org/packages/cf/8e/1da49d4a107027e5fbc64daeab96a0706361a2918da10cb41769244b805d/rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07", size = 399049 }, + { url = "https://files.pythonhosted.org/packages/df/5a/7ee239b1aa48a127570ec03becbb29c9d5a9eb092febbd1699d567cae859/rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f", size = 415661 }, + { url = "https://files.pythonhosted.org/packages/70/ea/caa143cf6b772f823bc7929a45da1fa83569ee49b11d18d0ada7f5ee6fd6/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65", size = 565606 }, + { url = "https://files.pythonhosted.org/packages/64/91/ac20ba2d69303f961ad8cf55bf7dbdb4763f627291ba3d0d7d67333cced9/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f", size = 591126 }, + { url = "https://files.pythonhosted.org/packages/21/20/7ff5f3c8b00c8a95f75985128c26ba44503fb35b8e0259d812766ea966c7/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53", size = 553371 }, + { url = "https://files.pythonhosted.org/packages/72/c7/81dadd7b27c8ee391c132a6b192111ca58d866577ce2d9b0ca157552cce0/rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed", size = 215298 }, + { url = "https://files.pythonhosted.org/packages/3e/d2/1aaac33287e8cfb07aab2e6b8ac1deca62f6f65411344f1433c55e6f3eb8/rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950", size = 228604 }, + { url = "https://files.pythonhosted.org/packages/e8/95/ab005315818cc519ad074cb7784dae60d939163108bd2b394e60dc7b5461/rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6", size = 222391 }, + { url = "https://files.pythonhosted.org/packages/9e/68/154fe0194d83b973cdedcdcc88947a2752411165930182ae41d983dcefa6/rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb", size = 364868 }, + { url = "https://files.pythonhosted.org/packages/83/69/8bbc8b07ec854d92a8b75668c24d2abcb1719ebf890f5604c61c9369a16f/rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8", size = 353747 }, + { url = "https://files.pythonhosted.org/packages/ab/00/ba2e50183dbd9abcce9497fa5149c62b4ff3e22d338a30d690f9af970561/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7", size = 383795 }, + { url = "https://files.pythonhosted.org/packages/05/6f/86f0272b84926bcb0e4c972262f54223e8ecc556b3224d281e6598fc9268/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898", size = 393330 }, + { url = "https://files.pythonhosted.org/packages/cb/e9/0e02bb2e6dc63d212641da45df2b0bf29699d01715913e0d0f017ee29438/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e", size = 518194 }, + { url = "https://files.pythonhosted.org/packages/ee/ca/be7bca14cf21513bdf9c0606aba17d1f389ea2b6987035eb4f62bd923f25/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419", size = 408340 }, + { url = "https://files.pythonhosted.org/packages/c2/c7/736e00ebf39ed81d75544c0da6ef7b0998f8201b369acf842f9a90dc8fce/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551", size = 383765 }, + { url = "https://files.pythonhosted.org/packages/4a/3f/da50dfde9956aaf365c4adc9533b100008ed31aea635f2b8d7b627e25b49/rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8", size = 396834 }, + { url = "https://files.pythonhosted.org/packages/4e/00/34bcc2565b6020eab2623349efbdec810676ad571995911f1abdae62a3a0/rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5", size = 415470 }, + { url = "https://files.pythonhosted.org/packages/8c/28/882e72b5b3e6f718d5453bd4d0d9cf8df36fddeb4ddbbab17869d5868616/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404", size = 565630 }, + { url = "https://files.pythonhosted.org/packages/3b/97/04a65539c17692de5b85c6e293520fd01317fd878ea1995f0367d4532fb1/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856", size = 591148 }, + { url = "https://files.pythonhosted.org/packages/85/70/92482ccffb96f5441aab93e26c4d66489eb599efdcf96fad90c14bbfb976/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40", size = 556030 }, + { url = "https://files.pythonhosted.org/packages/20/53/7c7e784abfa500a2b6b583b147ee4bb5a2b3747a9166bab52fec4b5b5e7d/rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0", size = 211570 }, + { url = "https://files.pythonhosted.org/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3", size = 226532 }, + { url = "https://files.pythonhosted.org/packages/69/71/3f34339ee70521864411f8b6992e7ab13ac30d8e4e3309e07c7361767d91/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58", size = 372292 }, + { url = "https://files.pythonhosted.org/packages/57/09/f183df9b8f2d66720d2ef71075c59f7e1b336bec7ee4c48f0a2b06857653/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a", size = 362128 }, + { url = "https://files.pythonhosted.org/packages/7a/68/5c2594e937253457342e078f0cc1ded3dd7b2ad59afdbf2d354869110a02/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb", size = 391542 }, + { url = "https://files.pythonhosted.org/packages/49/5c/31ef1afd70b4b4fbdb2800249f34c57c64beb687495b10aec0365f53dfc4/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c", size = 404004 }, + { url = "https://files.pythonhosted.org/packages/e3/63/0cfbea38d05756f3440ce6534d51a491d26176ac045e2707adc99bb6e60a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3", size = 527063 }, + { url = "https://files.pythonhosted.org/packages/42/e6/01e1f72a2456678b0f618fc9a1a13f882061690893c192fcad9f2926553a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5", size = 413099 }, + { url = "https://files.pythonhosted.org/packages/b8/25/8df56677f209003dcbb180765520c544525e3ef21ea72279c98b9aa7c7fb/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738", size = 392177 }, + { url = "https://files.pythonhosted.org/packages/4a/b4/0a771378c5f16f8115f796d1f437950158679bcd2a7c68cf251cfb00ed5b/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f", size = 406015 }, + { url = "https://files.pythonhosted.org/packages/36/d8/456dbba0af75049dc6f63ff295a2f92766b9d521fa00de67a2bd6427d57a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877", size = 423736 }, + { url = "https://files.pythonhosted.org/packages/13/64/b4d76f227d5c45a7e0b796c674fd81b0a6c4fbd48dc29271857d8219571c/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a", size = 573981 }, + { url = "https://files.pythonhosted.org/packages/20/91/092bacadeda3edf92bf743cc96a7be133e13a39cdbfd7b5082e7ab638406/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4", size = 599782 }, + { url = "https://files.pythonhosted.org/packages/d1/b7/b95708304cd49b7b6f82fdd039f1748b66ec2b21d6a45180910802f1abf1/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e", size = 562191 }, +] + +[[package]] +name = "scipy" +version = "1.13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076 }, + { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232 }, + { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202 }, + { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335 }, + { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728 }, + { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588 }, + { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805 }, + { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687 }, + { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638 }, + { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931 }, + { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145 }, + { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227 }, + { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301 }, + { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348 }, + { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062 }, + { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311 }, + { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493 }, + { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955 }, + { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927 }, + { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538 }, + { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190 }, + { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244 }, + { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637 }, + { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440 }, +] + +[[package]] +name = "scipy" +version = "1.15.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c", size = 38702770 }, + { url = "https://files.pythonhosted.org/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253", size = 30094511 }, + { url = "https://files.pythonhosted.org/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f", size = 22368151 }, + { url = "https://files.pythonhosted.org/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92", size = 25121732 }, + { url = "https://files.pythonhosted.org/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82", size = 35547617 }, + { url = "https://files.pythonhosted.org/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40", size = 37662964 }, + { url = "https://files.pythonhosted.org/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e", size = 37238749 }, + { url = "https://files.pythonhosted.org/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c", size = 40022383 }, + { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201 }, + { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255 }, + { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035 }, + { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499 }, + { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602 }, + { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415 }, + { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622 }, + { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796 }, + { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684 }, + { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504 }, + { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735 }, + { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284 }, + { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958 }, + { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454 }, + { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199 }, + { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455 }, + { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140 }, + { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549 }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184 }, + { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256 }, + { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540 }, + { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115 }, + { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884 }, + { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018 }, + { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716 }, + { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342 }, + { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869 }, + { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851 }, + { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011 }, + { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407 }, + { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030 }, + { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709 }, + { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045 }, + { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062 }, + { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132 }, + { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503 }, + { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097 }, +] + +[[package]] +name = "scipy" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/56/3e/9cca699f3486ce6bc12ff46dc2031f1ec8eb9ccc9a320fdaf925f1417426/scipy-1.17.0.tar.gz", hash = "sha256:2591060c8e648d8b96439e111ac41fd8342fdeff1876be2e19dea3fe8930454e", size = 30396830 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/4b/c89c131aa87cad2b77a54eb0fb94d633a842420fa7e919dc2f922037c3d8/scipy-1.17.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:2abd71643797bd8a106dff97894ff7869eeeb0af0f7a5ce02e4227c6a2e9d6fd", size = 31381316 }, + { url = "https://files.pythonhosted.org/packages/5e/5f/a6b38f79a07d74989224d5f11b55267714707582908a5f1ae854cf9a9b84/scipy-1.17.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:ef28d815f4d2686503e5f4f00edc387ae58dfd7a2f42e348bb53359538f01558", size = 27966760 }, + { url = "https://files.pythonhosted.org/packages/c1/20/095ad24e031ee8ed3c5975954d816b8e7e2abd731e04f8be573de8740885/scipy-1.17.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:272a9f16d6bb4667e8b50d25d71eddcc2158a214df1b566319298de0939d2ab7", size = 20138701 }, + { url = "https://files.pythonhosted.org/packages/89/11/4aad2b3858d0337756f3323f8960755704e530b27eb2a94386c970c32cbe/scipy-1.17.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:7204fddcbec2fe6598f1c5fdf027e9f259106d05202a959a9f1aecf036adc9f6", size = 22480574 }, + { url = "https://files.pythonhosted.org/packages/85/bd/f5af70c28c6da2227e510875cadf64879855193a687fb19951f0f44cfd6b/scipy-1.17.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fc02c37a5639ee67d8fb646ffded6d793c06c5622d36b35cfa8fe5ececb8f042", size = 32862414 }, + { url = "https://files.pythonhosted.org/packages/ef/df/df1457c4df3826e908879fe3d76bc5b6e60aae45f4ee42539512438cfd5d/scipy-1.17.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dac97a27520d66c12a34fd90a4fe65f43766c18c0d6e1c0a80f114d2260080e4", size = 35112380 }, + { url = "https://files.pythonhosted.org/packages/5f/bb/88e2c16bd1dd4de19d80d7c5e238387182993c2fb13b4b8111e3927ad422/scipy-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ebb7446a39b3ae0fe8f416a9a3fdc6fba3f11c634f680f16a239c5187bc487c0", size = 34922676 }, + { url = "https://files.pythonhosted.org/packages/02/ba/5120242cc735f71fc002cff0303d536af4405eb265f7c60742851e7ccfe9/scipy-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:474da16199f6af66601a01546144922ce402cb17362e07d82f5a6cf8f963e449", size = 37507599 }, + { url = "https://files.pythonhosted.org/packages/52/c8/08629657ac6c0da198487ce8cd3de78e02cfde42b7f34117d56a3fe249dc/scipy-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:255c0da161bd7b32a6c898e7891509e8a9289f0b1c6c7d96142ee0d2b114c2ea", size = 36380284 }, + { url = "https://files.pythonhosted.org/packages/6c/4a/465f96d42c6f33ad324a40049dfd63269891db9324aa66c4a1c108c6f994/scipy-1.17.0-cp311-cp311-win_arm64.whl", hash = "sha256:85b0ac3ad17fa3be50abd7e69d583d98792d7edc08367e01445a1e2076005379", size = 24370427 }, + { url = "https://files.pythonhosted.org/packages/0b/11/7241a63e73ba5a516f1930ac8d5b44cbbfabd35ac73a2d08ca206df007c4/scipy-1.17.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:0d5018a57c24cb1dd828bcf51d7b10e65986d549f52ef5adb6b4d1ded3e32a57", size = 31364580 }, + { url = "https://files.pythonhosted.org/packages/ed/1d/5057f812d4f6adc91a20a2d6f2ebcdb517fdbc87ae3acc5633c9b97c8ba5/scipy-1.17.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:88c22af9e5d5a4f9e027e26772cc7b5922fab8bcc839edb3ae33de404feebd9e", size = 27969012 }, + { url = "https://files.pythonhosted.org/packages/e3/21/f6ec556c1e3b6ec4e088da667d9987bb77cc3ab3026511f427dc8451187d/scipy-1.17.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f3cd947f20fe17013d401b64e857c6b2da83cae567adbb75b9dcba865abc66d8", size = 20140691 }, + { url = "https://files.pythonhosted.org/packages/7a/fe/5e5ad04784964ba964a96f16c8d4676aa1b51357199014dce58ab7ec5670/scipy-1.17.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e8c0b331c2c1f531eb51f1b4fc9ba709521a712cce58f1aa627bc007421a5306", size = 22463015 }, + { url = "https://files.pythonhosted.org/packages/4a/69/7c347e857224fcaf32a34a05183b9d8a7aca25f8f2d10b8a698b8388561a/scipy-1.17.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5194c445d0a1c7a6c1a4a4681b6b7c71baad98ff66d96b949097e7513c9d6742", size = 32724197 }, + { url = "https://files.pythonhosted.org/packages/d1/fe/66d73b76d378ba8cc2fe605920c0c75092e3a65ae746e1e767d9d020a75a/scipy-1.17.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9eeb9b5f5997f75507814ed9d298ab23f62cf79f5a3ef90031b1ee2506abdb5b", size = 35009148 }, + { url = "https://files.pythonhosted.org/packages/af/07/07dec27d9dc41c18d8c43c69e9e413431d20c53a0339c388bcf72f353c4b/scipy-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:40052543f7bbe921df4408f46003d6f01c6af109b9e2c8a66dd1cf6cf57f7d5d", size = 34798766 }, + { url = "https://files.pythonhosted.org/packages/81/61/0470810c8a093cdacd4ba7504b8a218fd49ca070d79eca23a615f5d9a0b0/scipy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0cf46c8013fec9d3694dc572f0b54100c28405d55d3e2cb15e2895b25057996e", size = 37405953 }, + { url = "https://files.pythonhosted.org/packages/92/ce/672ed546f96d5d41ae78c4b9b02006cedd0b3d6f2bf5bb76ea455c320c28/scipy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:0937a0b0d8d593a198cededd4c439a0ea216a3f36653901ea1f3e4be949056f8", size = 36328121 }, + { url = "https://files.pythonhosted.org/packages/9d/21/38165845392cae67b61843a52c6455d47d0cc2a40dd495c89f4362944654/scipy-1.17.0-cp312-cp312-win_arm64.whl", hash = "sha256:f603d8a5518c7426414d1d8f82e253e454471de682ce5e39c29adb0df1efb86b", size = 24314368 }, + { url = "https://files.pythonhosted.org/packages/0c/51/3468fdfd49387ddefee1636f5cf6d03ce603b75205bf439bbf0e62069bfd/scipy-1.17.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:65ec32f3d32dfc48c72df4291345dae4f048749bc8d5203ee0a3f347f96c5ce6", size = 31344101 }, + { url = "https://files.pythonhosted.org/packages/b2/9a/9406aec58268d437636069419e6977af953d1e246df941d42d3720b7277b/scipy-1.17.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:1f9586a58039d7229ce77b52f8472c972448cded5736eaf102d5658bbac4c269", size = 27950385 }, + { url = "https://files.pythonhosted.org/packages/4f/98/e7342709e17afdfd1b26b56ae499ef4939b45a23a00e471dfb5375eea205/scipy-1.17.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:9fad7d3578c877d606b1150135c2639e9de9cecd3705caa37b66862977cc3e72", size = 20122115 }, + { url = "https://files.pythonhosted.org/packages/fd/0e/9eeeb5357a64fd157cbe0302c213517c541cc16b8486d82de251f3c68ede/scipy-1.17.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:423ca1f6584fc03936972b5f7c06961670dbba9f234e71676a7c7ccf938a0d61", size = 22442402 }, + { url = "https://files.pythonhosted.org/packages/c9/10/be13397a0e434f98e0c79552b2b584ae5bb1c8b2be95db421533bbca5369/scipy-1.17.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe508b5690e9eaaa9467fc047f833af58f1152ae51a0d0aed67aa5801f4dd7d6", size = 32696338 }, + { url = "https://files.pythonhosted.org/packages/63/1e/12fbf2a3bb240161651c94bb5cdd0eae5d4e8cc6eaeceb74ab07b12a753d/scipy-1.17.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6680f2dfd4f6182e7d6db161344537da644d1cf85cf293f015c60a17ecf08752", size = 34977201 }, + { url = "https://files.pythonhosted.org/packages/19/5b/1a63923e23ccd20bd32156d7dd708af5bbde410daa993aa2500c847ab2d2/scipy-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eec3842ec9ac9de5917899b277428886042a93db0b227ebbe3a333b64ec7643d", size = 34777384 }, + { url = "https://files.pythonhosted.org/packages/39/22/b5da95d74edcf81e540e467202a988c50fef41bd2011f46e05f72ba07df6/scipy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d7425fcafbc09a03731e1bc05581f5fad988e48c6a861f441b7ab729a49a55ea", size = 37379586 }, + { url = "https://files.pythonhosted.org/packages/b9/b6/8ac583d6da79e7b9e520579f03007cb006f063642afd6b2eeb16b890bf93/scipy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:87b411e42b425b84777718cc41516b8a7e0795abfa8e8e1d573bf0ef014f0812", size = 36287211 }, + { url = "https://files.pythonhosted.org/packages/55/fb/7db19e0b3e52f882b420417644ec81dd57eeef1bd1705b6f689d8ff93541/scipy-1.17.0-cp313-cp313-win_arm64.whl", hash = "sha256:357ca001c6e37601066092e7c89cca2f1ce74e2a520ca78d063a6d2201101df2", size = 24312646 }, + { url = "https://files.pythonhosted.org/packages/20/b6/7feaa252c21cc7aff335c6c55e1b90ab3e3306da3f048109b8b639b94648/scipy-1.17.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:ec0827aa4d36cb79ff1b81de898e948a51ac0b9b1c43e4a372c0508c38c0f9a3", size = 31693194 }, + { url = "https://files.pythonhosted.org/packages/76/bb/bbb392005abce039fb7e672cb78ac7d158700e826b0515cab6b5b60c26fb/scipy-1.17.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:819fc26862b4b3c73a60d486dbb919202f3d6d98c87cf20c223511429f2d1a97", size = 28365415 }, + { url = "https://files.pythonhosted.org/packages/37/da/9d33196ecc99fba16a409c691ed464a3a283ac454a34a13a3a57c0d66f3a/scipy-1.17.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:363ad4ae2853d88ebcde3ae6ec46ccca903ea9835ee8ba543f12f575e7b07e4e", size = 20537232 }, + { url = "https://files.pythonhosted.org/packages/56/9d/f4b184f6ddb28e9a5caea36a6f98e8ecd2a524f9127354087ce780885d83/scipy-1.17.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:979c3a0ff8e5ba254d45d59ebd38cde48fce4f10b5125c680c7a4bfe177aab07", size = 22791051 }, + { url = "https://files.pythonhosted.org/packages/9b/9d/025cccdd738a72140efc582b1641d0dd4caf2e86c3fb127568dc80444e6e/scipy-1.17.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:130d12926ae34399d157de777472bf82e9061c60cc081372b3118edacafe1d00", size = 32815098 }, + { url = "https://files.pythonhosted.org/packages/48/5f/09b879619f8bca15ce392bfc1894bd9c54377e01d1b3f2f3b595a1b4d945/scipy-1.17.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e886000eb4919eae3a44f035e63f0fd8b651234117e8f6f29bad1cd26e7bc45", size = 35031342 }, + { url = "https://files.pythonhosted.org/packages/f2/9a/f0f0a9f0aa079d2f106555b984ff0fbb11a837df280f04f71f056ea9c6e4/scipy-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:13c4096ac6bc31d706018f06a49abe0485f96499deb82066b94d19b02f664209", size = 34893199 }, + { url = "https://files.pythonhosted.org/packages/90/b8/4f0f5cf0c5ea4d7548424e6533e6b17d164f34a6e2fb2e43ffebb6697b06/scipy-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cacbaddd91fcffde703934897c5cd2c7cb0371fac195d383f4e1f1c5d3f3bd04", size = 37438061 }, + { url = "https://files.pythonhosted.org/packages/f9/cc/2bd59140ed3b2fa2882fb15da0a9cb1b5a6443d67cfd0d98d4cec83a57ec/scipy-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:edce1a1cf66298cccdc48a1bdf8fb10a3bf58e8b58d6c3883dd1530e103f87c0", size = 36328593 }, + { url = "https://files.pythonhosted.org/packages/13/1b/c87cc44a0d2c7aaf0f003aef2904c3d097b422a96c7e7c07f5efd9073c1b/scipy-1.17.0-cp313-cp313t-win_arm64.whl", hash = "sha256:30509da9dbec1c2ed8f168b8d8aa853bc6723fede1dbc23c7d43a56f5ab72a67", size = 24625083 }, + { url = "https://files.pythonhosted.org/packages/1a/2d/51006cd369b8e7879e1c630999a19d1fbf6f8b5ed3e33374f29dc87e53b3/scipy-1.17.0-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:c17514d11b78be8f7e6331b983a65a7f5ca1fd037b95e27b280921fe5606286a", size = 31346803 }, + { url = "https://files.pythonhosted.org/packages/d6/2e/2349458c3ce445f53a6c93d4386b1c4c5c0c540917304c01222ff95ff317/scipy-1.17.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:4e00562e519c09da34c31685f6acc3aa384d4d50604db0f245c14e1b4488bfa2", size = 27967182 }, + { url = "https://files.pythonhosted.org/packages/5e/7c/df525fbfa77b878d1cfe625249529514dc02f4fd5f45f0f6295676a76528/scipy-1.17.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:f7df7941d71314e60a481e02d5ebcb3f0185b8d799c70d03d8258f6c80f3d467", size = 20139125 }, + { url = "https://files.pythonhosted.org/packages/33/11/fcf9d43a7ed1234d31765ec643b0515a85a30b58eddccc5d5a4d12b5f194/scipy-1.17.0-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:aabf057c632798832f071a8dde013c2e26284043934f53b00489f1773b33527e", size = 22443554 }, + { url = "https://files.pythonhosted.org/packages/80/5c/ea5d239cda2dd3d31399424967a24d556cf409fbea7b5b21412b0fd0a44f/scipy-1.17.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a38c3337e00be6fd8a95b4ed66b5d988bac4ec888fd922c2ea9fe5fb1603dd67", size = 32757834 }, + { url = "https://files.pythonhosted.org/packages/b8/7e/8c917cc573310e5dc91cbeead76f1b600d3fb17cf0969db02c9cf92e3cfa/scipy-1.17.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00fb5f8ec8398ad90215008d8b6009c9db9fa924fd4c7d6be307c6f945f9cd73", size = 34995775 }, + { url = "https://files.pythonhosted.org/packages/c5/43/176c0c3c07b3f7df324e7cdd933d3e2c4898ca202b090bd5ba122f9fe270/scipy-1.17.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f2a4942b0f5f7c23c7cd641a0ca1955e2ae83dedcff537e3a0259096635e186b", size = 34841240 }, + { url = "https://files.pythonhosted.org/packages/44/8c/d1f5f4b491160592e7f084d997de53a8e896a3ac01cd07e59f43ca222744/scipy-1.17.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:dbf133ced83889583156566d2bdf7a07ff89228fe0c0cb727f777de92092ec6b", size = 37394463 }, + { url = "https://files.pythonhosted.org/packages/9f/ec/42a6657f8d2d087e750e9a5dde0b481fd135657f09eaf1cf5688bb23c338/scipy-1.17.0-cp314-cp314-win_amd64.whl", hash = "sha256:3625c631a7acd7cfd929e4e31d2582cf00f42fcf06011f59281271746d77e061", size = 37053015 }, + { url = "https://files.pythonhosted.org/packages/27/58/6b89a6afd132787d89a362d443a7bddd511b8f41336a1ae47f9e4f000dc4/scipy-1.17.0-cp314-cp314-win_arm64.whl", hash = "sha256:9244608d27eafe02b20558523ba57f15c689357c85bdcfe920b1828750aa26eb", size = 24951312 }, + { url = "https://files.pythonhosted.org/packages/e9/01/f58916b9d9ae0112b86d7c3b10b9e685625ce6e8248df139d0fcb17f7397/scipy-1.17.0-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:2b531f57e09c946f56ad0b4a3b2abee778789097871fc541e267d2eca081cff1", size = 31706502 }, + { url = "https://files.pythonhosted.org/packages/59/8e/2912a87f94a7d1f8b38aabc0faf74b82d3b6c9e22be991c49979f0eceed8/scipy-1.17.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:13e861634a2c480bd237deb69333ac79ea1941b94568d4b0efa5db5e263d4fd1", size = 28380854 }, + { url = "https://files.pythonhosted.org/packages/bd/1c/874137a52dddab7d5d595c1887089a2125d27d0601fce8c0026a24a92a0b/scipy-1.17.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:eb2651271135154aa24f6481cbae5cc8af1f0dd46e6533fb7b56aa9727b6a232", size = 20552752 }, + { url = "https://files.pythonhosted.org/packages/3f/f0/7518d171cb735f6400f4576cf70f756d5b419a07fe1867da34e2c2c9c11b/scipy-1.17.0-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:c5e8647f60679790c2f5c76be17e2e9247dc6b98ad0d3b065861e082c56e078d", size = 22803972 }, + { url = "https://files.pythonhosted.org/packages/7c/74/3498563a2c619e8a3ebb4d75457486c249b19b5b04a30600dfd9af06bea5/scipy-1.17.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5fb10d17e649e1446410895639f3385fd2bf4c3c7dfc9bea937bddcbc3d7b9ba", size = 32829770 }, + { url = "https://files.pythonhosted.org/packages/48/d1/7b50cedd8c6c9d6f706b4b36fa8544d829c712a75e370f763b318e9638c1/scipy-1.17.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8547e7c57f932e7354a2319fab613981cde910631979f74c9b542bb167a8b9db", size = 35051093 }, + { url = "https://files.pythonhosted.org/packages/e2/82/a2d684dfddb87ba1b3ea325df7c3293496ee9accb3a19abe9429bce94755/scipy-1.17.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33af70d040e8af9d5e7a38b5ed3b772adddd281e3062ff23fec49e49681c38cf", size = 34909905 }, + { url = "https://files.pythonhosted.org/packages/ef/5e/e565bd73991d42023eb82bb99e51c5b3d9e2c588ca9d4b3e2cc1d3ca62a6/scipy-1.17.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb55bb97d00f8b7ab95cb64f873eb0bf54d9446264d9f3609130381233483f", size = 37457743 }, + { url = "https://files.pythonhosted.org/packages/58/a8/a66a75c3d8f1fb2b83f66007d6455a06a6f6cf5618c3dc35bc9b69dd096e/scipy-1.17.0-cp314-cp314t-win_amd64.whl", hash = "sha256:1ff269abf702f6c7e67a4b7aad981d42871a11b9dd83c58d2d2ea624efbd1088", size = 37098574 }, + { url = "https://files.pythonhosted.org/packages/56/a5/df8f46ef7da168f1bc52cd86e09a9de5c6f19cc1da04454d51b7d4f43408/scipy-1.17.0-cp314-cp314t-win_arm64.whl", hash = "sha256:031121914e295d9791319a1875444d55079885bbae5bdc9c5e0f2ee5f09d34ff", size = 25246266 }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +] + +[[package]] +name = "snowballstemmer" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/75/a7/9810d872919697c9d01295633f5d574fb416d47e535f258272ca1f01f447/snowballstemmer-3.0.1.tar.gz", hash = "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895", size = 105575 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274 }, +] + +[[package]] +name = "sphinx" +version = "7.4.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "alabaster", version = "0.7.16", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "babel", marker = "python_full_version < '3.10'" }, + { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, + { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "imagesize", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jinja2", marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "pygments", marker = "python_full_version < '3.10'" }, + { name = "requests", marker = "python_full_version < '3.10'" }, + { name = "snowballstemmer", marker = "python_full_version < '3.10'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version < '3.10'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version < '3.10'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version < '3.10'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version < '3.10'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version < '3.10'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version < '3.10'" }, + { name = "tomli", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/be/50e50cb4f2eff47df05673d361095cafd95521d2a22521b920c67a372dcb/sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe", size = 8067911 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/ef/153f6803c5d5f8917dbb7f7fcf6d34a871ede3296fa89c2c703f5f8a6c8e/sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239", size = 3401624 }, +] + +[[package]] +name = "sphinx" +version = "8.1.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "alabaster", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "babel", marker = "python_full_version == '3.10.*'" }, + { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" }, + { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "imagesize", marker = "python_full_version == '3.10.*'" }, + { name = "jinja2", marker = "python_full_version == '3.10.*'" }, + { name = "packaging", marker = "python_full_version == '3.10.*'" }, + { name = "pygments", marker = "python_full_version == '3.10.*'" }, + { name = "requests", marker = "python_full_version == '3.10.*'" }, + { name = "snowballstemmer", marker = "python_full_version == '3.10.*'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version == '3.10.*'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version == '3.10.*'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version == '3.10.*'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version == '3.10.*'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version == '3.10.*'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version == '3.10.*'" }, + { name = "tomli", marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/be0b61178fe2cdcb67e2a92fc9ebb488e3c51c4f74a36a7824c0adf23425/sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927", size = 8184611 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/60/1ddff83a56d33aaf6f10ec8ce84b4c007d9368b21008876fceda7e7381ef/sphinx-8.1.3-py3-none-any.whl", hash = "sha256:09719015511837b76bf6e03e42eb7595ac8c2e41eeb9c29c5b755c6b677992a2", size = 3487125 }, +] + +[[package]] +name = "sphinx" +version = "9.0.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "alabaster", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "babel", marker = "python_full_version == '3.11.*'" }, + { name = "colorama", marker = "python_full_version == '3.11.*' and sys_platform == 'win32'" }, + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "imagesize", marker = "python_full_version == '3.11.*'" }, + { name = "jinja2", marker = "python_full_version == '3.11.*'" }, + { name = "packaging", marker = "python_full_version == '3.11.*'" }, + { name = "pygments", marker = "python_full_version == '3.11.*'" }, + { name = "requests", marker = "python_full_version == '3.11.*'" }, + { name = "roman-numerals", marker = "python_full_version == '3.11.*'" }, + { name = "snowballstemmer", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version == '3.11.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/50/a8c6ccc36d5eacdfd7913ddccd15a9cee03ecafc5ee2bc40e1f168d85022/sphinx-9.0.4.tar.gz", hash = "sha256:594ef59d042972abbc581d8baa577404abe4e6c3b04ef61bd7fc2acbd51f3fa3", size = 8710502 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/3f/4bbd76424c393caead2e1eb89777f575dee5c8653e2d4b6afd7a564f5974/sphinx-9.0.4-py3-none-any.whl", hash = "sha256:5bebc595a5e943ea248b99c13814c1c5e10b3ece718976824ffa7959ff95fffb", size = 3917713 }, +] + +[[package]] +name = "sphinx" +version = "9.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", +] +dependencies = [ + { name = "alabaster", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "babel", marker = "python_full_version >= '3.12'" }, + { name = "colorama", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "imagesize", marker = "python_full_version >= '3.12'" }, + { name = "jinja2", marker = "python_full_version >= '3.12'" }, + { name = "packaging", marker = "python_full_version >= '3.12'" }, + { name = "pygments", marker = "python_full_version >= '3.12'" }, + { name = "requests", marker = "python_full_version >= '3.12'" }, + { name = "roman-numerals", marker = "python_full_version >= '3.12'" }, + { name = "snowballstemmer", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/bd/f08eb0f4eed5c83f1ba2a3bd18f7745a2b1525fad70660a1c00224ec468a/sphinx-9.1.0.tar.gz", hash = "sha256:7741722357dd75f8190766926071fed3bdc211c74dd2d7d4df5404da95930ddb", size = 8718324 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/f7/b1884cb3188ab181fc81fa00c266699dab600f927a964df02ec3d5d1916a/sphinx-9.1.0-py3-none-any.whl", hash = "sha256:c84fdd4e782504495fe4f2c0b3413d6c2bf388589bb352d439b2a3bb99991978", size = 3921742 }, +] + +[[package]] +name = "sphinx-rtd-theme" +version = "3.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-jquery" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/84/68/a1bfbf38c0f7bccc9b10bbf76b94606f64acb1552ae394f0b8285bfaea25/sphinx_rtd_theme-3.1.0.tar.gz", hash = "sha256:b44276f2c276e909239a4f6c955aa667aaafeb78597923b1c60babc76db78e4c", size = 7620915 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/c7/b5c8015d823bfda1a346adb2c634a2101d50bb75d421eb6dcb31acd25ebc/sphinx_rtd_theme-3.1.0-py2.py3-none-any.whl", hash = "sha256:1785824ae8e6632060490f67cf3a72d404a85d2d9fc26bce3619944de5682b89", size = 7655617 }, +] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", size = 20053 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5", size = 119300 }, +] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", size = 12967 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2", size = 82530 }, +] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9", size = 22617 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", size = 98705 }, +] + +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/f3/aa67467e051df70a6330fe7770894b3e4f09436dea6881ae0b4f3d87cad8/sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a", size = 122331 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/85/749bd22d1a68db7291c89e2ebca53f4306c3f205853cf31e9de279034c3c/sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae", size = 121104 }, +] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8", size = 5787 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", size = 5071 }, +] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", size = 17165 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb", size = 88743 }, +] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d", size = 16080 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072 }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, +] + +[[package]] +name = "tomli" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/30/31573e9457673ab10aa432461bee537ce6cef177667deca369efb79df071/tomli-2.4.0.tar.gz", hash = "sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c", size = 17477 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/d9/3dc2289e1f3b32eb19b9785b6a006b28ee99acb37d1d47f78d4c10e28bf8/tomli-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867", size = 153663 }, + { url = "https://files.pythonhosted.org/packages/51/32/ef9f6845e6b9ca392cd3f64f9ec185cc6f09f0a2df3db08cbe8809d1d435/tomli-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9", size = 148469 }, + { url = "https://files.pythonhosted.org/packages/d6/c2/506e44cce89a8b1b1e047d64bd495c22c9f71f21e05f380f1a950dd9c217/tomli-2.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95", size = 236039 }, + { url = "https://files.pythonhosted.org/packages/b3/40/e1b65986dbc861b7e986e8ec394598187fa8aee85b1650b01dd925ca0be8/tomli-2.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76", size = 243007 }, + { url = "https://files.pythonhosted.org/packages/9c/6f/6e39ce66b58a5b7ae572a0f4352ff40c71e8573633deda43f6a379d56b3e/tomli-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d", size = 240875 }, + { url = "https://files.pythonhosted.org/packages/aa/ad/cb089cb190487caa80204d503c7fd0f4d443f90b95cf4ef5cf5aa0f439b0/tomli-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576", size = 246271 }, + { url = "https://files.pythonhosted.org/packages/0b/63/69125220e47fd7a3a27fd0de0c6398c89432fec41bc739823bcc66506af6/tomli-2.4.0-cp311-cp311-win32.whl", hash = "sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a", size = 96770 }, + { url = "https://files.pythonhosted.org/packages/1e/0d/a22bb6c83f83386b0008425a6cd1fa1c14b5f3dd4bad05e98cf3dbbf4a64/tomli-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa", size = 107626 }, + { url = "https://files.pythonhosted.org/packages/2f/6d/77be674a3485e75cacbf2ddba2b146911477bd887dda9d8c9dfb2f15e871/tomli-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614", size = 94842 }, + { url = "https://files.pythonhosted.org/packages/3c/43/7389a1869f2f26dba52404e1ef13b4784b6b37dac93bac53457e3ff24ca3/tomli-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1", size = 154894 }, + { url = "https://files.pythonhosted.org/packages/e9/05/2f9bf110b5294132b2edf13fe6ca6ae456204f3d749f623307cbb7a946f2/tomli-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8", size = 149053 }, + { url = "https://files.pythonhosted.org/packages/e8/41/1eda3ca1abc6f6154a8db4d714a4d35c4ad90adc0bcf700657291593fbf3/tomli-2.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a", size = 243481 }, + { url = "https://files.pythonhosted.org/packages/d2/6d/02ff5ab6c8868b41e7d4b987ce2b5f6a51d3335a70aa144edd999e055a01/tomli-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1", size = 251720 }, + { url = "https://files.pythonhosted.org/packages/7b/57/0405c59a909c45d5b6f146107c6d997825aa87568b042042f7a9c0afed34/tomli-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b", size = 247014 }, + { url = "https://files.pythonhosted.org/packages/2c/0e/2e37568edd944b4165735687cbaf2fe3648129e440c26d02223672ee0630/tomli-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51", size = 251820 }, + { url = "https://files.pythonhosted.org/packages/5a/1c/ee3b707fdac82aeeb92d1a113f803cf6d0f37bdca0849cb489553e1f417a/tomli-2.4.0-cp312-cp312-win32.whl", hash = "sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729", size = 97712 }, + { url = "https://files.pythonhosted.org/packages/69/13/c07a9177d0b3bab7913299b9278845fc6eaaca14a02667c6be0b0a2270c8/tomli-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da", size = 108296 }, + { url = "https://files.pythonhosted.org/packages/18/27/e267a60bbeeee343bcc279bb9e8fbed0cbe224bc7b2a3dc2975f22809a09/tomli-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3", size = 94553 }, + { url = "https://files.pythonhosted.org/packages/34/91/7f65f9809f2936e1f4ce6268ae1903074563603b2a2bd969ebbda802744f/tomli-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84d081fbc252d1b6a982e1870660e7330fb8f90f676f6e78b052ad4e64714bf0", size = 154915 }, + { url = "https://files.pythonhosted.org/packages/20/aa/64dd73a5a849c2e8f216b755599c511badde80e91e9bc2271baa7b2cdbb1/tomli-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9a08144fa4cba33db5255f9b74f0b89888622109bd2776148f2597447f92a94e", size = 149038 }, + { url = "https://files.pythonhosted.org/packages/9e/8a/6d38870bd3d52c8d1505ce054469a73f73a0fe62c0eaf5dddf61447e32fa/tomli-2.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c73add4bb52a206fd0c0723432db123c0c75c280cbd67174dd9d2db228ebb1b4", size = 242245 }, + { url = "https://files.pythonhosted.org/packages/59/bb/8002fadefb64ab2669e5b977df3f5e444febea60e717e755b38bb7c41029/tomli-2.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fb2945cbe303b1419e2706e711b7113da57b7db31ee378d08712d678a34e51e", size = 250335 }, + { url = "https://files.pythonhosted.org/packages/a5/3d/4cdb6f791682b2ea916af2de96121b3cb1284d7c203d97d92d6003e91c8d/tomli-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bbb1b10aa643d973366dc2cb1ad94f99c1726a02343d43cbc011edbfac579e7c", size = 245962 }, + { url = "https://files.pythonhosted.org/packages/f2/4a/5f25789f9a460bd858ba9756ff52d0830d825b458e13f754952dd15fb7bb/tomli-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4cbcb367d44a1f0c2be408758b43e1ffb5308abe0ea222897d6bfc8e8281ef2f", size = 250396 }, + { url = "https://files.pythonhosted.org/packages/aa/2f/b73a36fea58dfa08e8b3a268750e6853a6aac2a349241a905ebd86f3047a/tomli-2.4.0-cp313-cp313-win32.whl", hash = "sha256:7d49c66a7d5e56ac959cb6fc583aff0651094ec071ba9ad43df785abc2320d86", size = 97530 }, + { url = "https://files.pythonhosted.org/packages/3b/af/ca18c134b5d75de7e8dc551c5234eaba2e8e951f6b30139599b53de9c187/tomli-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:3cf226acb51d8f1c394c1b310e0e0e61fecdd7adcb78d01e294ac297dd2e7f87", size = 108227 }, + { url = "https://files.pythonhosted.org/packages/22/c3/b386b832f209fee8073c8138ec50f27b4460db2fdae9ffe022df89a57f9b/tomli-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:d20b797a5c1ad80c516e41bc1fb0443ddb5006e9aaa7bda2d71978346aeb9132", size = 94748 }, + { url = "https://files.pythonhosted.org/packages/f3/c4/84047a97eb1004418bc10bdbcfebda209fca6338002eba2dc27cc6d13563/tomli-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:26ab906a1eb794cd4e103691daa23d95c6919cc2fa9160000ac02370cc9dd3f6", size = 154725 }, + { url = "https://files.pythonhosted.org/packages/a8/5d/d39038e646060b9d76274078cddf146ced86dc2b9e8bbf737ad5983609a0/tomli-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:20cedb4ee43278bc4f2fee6cb50daec836959aadaf948db5172e776dd3d993fc", size = 148901 }, + { url = "https://files.pythonhosted.org/packages/73/e5/383be1724cb30f4ce44983d249645684a48c435e1cd4f8b5cded8a816d3c/tomli-2.4.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:39b0b5d1b6dd03684b3fb276407ebed7090bbec989fa55838c98560c01113b66", size = 243375 }, + { url = "https://files.pythonhosted.org/packages/31/f0/bea80c17971c8d16d3cc109dc3585b0f2ce1036b5f4a8a183789023574f2/tomli-2.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a26d7ff68dfdb9f87a016ecfd1e1c2bacbe3108f4e0f8bcd2228ef9a766c787d", size = 250639 }, + { url = "https://files.pythonhosted.org/packages/2c/8f/2853c36abbb7608e3f945d8a74e32ed3a74ee3a1f468f1ffc7d1cb3abba6/tomli-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:20ffd184fb1df76a66e34bd1b36b4a4641bd2b82954befa32fe8163e79f1a702", size = 246897 }, + { url = "https://files.pythonhosted.org/packages/49/f0/6c05e3196ed5337b9fe7ea003e95fd3819a840b7a0f2bf5a408ef1dad8ed/tomli-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:75c2f8bbddf170e8effc98f5e9084a8751f8174ea6ccf4fca5398436e0320bc8", size = 254697 }, + { url = "https://files.pythonhosted.org/packages/f3/f5/2922ef29c9f2951883525def7429967fc4d8208494e5ab524234f06b688b/tomli-2.4.0-cp314-cp314-win32.whl", hash = "sha256:31d556d079d72db7c584c0627ff3a24c5d3fb4f730221d3444f3efb1b2514776", size = 98567 }, + { url = "https://files.pythonhosted.org/packages/7b/31/22b52e2e06dd2a5fdbc3ee73226d763b184ff21fc24e20316a44ccc4d96b/tomli-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:43e685b9b2341681907759cf3a04e14d7104b3580f808cfde1dfdb60ada85475", size = 108556 }, + { url = "https://files.pythonhosted.org/packages/48/3d/5058dff3255a3d01b705413f64f4306a141a8fd7a251e5a495e3f192a998/tomli-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:3d895d56bd3f82ddd6faaff993c275efc2ff38e52322ea264122d72729dca2b2", size = 96014 }, + { url = "https://files.pythonhosted.org/packages/b8/4e/75dab8586e268424202d3a1997ef6014919c941b50642a1682df43204c22/tomli-2.4.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5b5807f3999fb66776dbce568cc9a828544244a8eb84b84b9bafc080c99597b9", size = 163339 }, + { url = "https://files.pythonhosted.org/packages/06/e3/b904d9ab1016829a776d97f163f183a48be6a4deb87304d1e0116a349519/tomli-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c084ad935abe686bd9c898e62a02a19abfc9760b5a79bc29644463eaf2840cb0", size = 159490 }, + { url = "https://files.pythonhosted.org/packages/e3/5a/fc3622c8b1ad823e8ea98a35e3c632ee316d48f66f80f9708ceb4f2a0322/tomli-2.4.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f2e3955efea4d1cfbcb87bc321e00dc08d2bcb737fd1d5e398af111d86db5df", size = 269398 }, + { url = "https://files.pythonhosted.org/packages/fd/33/62bd6152c8bdd4c305ad9faca48f51d3acb2df1f8791b1477d46ff86e7f8/tomli-2.4.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e0fe8a0b8312acf3a88077a0802565cb09ee34107813bba1c7cd591fa6cfc8d", size = 276515 }, + { url = "https://files.pythonhosted.org/packages/4b/ff/ae53619499f5235ee4211e62a8d7982ba9e439a0fb4f2f351a93d67c1dd2/tomli-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:413540dce94673591859c4c6f794dfeaa845e98bf35d72ed59636f869ef9f86f", size = 273806 }, + { url = "https://files.pythonhosted.org/packages/47/71/cbca7787fa68d4d0a9f7072821980b39fbb1b6faeb5f5cf02f4a5559fa28/tomli-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0dc56fef0e2c1c470aeac5b6ca8cc7b640bb93e92d9803ddaf9ea03e198f5b0b", size = 281340 }, + { url = "https://files.pythonhosted.org/packages/f5/00/d595c120963ad42474cf6ee7771ad0d0e8a49d0f01e29576ee9195d9ecdf/tomli-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:d878f2a6707cc9d53a1be1414bbb419e629c3d6e67f69230217bb663e76b5087", size = 108106 }, + { url = "https://files.pythonhosted.org/packages/de/69/9aa0c6a505c2f80e519b43764f8b4ba93b5a0bbd2d9a9de6e2b24271b9a5/tomli-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2add28aacc7425117ff6364fe9e06a183bb0251b03f986df0e78e974047571fd", size = 120504 }, + { url = "https://files.pythonhosted.org/packages/b3/9f/f1668c281c58cfae01482f7114a4b88d345e4c140386241a1a24dcc9e7bc/tomli-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:2b1e3b80e1d5e52e40e9b924ec43d81570f0e7d09d11081b797bc4692765a3d4", size = 99561 }, + { url = "https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl", hash = "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size = 14477 }, +] + +[[package]] +name = "tornado" +version = "6.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/37/1d/0a336abf618272d53f62ebe274f712e213f5a03c0b2339575430b8362ef2/tornado-6.5.4.tar.gz", hash = "sha256:a22fa9047405d03260b483980635f0b041989d8bcc9a313f8fe18b411d84b1d7", size = 513632 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/a9/e94a9d5224107d7ce3cc1fab8d5dc97f5ea351ccc6322ee4fb661da94e35/tornado-6.5.4-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d6241c1a16b1c9e4cc28148b1cda97dd1c6cb4fb7068ac1bedc610768dff0ba9", size = 443909 }, + { url = "https://files.pythonhosted.org/packages/db/7e/f7b8d8c4453f305a51f80dbb49014257bb7d28ccb4bbb8dd328ea995ecad/tornado-6.5.4-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2d50f63dda1d2cac3ae1fa23d254e16b5e38153758470e9956cbc3d813d40843", size = 442163 }, + { url = "https://files.pythonhosted.org/packages/ba/b5/206f82d51e1bfa940ba366a8d2f83904b15942c45a78dd978b599870ab44/tornado-6.5.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1cf66105dc6acb5af613c054955b8137e34a03698aa53272dbda4afe252be17", size = 445746 }, + { url = "https://files.pythonhosted.org/packages/8e/9d/1a3338e0bd30ada6ad4356c13a0a6c35fbc859063fa7eddb309183364ac1/tornado-6.5.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50ff0a58b0dc97939d29da29cd624da010e7f804746621c78d14b80238669335", size = 445083 }, + { url = "https://files.pythonhosted.org/packages/50/d4/e51d52047e7eb9a582da59f32125d17c0482d065afd5d3bc435ff2120dc5/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5fb5e04efa54cf0baabdd10061eb4148e0be137166146fff835745f59ab9f7f", size = 445315 }, + { url = "https://files.pythonhosted.org/packages/27/07/2273972f69ca63dbc139694a3fc4684edec3ea3f9efabf77ed32483b875c/tornado-6.5.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9c86b1643b33a4cd415f8d0fe53045f913bf07b4a3ef646b735a6a86047dda84", size = 446003 }, + { url = "https://files.pythonhosted.org/packages/d1/83/41c52e47502bf7260044413b6770d1a48dda2f0246f95ee1384a3cd9c44a/tornado-6.5.4-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:6eb82872335a53dd063a4f10917b3efd28270b56a33db69009606a0312660a6f", size = 445412 }, + { url = "https://files.pythonhosted.org/packages/10/c7/bc96917f06cbee182d44735d4ecde9c432e25b84f4c2086143013e7b9e52/tornado-6.5.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6076d5dda368c9328ff41ab5d9dd3608e695e8225d1cd0fd1e006f05da3635a8", size = 445392 }, + { url = "https://files.pythonhosted.org/packages/0c/1a/d7592328d037d36f2d2462f4bc1fbb383eec9278bc786c1b111cbbd44cfa/tornado-6.5.4-cp39-abi3-win32.whl", hash = "sha256:1768110f2411d5cd281bac0a090f707223ce77fd110424361092859e089b38d1", size = 446481 }, + { url = "https://files.pythonhosted.org/packages/d6/6d/c69be695a0a64fd37a97db12355a035a6d90f79067a3cf936ec2b1dc38cd/tornado-6.5.4-cp39-abi3-win_amd64.whl", hash = "sha256:fa07d31e0cd85c60713f2b995da613588aa03e1303d75705dca6af8babc18ddc", size = 446886 }, + { url = "https://files.pythonhosted.org/packages/50/49/8dc3fd90902f70084bd2cd059d576ddb4f8bb44c2c7c0e33a11422acb17e/tornado-6.5.4-cp39-abi3-win_arm64.whl", hash = "sha256:053e6e16701eb6cbe641f308f4c1a9541f91b6261991160391bfc342e8a551a1", size = 445910 }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614 }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584 }, +] + +[[package]] +name = "wcwidth" +version = "0.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz", hash = "sha256:cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159", size = 159684 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl", hash = "sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad", size = 94189 }, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/f4/c67440c7fb409a71b7404b7aefcd7569a9c0d6bd071299bf4198ae7a5d95/widgetsnbextension-4.0.15.tar.gz", hash = "sha256:de8610639996f1567952d763a5a41af8af37f2575a41f9852a38f947eb82a3b9", size = 1097402 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl", hash = "sha256:8156704e4346a571d9ce73b84bee86a29906c9abfd7223b7228a28899ccf3366", size = 2196503 }, +] + +[[package]] +name = "zipp" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276 }, +] From 4db1c2cff53bf7d09497a08d5709bcf37ba84cc9 Mon Sep 17 00:00:00 2001 From: Ryan Pepper Date: Sun, 8 Feb 2026 14:33:22 +0000 Subject: [PATCH 5/7] Add missing CMakeLists.txt and fix .gitignore --- .gitignore | 1 + CMakeLists.txt | 260 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 261 insertions(+) create mode 100644 CMakeLists.txt diff --git a/.gitignore b/.gitignore index a0dab47c..c40d1a7a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.txt +!CMakeLists.txt *.pyc *.ndt *.gch diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..d6ea842f --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,260 @@ +cmake_minimum_required(VERSION 3.18...3.28) +project(fidimag LANGUAGES C) + +# Policy settings for modern CMake +if(POLICY CMP0167) + cmake_policy(SET CMP0167 NEW) # FindBoost compatibility +endif() + +# ============================================================================= +# Build Configuration +# ============================================================================= + +# Default to Release build for optimization +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo") +endif() + +message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") + +# C/C++ standards +set(CMAKE_C_STANDARD 99) +set(CMAKE_C_STANDARD_REQUIRED ON) + +# Position independent code (required for Python extensions) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +# ============================================================================= +# Add local library paths (for SUNDIALS/FFTW in ./local/) +# ============================================================================= + +list(APPEND CMAKE_PREFIX_PATH + "${PROJECT_SOURCE_DIR}/local" + "${PROJECT_SOURCE_DIR}/local/lib/cmake" + "${PROJECT_SOURCE_DIR}/local/lib64/cmake" +) + +# Also add to module path for custom Find modules +list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + +message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}") + +# ============================================================================= +# Find Dependencies +# ============================================================================= + +# Python, NumPy, and Cython +find_package(Python REQUIRED COMPONENTS Interpreter Development.Module NumPy) +message(STATUS "Python: ${Python_VERSION} (${Python_EXECUTABLE})") +message(STATUS "NumPy include: ${Python_NumPy_INCLUDE_DIRS}") + +# Cython +find_program(CYTHON_EXECUTABLE NAMES cython cython3 REQUIRED) +message(STATUS "Cython: ${CYTHON_EXECUTABLE}") + +# OpenMP (required for parallel computation) +find_package(OpenMP REQUIRED COMPONENTS C) +message(STATUS "OpenMP found: C ${OpenMP_C_FLAGS}") + +# BLAS and LAPACK (linear algebra) +find_package(BLAS REQUIRED) +find_package(LAPACK REQUIRED) +message(STATUS "BLAS: ${BLAS_LIBRARIES}") +message(STATUS "LAPACK: ${LAPACK_LIBRARIES}") + +# FFTW3 (Fast Fourier Transform) +# Look for both regular and OpenMP versions +find_library(FFTW3_LIBRARY NAMES fftw3 REQUIRED + HINTS ${PROJECT_SOURCE_DIR}/local/lib ${PROJECT_SOURCE_DIR}/local/lib64 + DOC "FFTW3 library" +) +find_library(FFTW3_OMP_LIBRARY NAMES fftw3_omp REQUIRED + HINTS ${PROJECT_SOURCE_DIR}/local/lib ${PROJECT_SOURCE_DIR}/local/lib64 + DOC "FFTW3 OpenMP library" +) +find_path(FFTW3_INCLUDE_DIR fftw3.h + HINTS ${PROJECT_SOURCE_DIR}/local/include $ENV{FFTW_INC} + DOC "FFTW3 include directory" +) +message(STATUS "FFTW3: ${FFTW3_LIBRARY}") +message(STATUS "FFTW3 OpenMP: ${FFTW3_OMP_LIBRARY}") +message(STATUS "FFTW3 include: ${FFTW3_INCLUDE_DIR}") + +# SUNDIALS (ODE/DAE solver) - Custom find module +find_package(SUNDIALS 7.6 REQUIRED COMPONENTS cvodes nvecserial nvecopenmp) +message(STATUS "SUNDIALS ${SUNDIALS_VERSION} found") +message(STATUS " Include: ${SUNDIALS_INCLUDE_DIRS}") +message(STATUS " Libraries: ${SUNDIALS_LIBRARIES}") + +# ============================================================================= +# Common Compiler Flags +# ============================================================================= + +# C compiler flags +set(C_COMPILE_FLAGS + -O3 + -Wall + -Wno-cpp + -Wno-unused-function +) + +# Common libraries for all extensions +set(COMMON_LIBRARIES + m # Math library + ${FFTW3_OMP_LIBRARY} + ${FFTW3_LIBRARY} + ${SUNDIALS_LIBRARIES} + ${BLAS_LIBRARIES} + ${LAPACK_LIBRARIES} + OpenMP::OpenMP_C +) + +# Common include directories +set(COMMON_INCLUDES + ${Python_INCLUDE_DIRS} + ${Python_NumPy_INCLUDE_DIRS} + ${PROJECT_SOURCE_DIR}/local/include + ${FFTW3_INCLUDE_DIR} + ${SUNDIALS_INCLUDE_DIRS} +) + +# Add environment variable paths if set +if(DEFINED ENV{SUNDIALS_INC}) + list(APPEND COMMON_INCLUDES $ENV{SUNDIALS_INC}) + message(STATUS "Added SUNDIALS_INC: $ENV{SUNDIALS_INC}") +endif() + +if(DEFINED ENV{FFTW_INC}) + list(APPEND COMMON_INCLUDES $ENV{FFTW_INC}) + message(STATUS "Added FFTW_INC: $ENV{FFTW_INC}") +endif() + +# ============================================================================= +# Helper Function: Create Cython Extension +# ============================================================================= + +function(add_fidimag_extension MODULE_NAME SOURCE_FILE) + # Get the module name without "fidimag.extensions." prefix for target name + string(REPLACE "." "_" TARGET_NAME ${MODULE_NAME}) + + # Determine output paths + get_filename_component(SOURCE_DIR ${SOURCE_FILE} DIRECTORY) + get_filename_component(SOURCE_NAME ${SOURCE_FILE} NAME_WE) + + # Cython output file (always C) + set(CYTHON_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_DIR}/${SOURCE_NAME}.c") + + # Find additional C/C++ source files in the same directory + file(GLOB EXTRA_SOURCES + "${PROJECT_SOURCE_DIR}/fidimag/${SOURCE_DIR}/*.c" + "${PROJECT_SOURCE_DIR}/fidimag/${SOURCE_DIR}/*.cpp" + ) + + # Remove the cythonized output if it's in the source dir + list(FILTER EXTRA_SOURCES EXCLUDE REGEX ".*${SOURCE_NAME}\\.c$") + list(FILTER EXTRA_SOURCES EXCLUDE REGEX ".*${SOURCE_NAME}\\.cpp$") + + message(STATUS "Extension ${MODULE_NAME}:") + message(STATUS " Source: ${SOURCE_FILE}") + message(STATUS " Cython output: ${CYTHON_OUTPUT}") + message(STATUS " Extra sources: ${EXTRA_SOURCES}") + message(STATUS " Language: C") + + # Ensure output directory exists + get_filename_component(CYTHON_OUTPUT_DIR ${CYTHON_OUTPUT} DIRECTORY) + file(MAKE_DIRECTORY ${CYTHON_OUTPUT_DIR}) + + # Cythonize the .pyx file + add_custom_command( + OUTPUT ${CYTHON_OUTPUT} + COMMAND ${CYTHON_EXECUTABLE} + -3 # Python 3 + --directive linetrace=True + --directive language_level=3 + -o ${CYTHON_OUTPUT} + ${PROJECT_SOURCE_DIR}/fidimag/${SOURCE_FILE} + DEPENDS ${PROJECT_SOURCE_DIR}/fidimag/${SOURCE_FILE} + COMMENT "Cythonizing ${SOURCE_FILE}" + ) + + set_source_files_properties(${CYTHON_OUTPUT} PROPERTIES LANGUAGE C) + set_source_files_properties(${EXTRA_SOURCES} PROPERTIES LANGUAGE C) + + # Create the Python extension module + Python_add_library(${TARGET_NAME} MODULE + ${CYTHON_OUTPUT} + ${EXTRA_SOURCES} + WITH_SOABI + ) + + # Set target properties + set_target_properties(${TARGET_NAME} PROPERTIES + OUTPUT_NAME ${SOURCE_NAME} + PREFIX "" # No lib prefix + LINKER_LANGUAGE C + ) + + # Include directories + target_include_directories(${TARGET_NAME} PRIVATE + ${COMMON_INCLUDES} + ${PROJECT_SOURCE_DIR}/fidimag/${SOURCE_DIR} + ) + + # Compiler flags + target_compile_options(${TARGET_NAME} PRIVATE ${C_COMPILE_FLAGS}) + + # Link libraries + target_link_libraries(${TARGET_NAME} PRIVATE ${COMMON_LIBRARIES}) + + # RPATH for finding local libraries at runtime + set_target_properties(${TARGET_NAME} PROPERTIES + INSTALL_RPATH "${PROJECT_SOURCE_DIR}/local/lib;${PROJECT_SOURCE_DIR}/local/lib64" + BUILD_RPATH "${PROJECT_SOURCE_DIR}/local/lib;${PROJECT_SOURCE_DIR}/local/lib64" + ) + + # Install the extension to the proper location in the fidimag package + # Extract the Python module path from MODULE_NAME + string(REPLACE "." "/" MODULE_PATH ${MODULE_NAME}) + get_filename_component(INSTALL_DIR ${MODULE_PATH} DIRECTORY) + + install(TARGETS ${TARGET_NAME} + LIBRARY DESTINATION ${INSTALL_DIR} + COMPONENT python + ) +endfunction() + +# ============================================================================= +# Define All Cython Extensions +# ============================================================================= + +# Atomistic extensions +add_fidimag_extension("fidimag.extensions.clib" "atomistic/lib/clib.pyx") + +# Micromagnetic extensions +add_fidimag_extension("fidimag.extensions.micro_clib" "micro/lib/micro_clib.pyx") +add_fidimag_extension("fidimag.extensions.baryakhtar_clib" "micro/lib/baryakhtar/baryakhtar_clib.pyx") + +# Common extensions +add_fidimag_extension("fidimag.extensions.common_clib" "common/lib/common_clib.pyx") +add_fidimag_extension("fidimag.extensions.cvode" "common/sundials/cvode.pyx") +add_fidimag_extension("fidimag.extensions.dipolar" "common/dipolar/dipolar.pyx") +add_fidimag_extension("fidimag.extensions.nebm_clib" "common/neb_method/nebm_clib.pyx") + +# ============================================================================= +# Print Configuration Summary +# ============================================================================= + +message(STATUS "") +message(STATUS "========================================") +message(STATUS "fidimag Build Configuration Summary") +message(STATUS "========================================") +message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") +message(STATUS "C compiler: ${CMAKE_C_COMPILER}") +message(STATUS "Python: ${Python_VERSION}") +message(STATUS "NumPy: ${Python_NumPy_VERSION}") +message(STATUS "SUNDIALS: ${SUNDIALS_VERSION}") +message(STATUS "OpenMP: Enabled") +message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "========================================") +message(STATUS "") From 361bf042d370fd2cb9bd97d4b203b6407947da64 Mon Sep 17 00:00:00 2001 From: Ryan Pepper Date: Sun, 8 Feb 2026 14:38:30 +0000 Subject: [PATCH 6/7] Remove setup.py --- setup.py | 127 ------------------------------------------------------- 1 file changed, 127 deletions(-) delete mode 100644 setup.py diff --git a/setup.py b/setup.py deleted file mode 100644 index dbf0421a..00000000 --- a/setup.py +++ /dev/null @@ -1,127 +0,0 @@ -from setuptools import setup -from setuptools import Extension -import multiprocessing -from Cython.Build import cythonize -import numpy -import os -import glob -import re -from pathlib import Path - -sYellow = "\x1b[33;49m" -sBlue = "\x1b[34;49m" -sRed = "\x1b[31;49m" -sReset = "\x1b[0m" - - -ABS_MODULE_DIR = Path(__file__).parent # This should be the abs path -MODULE_DIR = Path('.') # This should be the rel path (setup.py requires rel paths for pip -e) -print(MODULE_DIR) -INCLUDE_DIR = ABS_MODULE_DIR / 'local/include' -# Use absolute paths for the sundials/fftw libs: -LIB_DIR = ABS_MODULE_DIR / 'local/lib' -LIB_DIR64 = ABS_MODULE_DIR / 'local/lib64' - -# rpath: run-time search path for the sundials (cvode) and fftw library objects -com_link = ['-Wl,-rpath,{},-rpath,{}'.format(str(LIB_DIR), str(LIB_DIR64)), '-fopenmp'] -lib_paths = [str(LIB_DIR), str(LIB_DIR64)] -com_libs = ['m', 'fftw3_omp', 'fftw3', 'sundials_core', 'sundials_cvodes', 'sundials_nvecserial', 'sundials_nvecopenmp', 'blas', 'lapack'] -com_args = ['-O3', '-Wno-cpp', '-Wno-unused-function', '-Wall', '-std=c99', '-fopenmp'] -com_args_cpp = ['-O3', '-Wno-unused-function', '-Wall', '-std=c++14', '-fopenmp'] - -# Find all .pyx files with extensions (source files) -> relative paths -ROOT_DIR = MODULE_DIR / 'fidimag' -source_files = [s for s in ROOT_DIR.rglob('*.pyx')] # Paths - -# User extensions are located in the "user" namespace within "extensions" -ext_names = [] -for s in source_files: - if 'user' in str(s): - ext_names.append("fidimag.extensions.user." + s.stem) - else: - ext_names.append("fidimag.extensions." + s.stem) - -com_inc = [numpy.get_include(), str(INCLUDE_DIR)] - -if 'SUNDIALS_INC' in os.environ: - com_inc.append(os.environ['SUNDIALS_INC']) - -if 'FFTW_INC' in os.environ: - com_inc.append(os.environ['FFTW_INC']) - -ext_modules = [] -for i, (module, src) in enumerate(zip(ext_names, source_files)): - print(sYellow + f"Compiling module {module}" + sReset) - - if 'fmmlib' in module: - continue - - # "python -m build ..." can use absolute paths - # srcFiles = [str(sF.resolve()) for sF in src.parent.glob('*') # resolve -> absolute paths - # if sF.is_file() - # and sF != src.with_suffix('.c') - # and str(sF).endswith(('.c', '.cpp')) - # ] - - # src is a Path - srcFiles = [str(sF) for sF in src.parent.glob('*') - if sF.is_file() - and sF != src.with_suffix('.c') - and sF != src.with_suffix('.cpp') - and str(sF).endswith(('.c', '.cpp', '.pyx')) - ] - - - if 'fmm' in module: - print(sBlue + f'Using cpp for this module: {module}' + sReset) - com_args_compiler = com_args_cpp - lan = 'c++' - else: - com_args_compiler = com_args - lan = 'c' - - ext_modules.append(Extension(module, - sources=srcFiles, - include_dirs=com_inc, - libraries=com_libs, - library_dirs=lib_paths, - runtime_library_dirs=lib_paths, - extra_compile_args=com_args_compiler, - extra_link_args=com_link, - language=lan - ) - ) - - -if 'CC' in os.environ: - print("Using CC={}".format(os.environ['CC'])) -else: - os.environ["CC"] = "gcc" - print("Using CC={} (set by setup.py)".format(os.environ['CC'])) - - -def get_version(): - with open('fidimag/__init__.py') as f: - for line in f: - m = re.match(r'''__version__\s*=\s*(['"])(.+)\1''', line.strip()) - if m: - return m.group(2) - raise Exception("Couldn't find __version__ in %s" % pkg_init_path) - - -nthreads = 0 # Disabled parallel compilation due to Python 3.14 multiprocessing issues (0 = no multiprocessing) -print(sYellow + f'Building with {nthreads} threads' + sReset) -setup( - name='fidimag', - version=get_version(), - packages=['fidimag', - 'fidimag.atomistic', - 'fidimag.micro', - 'fidimag.extensions', - 'fidimag.common', - ], - ext_modules=cythonize(ext_modules, - nthreads=nthreads, - compiler_directives={'linetrace': True, 'language_level' : "3"} - ), -) From 375612c2b00fe5f06fb90513c0ffcccacc76a15c Mon Sep 17 00:00:00 2001 From: Ryan Pepper Date: Sun, 8 Feb 2026 14:39:14 +0000 Subject: [PATCH 7/7] remove old .travis.yml config --- .travis.yml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6c0175f6..00000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -sudo: required - -dist: trusty -group: deprecated-2017Q4 - -services: - - docker - -before_install: - - travis_wait 90 docker build -t fidimag -f ./docker/travis/Dockerfile . - - docker run -ti -d --name fidimag fidimag - -jobs: - include: - - stage: Tests - script: make test-docker - - stage: Notebooks - script: make ipynb-docker - -notifications: - email: - on_failure: always